软件工程-软件测试.ppt
《软件工程-软件测试.ppt》由会员分享,可在线阅读,更多相关《软件工程-软件测试.ppt(50页珍藏版)》请在三一办公上搜索。
1、1,软 件 测 试,2,内容介绍,一 软件测试概述二 测试方法三 测试用例的设计四 测试过程五 调试,3,防不胜防的软件错误 例:1963年,美国,飞往火星的火箭爆炸,损失$10 million.原因:FORTRAN循环 DO 5 I=1,3 误写为 DO 5 I=1.3,软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审,其工件量约占总工作量40%以上(对于人命关天的情况,测试相当于其它部分总成本的3 5倍)。,软件测试重要性,4,软件测试定义和目的,IEEE标准:使用人工或自动手段运行或测定某个系统的过程,其目的是检验该软件(系统)是否满足规定的需求,或是清楚地了解预
2、期与实际结果之间的差异。简述为:按照特定规程,发现软件错误的过程。,5,软件测试的原则,设计测试用例时,要给出测试的预期结果。,要设计不合理输入的测试用例。,充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。,长期保存测试用例,为维护提供方便。在对程序进行修改之后,要进行回归测试。,应制订测试计划并严格执行,排除随意性。,除了检查程序是否做了应该做的工作,还要检查程序是否做了不应该做的工作。,6,注意事项,测试不能表明软件中不存在错误,它只能说明软件中存在错误。,测试员与程序员不应是同一个人。带感情色彩逻辑、理解错误,测试工作具有以下性质:挑剔性、
3、复杂性、不彻底性、经济性。,7,软件测试文档,测试计划:测试项目的名称、各项测试的目的、步骤和进度、以及测试用例测试用例测试数据期望结果测试报告:测试项目的名称、实测结果和预期项目的比较、发现的问题等。测试结果测试数据期望结果实际结果,8,二 测试方法,静态测试:指测试程序采用人工检测和计算机辅助静态分析的手段对程序进行检测。动态测试:指通过运行程序发现错误。黑盒测试和白盒测试,9,黑盒测试,黑盒测试法:测试软件的功能是否达到预期的要求。测试主要着眼于软件的外部特性。,black-box,or closed-box testingMake sure that every kind of inp
4、ut is submitted,and the output observed matches the output expected.Functional testing,10,白盒测试,白盒测试法:测试软件的内部结构和数据结构是否符合设计要求,测试人员需要了解软件内部结构和处理过程,对其尽可能多的逻辑路径进行测试。,white-box,or open-box,clear-box testingUse the structure of the program to test.Structural testing,11,主要问题,穷尽测试(complete test)通常是不可能的。,假设一个
5、程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:可能采用的测试数据组:232232 264 如果测试一组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。而且还应测试输入非法数据的情况。,12,穷尽测试,例:(White-box)下图所示的程序中共有 5201014条可能的执行通路,显然,每条通路都执行一遍是不现实的。,黑盒法和白盒法都不能使测试达到彻底,为了用有限的测试发现更多的错误,需精心设计测试用例。,测试一组需1毫秒,完成需3170年。,13,三 测试用例的设计白盒技术,逻辑覆盖:考虑程序内部有判定存在的逻辑覆盖程度。
6、,循环覆盖:通过限制循环次数来测试含有循环结构的程序。,基本路径测试:设计测试用例保证基本路径至少通过一次。,14,1、语句覆盖,每个语句至少执行一次。,Test case:A=2,B=0,X=*.,问题:若AND错写为OR,或X1错写为X1,则错误无法由上例测出。,15,2、判定覆盖,在语句覆盖的基础上,每个判定的每个分支至少执行一次。,Test cases:A=3,B=0,X=1(TF)A=1,B=1,X=3(FT),问题:若AND错写为OR,仍然无法被测出。,16,3、条件覆盖,在语句覆盖的基础上,使每个判定表达式的每个条件都取到各种可能的结果。,Test cases:A=2,B=0,X
7、=4(TT)(满足A1,B=0;A=2,X1)A=1,B=1,X=1(FF)(满足A1,B0;A 2,X1),问:条件覆盖?判定覆盖,答:不一定。反例:A=2,B=0,X=1(TT)(满足A1,B=0;A=2,X 1)A=1,B=1,X=4(FT)(满足A1,B0;A 2,X 1),4、判定/条件覆盖:即判定覆盖条件覆盖,OR,17,5、条件组合覆盖,每个判定表达式中条件的各种可能组合都至少出现一次。,全部可能的条件组合为:A1,B=0 A1,B 0 A1,B=0 A1,B 0 A=2,X1 A=2,X 1 A 2,X1 A 2,X 1,Test cases:1.A=2,B=0,X=4(T T
8、)2.A=2,B=1,X=1(F T)3.A=1,B=0,X=2(F T)4.A=1,B=1,X=1(F F),问题:没有测试到(T F)路径的情形,18,6、路径覆盖,每条可能的路径都至少执行一次,若图中有环,则每个环至少经过一次。,Test cases:A=1,B=1,X=1(F F)A=1,B=1,X=2(F T)A=3,B=0,X=1(T F)A=2,B=0,X=4(T T),全部可能的条件组合为:A1,B=0 A1,B 0 A1,B=0 A1,B 0 A=2,X1 A=2,X 1 A 2,X1 A 2,X 1,满足路径覆盖未必满足条件组合覆盖。,19,逻辑覆盖,实际应用:以条件组合覆
9、盖为主,补充部分用例,以达到路径覆盖标准。,20,循环覆盖,单循环:设允许执行循环的最大次数为n。设计测试用例如下:1、跳过循环;2、只执行循环一次;3、执行m次,mn;4、执行n-1次、n次、n+1次。,嵌套循环:1、置外循环处于最小循环计数值,对内层进行单循环测试;2、由里向外,进行下一层的循环测试。,21,基本路径测试,基本路径测试是在程序流程图的基础上,通过分析由控制构造的环路复杂性,导出基本路径集合,设计测试用例保证这些基本路径至少通过一次。,程序图:是反映控制流程的有向图,其小圆圈称为结点,代表流程图中的处理,有向箭头代表控制流向,称为边或路径。,(1)一个边必须终止于一个结点,在
10、选择分支的汇合处即使没有语言也应该有汇聚点。,22,转换程序图时的注意事项,(2)如果判断中的条件表达式是由一个或多个逻辑运算符(OR,AND,NAND,NOR)连接的复合条件表达式,则需要改为一系列只有单个条件的嵌套的判断。,23,基本路径测试步骤,Path1:1112:12345101113:123679101114:1 2368910111,1、导出程序流程图的拓扑结构程序图2、计算程序图的环路复杂性:平面图中区域的个数+13、确定只包含独立路径的基本数据集;4、设计测试用例,确保基本路径集合中每条路径至少执行一次。,假定判断内没有复合的条件,314,M-N+2P=11-9+2=4弧数(
11、11);结点数(9);强连通分量(1),24,基本路径测试举例,int GetMax(int n,int data)int k=0;for(int j=1;j datal k)k=j;return k;,2,1,3,4,5,6,7,8,环路复杂性3,基本数据集:12381234567238123467238,测试用例:N=1,data=2N=2,data=2,4N=2,data=4,2,25,设计测试用例黑盒技术,等价类划分法边界值分析法错误推测因果图,26,等价类划分法,它将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 测试
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6027885.html