计算机软件技术(专业论文)软件测试.doc
《计算机软件技术(专业论文)软件测试.doc》由会员分享,可在线阅读,更多相关《计算机软件技术(专业论文)软件测试.doc(23页珍藏版)》请在三一办公上搜索。
1、 计算机软件技术(专业论文)题 目: 软件测试 姓 名: XXXXX 学 号: XXXXXX 系 别: XXXXXX 班 级: XXXXX 指导教师:XXXXXXX 摘要:软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求,软件测试总的目的是确保软件的质量。前后要经过一下重要环节:需求分析测试计划测试设计测试环境搭建测试执行测试记录缺陷管理软件评估RTM.黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。白盒测试是通过程序的源代码进行测试而不使用用户界面。白盒测试时知道产品内部工作过程,可通过测试来检测产品内部动作是否按照
2、规格说明书的规定正常进行,按照程序内部的结构测试检测程序。灰盒测试,是介于白盒测试和黑盒测试二者之间的,灰盒测试关注输出对输入的正确性,同时也关注内部表现。关键字:测试 软件测试 测试方法 白盒测试 黑盒测试 Abstract:Software testing software development process is an important part of a procedure is used to confirm the quality or performance is in line with the proposed development before some of th
3、e requirements.The purpose of software testing is to ensure that the quality of software. Before and after to go through the following major componments:need analysistest plan design test the implementation of environmental structurestest recordsdefect managerment softwareassessmentRTM.Blank Box Tes
4、ting will be tested as its name suggests is the system as a black box from the outside world to enter,and then output.Baiheceshi through the programs source code for testing without the use of user interface.Baiheceshi Products are aware of the internal work processes,products pass the test to detec
5、t whether internal action in accordance with the provisions of the normal specification,in accordance with the internal structure of the testing procedures.Grey box testing,and Black Box Testing is Between Baiheceshi between the two,gray box test of concern for the importation of the correctness of
6、output,but also concerned about internal performance.Keywords: testing software testing testing methodwhite Box Testing Black Box Testing 目 录第1章 引 言51.1编写目的51.2相关背景5第2章 软件测试概念72.1软件测试定义72.2软件测试概述8第3章 软件测试的原则93.1测试基本原则(一)93.2 测试基本原则(二)10第4章 软件测试的内容114.1验证(verification)114.2 确认(validation)11第5章软件测试的分类
7、125.1 常用分类125.2 黑盒测试和白盒测试、125.3 静态测试175.4 动态测试17第6章 软件测试的过程226.1 软件测试的过程22参考资料23第1章 引 言1.1编写目的软件测试这门计算机专业的专业课, 作为计算机专业的一门很重要的课程, 在计算机领域占据着不可替代的角色, 随着人类社会的进步, 各种领域计算机的普及, 计算机软件也越来越多的出现在各个场合, 为人们的办公, 生活, 学习, 休闲等提供了前所未有的方便。因此, 当一个软件从雏形到真正的在一台计算机上运行的时候, 谁也不能保证计算机软件能一步到位的满足人们的需求。所以就有了软件测试, 其目的是:第一是确认软件的质
8、量, 其一方面是确认软件做了你所期望的事情(Do the right thing), 另一方面是确认软件以正确的方式来做了这个事件(Do it right)。作为计算机专业的学生, 我想以我自己的观点来阐述一下我对软件测试的理解。1.2相关背景前段时间, 就是在我没有认真了解测试行业之前, 可能由于测试在中国的重视程度的问题, 我也一直认为测试应该是不重要的, 甚至认为有必要有专门的测试职业吗?认为软件主要是开发人员的事, 软件的成果也是由开发人员决定的, 当我在参加工作后, 真正从学校的学习环境中走上实际运用开发的时候, 事实上真的不是那么一回事哦。软件无处不在, 然而, 软件是人编的所以不
9、完美。臭名昭著的软件测试案例:1、迪士尼的狮子王 (19941995)软件在少数系统中能正常工作, 但在大众使用的常见系统中不行。后来证实, 迪士尼公司没有对市场上投入实用的各种pc机型进行正确的测试。2、英特尔奔腾浮点除法软件缺陷(1994)英特尔为自己处理软件缺陷拿出4亿美元支付更换坏芯片的费用。导致付出如此昂贵的代价, 其主要原因是发现了软件缺陷没有正确的处理。3、美国航天局火星极地登陆(1999)该项目使用前有经过测试, 两个测试小组双方独立工作都很好, 但从未走在一起。4、爱国者导弹防御系统 (1991)一枚导弹在多哈击毙28名美国士兵, 症结在于一个软件缺陷:一个很小的系统时钟错误
10、累积起来就可能拖延14小时, 造成跟踪系统失去准确度。在多哈袭击战中系统被拖延100小时。5、千年虫 (大约1974)估计世界各地更换或升级该系统程序解决原有2000年错误的费用已经超过数亿美元。第2章 软件测试概念2.1软件测试定义(一) 软件测试的目的1软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 完全度(completeness)和质量(quality)的软件过程;是SQA(software quality
11、assurance)的重要子域。(1) 测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进; (2) 这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性; (3) 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。2软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了所期望的事情,另一方面是确认软件以正确的方式来做了这个事情。第一是提供信息,比如提供给开发人员或程序经理
12、的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。(1)软件质量是由几个方面来衡量的:j 在正确的时间用正确的方法把一个工作做正确。k 符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。l 质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。m 质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客
13、户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。只有这些问题都解决了,软件产品的质量才可以说是上去了。2.2软件测试概述测试是软件开发过程的重要组成部分, 是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的, 第一是确认软件的质量, 其一方面是确认软件做了你所期望的事情(Do the right thing), 另一方面是确认软件以正确的方式来做了这个事件(Do it right);第二是提供信息, 比如提供给开发人员或程序经理的反馈信息, 为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身, 而且还包括软件开
14、发的过程。如果一个软件产品开发完成之后发现了很多问题, 这说明此软件开发过程很可能是有缺陷。第3章 软件测试的原则3.1测试基本原则(一)在设计有效测试用例之前, 测试工程师必需理解软件测试的基本原则。这里有一组测试原则: 1所有的测试都应追溯到用户需求。正如我们所知:软件测试的目标在于揭示错误。而最严重的错误(从用户角度来看)是那些导致程序无法满足需求的错误。 2应该在测试工作真正开始前的较长时间内就进行测试计划。测试计划可以在需求模型一完成就开始, 详细的测试用例定义可以在设计模型被确定后立即开始。因此, 所有测试应该在任何代码被产生前就进行计划和设计。 3Pareto 原则应用于软件测试
15、。简单地讲, Pareto 原则暗示着测试发现的错误中的 80 很可能起源于程序模块中的 20 。当然, 问题在于如何孤立这些有疑点的模块并进行彻底的测试。 4测试应从 小规模 开始, 逐步转向 大规模 。最初的测试通常把焦点放在单个程序模块上, 进一步测试的焦点则转向在集成的模块簇中寻找错误, 最后在整个系统中寻找错误。 5穷举测试是不可能的。即使是一个大小适度的程序, 其路径排列的数量也非常大。因此, 在测试中不可能运行路径的每一种组合。然而, 充分覆盖程序逻辑, 并确保程序设计中使用的所有条件是有可能的。 6为了达到最佳效果, 应该由独立的第三方来构造测试。 最佳效果 指最有可能发现错误
16、的测试(测试的主要目标), 所以创建系统的软件工程师并不是构造软件测试的最佳人选。 7不充分的测试是不负责任的;过分的测试是一种资源的浪费, 同样也是一种不负责任的表现。3.2 测试基本原则(二)1应当把尽早和不断的测试作为开发者的座右铭。 2程序员应该避免检查自己的程序, 测试工作应该由独立的专业的软件测试机构来完成。 3设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件, 特殊情况下要制造极端状态和意外状态, 比如网络异常中断、电源断电等情况。 4一定要注意测试中的错误集中发生现象, 这和程序员的编程水平和习惯有很大的关系。 5对测试错误结果一定要有一个确认的过程, 一般有A
17、测试出来的错误, 一定要有一个B来确认, 严重的错误可以召开评审会进行讨论和分析。 6制定严格的测试计划, 并把测试时间安排的尽量宽松, 不要希望在极短的时间内完成一个高水平的测试。 7回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多的错误出现的现象并不少见。 8妥善保存一切测试过程文档, 意义是不言而喻的, 测试的重现性往往要靠测试文档。第4章 软件测试的内容4.1验证(verification)验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing) 1.确定软件生存周期中的一个给
18、定阶段的产品是否达到前阶段确立的需求的过程;2.程序正确性的形式证明, 即采用形式理论证明程序符号设计规约规定的过程;3.评市、审查、测试、检查、审计等各类活动, 或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。4.2 确认(validation)确认(validation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)1.静态确认, 不在计算机上实际执行程序, 通过人工或程序分析来证明软件的正确性;2.动态确认, 通过执行程序做分析, 测试程序的动态行为, 以证实软件是否存在问题
19、。软件测试的对象不仅仅是程序测试, 软件测试应该包括整个软件开发期问各个阶段所产生的文档, 如需求规格说明、概要设计文档、详细设计文档, 当然软件测试的主要对象还是源程序。第5章软件测试的分类5.1 常用分类(1)从是否需要执行被测软件的角度, 可分为: 静态测试 动态测试 (2)从测试是否针对系统的内部结构和具体实现算法的角度来看, 可分为 : 白盒测试 黑盒测试5.2 黑盒测试和白盒测试、(1)黑盒测试黑盒测试指的是把被测软件看作是一个黑盒子, 我们不去关心盒子里面的结构是什么样子, 只关心软件的输入数据和输出结果。黑盒测试方法是在程序接口上进行测试, 主要是为了发现以下错误: 是否有不正
20、确或遗漏了的功能? 在接口上, 输入能否正确地接受? 能否输出正确的结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误? 用黑盒测试发现程序中的错误, 必须在所有可能的输入条件和输出条件中确定测试数据, 来检查程序是否都能产生正确的输出。 但这是不可能的。n假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数, 按黑盒方法进行穷举测试:n可能采用的测试数据组: 232232 264 n如果测试一组数据需要1毫秒, 一年工作365 24小时, 完成所有测试需5亿年。(2)黑盒测试的测试用例设计 等价划
21、分法 边界值法 错误推测法 因果图法1.等价类划分1 等价类划分是一种典型的黑盒测试方法, 使用这一方法时, 完全不考虑程序的内部结构, 只依据程序的规格说明来设计测试用例。2 等价类划分方法把所有可能的输入数据, 即程序的输入域划分成若干部分, 然后从每一部分中选取少数有代表性的数据做为测试用例。3 使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。4 划分等价类等价类是指某个输入域的子集合。在该子集合中, 各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。 u 等价类的划分有两种不同的情况: 有效等价类:是指对于程序的规
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 技术 专业 论文 软件 测试
链接地址:https://www.31ppt.com/p-2885075.html