软件工程软件测试ppt课件.ppt
《软件工程软件测试ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程软件测试ppt课件.ppt(50页珍藏版)》请在三一办公上搜索。
1、软件测试,第 五 章,5.1软件测试的基本概念,一、软件测试的目的和重要性因为开发工作的前期不可避免地会引入错误,测试的目的是为了发现和改正错误,这对于某些涉及人的生命安全或重要的军事、经济目标的项目显得尤其重要。,1963年美国飞往火星的火箭爆炸,原因是FORTRAN程序:DO 5 I=1,3 误写为:DO 5 I=1. 3 损失1000万美元。1967年苏联“联盟一号”宇宙飞船返回时因忽略一个小数点,在进入大气层时打不开降落伞而烧毁。,二、软件测试的特点,1、软件测试的开销大按照Boehm的统计,软件测试的开销大约占总成本的30%-50%。例如:APPOLLO登月计划,80%的经费用于软件
2、测试。,二、软件测试的特点 结论,3、软件测试难度大根据上述分析,既然不能进行 “穷举”测试,又要查出尽可能多的错误,软件测试工作的难度大。只有选择 ,“高效的测试用例”,什么是“高效的测试用例”?如何选择“高效的测试用例”?这就是本章讨论的主要问题!,三、软件测试的基本原则,3、充分注意测试中的群集现象。,1、尽量不由程序设计者进行测试。2、关键是注重测试用例的选择。输入数据的组成(输入数据、预期的输出结果)既有合理输入数据,也有不合理的输入数据。用例既能检查应完成的任务,也能够检查不应该完成的任务。长期保存测试用例。,5.2 软件测试方法,软件测试方法分为两类:静态分析、动态测试,一、静态
3、分析方法指以人工的、非形式化的方法对程序进行分析和测试。桌前检查代码会审步行检查,步行检查时,还常使用以下分析方法: 调用图从语义的角度考察程序的控制路线。 数据流分析图检查分析变量的定义和引用情况。, 调用图,无论Y 为何值,都不能够调用子程序。,READY,Y0,N,X:=Y,X0,Y,N,Y,调用子程序,A,B,C,D,E,即执行ABC后,是不可能执行路径CDE的。,二、动态测试方法(1),通过选择适当的测试用例,执行程序。常用的方法: 1、白盒法分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试。,2、黑盒法不考虑程序的内部结构与特性,只根据程序
4、功能或程序的外部特性设计测试用例。,白盒法,白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。,语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,弱,强, 语句覆盖: 选择足够的测试用例,使得程序中每个语句至少都能被执行一次。 判定覆盖: 执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。 条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。 判定/条件覆盖: 执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。 条件组合覆盖: 执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。,
5、白盒法常用的覆盖标准,白盒法步骤:,例:用白盒法测试以下程序段:Procedure(VAR A,B,X:REAL);BEGIN IF (A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1END;,1)选择逻辑覆盖标准。2)按照覆盖标准列出所有情况。3)选择确定测试用例。4)验证分析运行结果与预期结果。,逻辑结构,白盒法举例,Procedure (VAR A,B,X:REAL); BEGIN IF(A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1 END;,1、语句覆盖,
6、使得程序中每个语句至少都能被执行一次。,A1ANDB=0,X:=X/A,A=2OR X1,X:=X+1,a,b,c,d,e,满足语句覆盖的情况: 执行路径:ace,选择用例:(2,0,4),(2,0,3),用例格式:输入(A,B,X),输出(A,B,X),Y,N,Y,N,2、判定覆盖,使得程序中每个判定至少为TRUE 或FALSE各一次。,A1ANDB=0,X:=X/A,A=2OR X1,X:=X+1,a,b,c,d,e,覆盖情况:应执行路径ace abd或: acd abe,选择用例(其一): (2,0,4),(2,0,3) ace (1,1,1),(1,1,1) abd (2,1,1),(
7、2,1,2) abe (3,0,3),(3,1,1) acd,Y,Y,N,N,3、条件覆盖,A1ANDB=0,X:=X/A,A=2OR X1,X:=X+1,a,b,c,d,e,使得判定中的每个条件获得各种可能的结果。,应满足以下覆盖情况:判定一: A1, A1, B=0, B0判定二: A=2, A2, X1, X1,选择用例: (2,0,4),(2,0,3) (1,1,1),(1,1,1),N,N,Y,Y,2,A1,A2,0,B=0,4,X1,1,A1,A=2,1,B0,1,X1,注意:(1,0,3),(1,0,4)(2,1,1),(2,1,2)满足条件覆盖,但不满足判断覆盖。,4、判定/条
8、件覆盖,同时满足判断覆盖和条件覆盖。,A1ANDB=0,X:=X/A,A=2OR X1,X:=X+1,a,b,c,d,e,应满足以下覆盖情况: 条件: A1, A1, B=0, B0 A=2, A2, X1, X1 应执行路径ace abd或: acd abe,选择用例: (2,0,4),(2,0,3)(ace) (1,1,1),(1,1,1) (abd),Y,Y,N,N,5、条件组合覆盖,使得每个判定中条件的各种可能组合都至少出现一次。,A1,X:=X/A,A=2,X:=X+1,a,b,c,d,e,B=0,X1,Y,N,Y,N,Y,N,Y,N,编译系统下的执行情况:部分路径未被执行。,满足以
9、下覆盖情况: A1, B =0 A1, B0 A1, B =0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1,选择用例:(2,0,4),(2,0,3) (2,1,1),(2,1,2) (1,0,3),(1,0,4) (1,1,1),(1,1,1) ,路径覆盖:选择足够多的测试数据,使程序的每条可能路径都至少执行一次。,STARTINPUT(A,B,C)IF A5 THEN X=10 ELSE X=1END IFIF B10 THEN Y=20 ELSE Y=2END IFIF C15 THEN Z=30 ELSE Z=3END IFPRINT(X,Y,Z)STOP,
10、共有8条可能的执行路径 三个判定表达式之值依次为假、假、假:输入:A=1,B=1,C=1;预期输出:X=1,Y=2,Z=3三个判定表达式之值依次为假、假、真:输入:A=2,B=3,C=23;预期输出:X=1,Y=2,Z=30三个判定表达式之值依次为假、真、假:输入:A=3,B=12,C=6;预期输出:X=1,Y=20,Z=3三个判定表达式之值依次为假、真、真:输入:A=4,B=13,C=16;预期输出:X=1,Y=20,Z=30三个判定表达式之值依次为真、假、假:输入:A=6,B=7,C=9;预期输出:X=10,Y=2,Z=3三个判定表达式之值依次为真、假、真:输入:A=8,B=8,C=18;
11、预期输出:X=10,Y=2,Z=30 三个判定表达式之值依次为真、真、假:输入:A=10,B=12,C=6;预期输出:X=10,Y=20,Z=3三个判定表达式之值依次为真、真、真:输入:A=11,B=14,C=57;预期输出:X=10,Y=20,Z=30,二、动态测试方法(2),等价分类法,边值分析法,错误推测法,因果图法,(2)黑盒法 不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。,1、等价分类法,基本思想:根据程序的I/O特性,将程序的定义域划分为有限个等价区段 “等价类”,从等价类中选择出的用例,具有“代表性”。,等价类分为:有效等价类 对于程序的规格说明是合理
12、的、有意义的输入数据构成的集合。无效等价类 对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。,等价分类法步骤,应按照输入条件(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。例如:每个学生可选修1-3门课程 可以划分一个有效等价类:选修1-3门课程。 可以划分两个无效等价类:未选修课,选修课超过3门。又如:标识符的第一个字符必须是字母。 可以划分为一个有效等价类:第一个字符是字母。 可以划分一个无效等价类:第一个字符不是字母。, 划分“等价类”,显然,关键是如何划分等价类,A、为每个等价类编号;B、使一个测试用例尽可能覆盖多个有效等价类C、特
13、别要注意的是:一个测试用例只能覆盖一个无效等价类。, 选择测试用例,等价分类法步骤,如何划分等价类?有效等价类(合理等价类)无效等价类(不合理等价类),(1)如果输入条件规定了取值范围,可定义一个有 效等价类和两个无效等价类。,例 输入值是学生成绩,范围是0100,0 100,有效等价类0成绩100,无效等价类 成绩100,无效等价类 成绩0,(2)如果输入条件代表集合的某个元素,则可定义 一个有效等价类和一个无效等价类。,(3)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。例:输入条件说明学历可为:
14、专科、本科、硕士、博士四种之一,则分别取这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类(4)如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。(5)如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。,用等价类划分法设计测试用例步骤:,(1)形成等价类表,每一等价类规定一个唯一的编号;(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被
15、覆盖;,例:某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例, 来测试程序的日期检查功能?,输入条件 有效等价类 无效等价类,报表日期的类型及长度,6位数字字符(1),有非数字字符 (4)少于6个数字字符 (5)多于6个数字字符 (6),年份范围,在20032008之间 (2),小于2003 (7)大于2008 (8),月份范围,在112之间(3),“报表日期”输入条件的等价类表,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 测试 ppt 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1444614.html