欢迎来到天天文库
浏览记录
ID:43348502
大小:1.01 MB
页数:54页
时间:2019-10-08
《SE09-软件测试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件测试软件测试的基本概念一、软件测试的目的和重要性因为开发工作的前期不可避免地会引入错误,测试的目的是为了发现和改正错误,这对于某些涉及人的生命安全或重要的军事、经济目标的项目显得尤其重要。1963年美国飞往火星的火箭爆炸,原因是FORTRAN程序:DO5I=1,3误写为:DO5I=1.3损失1000万美元。1967年苏联“联盟一号”宇宙飞船返回时因忽略一个小数点,在进入大气层时打不开降落伞而烧毁。二、软件测试的特点1、软件测试的开销大按照Boehm的统计,软件测试的开销大约占总成本的30%-50%。例如:APPOLLO登月计划,80%的经费用于软件测试。2、不能进行“穷举”测试
2、只有将所有可能的情况都测试到,才有可能检查出所有的错误。但这是不可能的:例:程序P有两个整型输入量X、Y,输出量为Z,在32位机上运行。所有的测试数据组(Xi,Yi)的数目为:22=21毫秒执行1次,共需5亿年。323264二、软件测试的特点—结论3、软件测试难度大根据上述分析,既然不能进行“穷举”测试,又要查出尽可能多的错误,软件测试工作的难度大。只有选择—“高效的测试用例”什么是“高效的测试用例”?如何选择“高效的测试用例”?这就是本章讨论的主要问题!!!三、软件测试的基本原则3、充分注意测试中的群集现象。1、尽量不由程序设计者进行测试。2、关键是注重测试用例的选择。输入数据的
3、组成(输入数据、预期的输出结果)既有合理输入数据,也有不合理的输入数据。用例既能检查应完成的任务,也能够检查不应该完成的任务。长期保存测试用例。四、测试的基本步骤模块测试整体测试功能测试预测试系统测试验收测试安装测试概要设计审查详细设计审查代码审查测试(单元测试)(组装测试)(有效性测试)(确认测试){{6.2软件测试方法软件测试方法分为两类:静态分析、动态测试一、静态分析方法指以人工的、非形式化的方法对程序进行分析和测试。桌前检查代码会审步行检查步行检查时,还常使用以下分析方法:①调用图从语义的角度考察程序的控制路线。②数据流分析图检查分析变量的定义和引用情况。①调用图无论Y为何
4、值,都不能够调用子程序。READYY>0NX:=YX<0YNY调用子程序ABCDE即执行ABC后,是不可能执行路径CDE的。②数据流分析图节点—表示单个语句。有向边—表示控制结构。d—定义r—引用u—未引用R:duuuuuS:uruuurY:uuddruR=0.5W=1/SY=A**WY=E*WZ=X+YC=Z*S123456只定义不用未定义引用连续定义退出上页首页下页末页二、动态测试方法(1)通过选择适当的测试用例,执行程序。常用的方法:1、白盒法分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试。2、黑盒法不考虑程序的内部结构与特性,只根
5、据程序功能或程序的外部特性设计测试用例。白盒法白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。语句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖弱强①语句覆盖:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。②判定覆盖:执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。③条件覆盖:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。④判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。⑤条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。白盒法常用的
6、覆盖标准白盒法步骤:例:用白盒法测试以下程序段:Procedure(VARA,B,X:REAL);BEGINIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;1)选择逻辑覆盖标准。2)按照覆盖标准列出所有情况。3)选择确定测试用例。4)验证分析运行结果与预期结果。逻辑结构白盒法举例Procedure(VARA,B,X:REAL);BEGINIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;A>1ANDB=0X:=X/AA=2ORX>1X:=X+1YNYN逻辑结构1、语
7、句覆盖使得程序中每个语句至少都能被执行一次。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde满足语句覆盖的情况:执行路径:ace选择用例:[(2,0,4),(2,0,3)]用例格式:[输入(A,B,X),输出(A,B,X)]YNYN2、判定覆盖使得程序中每个判定至少为TRUE或FALSE各一次。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1abcde覆盖情况:应执行路径ace∧abd或:acd∧abe选择用例(其一):⑴[(2,0,4)
此文档下载收益归作者所有