软件工程SW06-1 软件测试

上传人:种**** 文档编号:260546809 上传时间:2022-02-28 格式:PPTX 页数:57 大小:408KB
返回 下载 相关 举报
软件工程SW06-1 软件测试_第1页
第1页 / 共57页
软件工程SW06-1 软件测试_第2页
第2页 / 共57页
软件工程SW06-1 软件测试_第3页
第3页 / 共57页
软件工程SW06-1 软件测试_第4页
第4页 / 共57页
软件工程SW06-1 软件测试_第5页
第5页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件工程SW06-1 软件测试》由会员分享,可在线阅读,更多相关《软件工程SW06-1 软件测试(57页珍藏版)》请在金锄头文库上搜索。

1、软件测试1课程内容1.测试目的和策略2.测试方法3.测试技术4.测试工具5.测试过程2测试目的和策略3什么是软件测试n狭义义的定义义:n测试是程序的执行过程,目的在于发现错误;n软件测试是根据程序开发阶段的规格说明及程序内部结构而精心设计的一批测试用例(输入数据及其预期结果的集合),并利用这些测试用例去运行程序,以发现错误的过程;n一个好的测试用例在于能发现至今未发现的错误;n一个成功的测试是发现了至今未发现的错误的测试。4广义的软件测试概念n指软件生命周期中所有的检查、评审和确认工作,其中包括对分析、设计阶段,以及完成开发后的维护阶段的各类文档和代码的审查和确认。n测试通常包括确认(vali

2、dation)和验证(verification)两种方式。5验证和确认n验证(Verification): 在软件生存期各个阶段,验证是指检测各个阶段结束时的工作产品是否满足对上一阶段的结束后的工作产品所定义的规格的验证过程。需求设计编码测试验证6验证和确认 n确认(Validation): 在软件生命周期各个阶段,确认是指检测各个阶段结束时的工作产品是否满足在软件生命周期初期在系统需求文档中描述的各项软件规格的确认过程。需求设计编码测试确认7确认和验证的比较n验证是检测每一阶段形成的工作产品是否与前一阶段定义的规格相一致n确认是检测每一阶段的工作产品是否与最初定义的软件需求规格相一致n软件测

3、试既可用于验证,又可用于确认需求设计编码测试验证确认8什么是缺陷?n缺陷:最终产品同用户的期望不一致n缺陷的分类n错误n遗漏n超出需求的部分n缺陷(未触发)Vs.故障(应首先解决)9测试的职责n验证在整个软件开发周期中,各个阶段的软件质量是否合格。n验证最终交付给用户的系统是否满足用户的需要,是否符合需求。n通过样本测试数据,检查系统在运行过程中的情况。10测试Vs质量保证n软件测试并不是质量保证的唯一手段,事后的检验是高价的。应尽量在开发期间减少错误,通过软件过程来建立软件质量。n迄今为止,软件质量仍然主要靠软件测试来验证和确认,而且由于测试工作特别耗费资源,在软件开发的总成本中,用在测试上

4、的开销要占30%到50%。在极端的情况下,例如在关系到人的生命安全的软件中(如飞机控制或核反应监控等软件),测试费用可能相当软件生命周期所有其它阶段费用总和的三到五倍。n据美国工业界的统计,对商品化的程序来说,测试在时间和费用两方面的花费都要占整个软件开发周期总开销的50%左右。11测试的商业意义n降低风险(风险:就是不希望发生的事情的可能性)n测试计划中必须标明商业上的风险。n测试人员职责:n评估商业上的风险n如实的向管理层汇报项目情况12对待可能产生的风险的策略n我们无法消除风险,但是我们可以降低在风险发生时的损失。n降低系统风险的最有效的办法就是对其进行有针对性的测试。13系统风险列举n

5、如果某部分产生了错误会导致的结果?n未被验证的数据交换如果被接受n如果文件的完整性被破坏n系统是否能被安全恢复(完全恢复成备份时的状态)n是否能暂停系统的运行n进行维护工作时,系统性能是否会下降到不能接受的水平。n系统的安全性是否有保证14系统风险列举(继续)n系统的操作流程是否符合用户的组织策略和长远规划n系统是否可靠,稳定n系统是否易于使用n系统是否便于维护n是否易于与其它系统相连15测试工作量n太少的测试是不负责任,过多的测试是一种罪过。n100的测试是不可能的,不同的用户采用的测试策略是不同的。nGood-enough原则n商业目标n系统的质量等级16测试策略n在测试策略中必须标明可能

6、存在的风险,这样在测试后的系统中可以有效的降低被标明的风险发生的可能性。n测试要素:需要被标明的风险也是我们测试的重点。n测试阶段:在整个开发生命周期中,测试工作介入的时期。17测试效果的好坏是组织级的问题n有效的测试最好由一个独立的团队来实施。n便于确定工作目标n便于人员的培养与升迁n利于团队建设n对质量的忠诚度高n利于新技术,新方法的产生和推广n工作职责明确18测试方法19测试方法n黑盒测试n白盒测试n静态测试n动态测试20需求说明产生被测程序测试结果输出比较测试用例黑盒测试n黑盒测试是从用户观点出发的测试,它又称功能测试、数据驱动测试或基于规格说明书或用户手册的测试。它所依据的是程序的外

7、部特性。21n黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:n 是否有不正确或遗漏了的功能?n 在接口上,输入能否正确地接受? 能否输出正确的结果?n 是否有数据结构错误或外部信息(例如数据文件)访问错误?n 性能上是否能够满足要求?n 是否有初始化或终止性错误?黑盒测试22n用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条所有可能的输入条件和输出条件件中确定测试数据,来检查程序是否都能产生正确的输出。n但这是不可能不可能的。黑盒测试23n假设一个程序P 有输入量X 和Y 及输出量Z 。在字长为32位的计算机上运行。若X、Y 取整数,按黑盒方法进行穷举测试:n可能采用

8、的 测试数据组: 232232 264 n如果测试一 组数据需要1毫秒,一年工作36524小时,完成所有测试需5亿年。黑盒测试24黑盒测试的设计方法n等价类划分n边界值分析n错误推测法n因果图n。25等价类划分n等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例n使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步26n划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。等价类划分27n等价类的划分有两种不同的情

9、况:n 有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。n 无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。n在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。等价类划分28n(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。等价类划分的原则29n(2) 如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。n例如,在Pascal语言中对变量标识符规定为“以字母打头的串”。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打

10、头)的归于无效等价类。等价类划分的原则30n(3) 如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。n(4) 如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。n例如,在教师上岗方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。因此可以确定4个有效等价类为教授、副教授、讲师和助教,一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。等价类划分的原则31n(5) 如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干

11、个无效等价类(从不同角度违反规则)。n例如,Pascal语言规定 “一个语句必须以分号;结束”。这时,可以确定一个有效等价类 “以;结束”,若干个无效等价类 “以:结束”、“以,结束”、“以 结束”、“以LF结束”等。等价类划分的原则32n数学含义nA= X =BnC= Y =D等价类划分的原则33n确立了等价类之后,建立等价类表,列出所有划分出的等价类。确立等价类测试用例34n再从划分出的等价类中按以下原则选择测试用例:n为每一个等价类规定一个唯一编号;n设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;n设计一个新的测试用例,使其

12、仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。确立等价类测试用例35n在某一PASCAL语言版本中规定:“标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。”n并且规定:“标识符必须先说明,再使用。” “在同一说明语句中,标识符至少必须有一个。”等价类划分举例36n建立输入等价类表等价类划分举例37n下面选取了9个测试用例,它们覆盖了所有的等价类。n VAR x,T1234567:REAL; BEGIN x := 3.414; T1234567 := 2.732; . (1), (2), (4), (8), (9), (1

13、2), (14)n VAR :REAL; (3)n VAR x,:REAL; (5)等价类划分举例38n VAR T12345678 REAL; (6)n VAR T12345. REAL; (7) 多于80个字符n VAR T$:CHAR; (10)n VAR GOTO:INTEGER; (11)n VAR 2T:REAL; (13)n VAR PAR:REAL; (15)n BEGIN .n PAP := SIN (3.14 * 0.8) / 6;等价类划分举例39边界值分析n边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。n经验表明,大量的错误是发生在输入或输出范围的边界上,而

14、不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。40n比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。 我们应注意到这三个数值应当满足: A0、B0、C0、 ABC、ACB、BCA,才能构成三角形。但如果把六个不等式中的任何一个大于号“”错写成大于等于号“”,那就不能构成三角形。问题恰出现在容易被疏忽的边界附近。边界值分析41n这里所说的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。n使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类

15、中的典型值或任意值做为测试数据。 边界值分析42边界值分析n数学含义nA= X =BnC= Y =D43错误推测法n人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的用例。n错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。44因果图n因果图的适用范围:如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例。n因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。45(1) 分析软件规格说明描述中,哪些是原因 (即输入条件或输入条件

16、的等价类),哪些是结果 (即输出条件),并给每个原因和结果赋予一个标识符。(2) 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。 因果图基本步骤46(3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。(4) 把因果图转换成判定表。(5) 把判定表的每一列拿出来作为依据,设计测试用例。因果图基本步骤47n用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。n主要的原因和结果之间的关系有:因果图基本符号48n表示约束条件的符号:为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。因果图基本符号49 n例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:n若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号