软件测试的方法精品文稿.ppt
《软件测试的方法精品文稿.ppt》由会员分享,可在线阅读,更多相关《软件测试的方法精品文稿.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试的方法第1页,本讲稿共86页第2章回顾ONTOWEBWUST软件缺陷是软件质量的对立面软件缺陷是软件质量的对立面软件缺陷软件缺陷(Bug)是什么是什么验证和确认验证和确认软件测试的分类和阶段软件测试的分类和阶段-单元、集成、系统(性能、适用性、兼容性)、验收测试软件测试的工作范畴软件测试的工作范畴-策略、计划、设计、执行、报告、评估第2页,本讲稿共86页第第3章章 软件软件测试测试的方法的方法3.1 白盒测试方法白盒测试方法3.2 黑盒测试方法黑盒测试方法3.3 静态测试和动态测试静态测试和动态测试3.4 主动测试和被动测试主动测试和被动测试3.5 形式化测试方法形式化测试方法3.6
2、基于风险的测试基于风险的测试3.7 模糊测试方法模糊测试方法3.8 ALAC测试和随机测试方法测试和随机测试方法第3页,本讲稿共86页方法论和具体方法方法论和具体方法p从方法论看,更多体现了一种哲学的思想,例如辩证统一的方法,在测试中有许多对立统一体,如静态测试和动态测试、白盒测试和黑盒测试、自动化测试和手工测试等。p软件测试的方法论来源于软件工程的方法论,例如有面向对象的开发方法,就有面向对象的测试方法;有敏捷方法,就有和敏捷方法对应的测试方法。第4页,本讲稿共86页黑盒子和白盒子黑盒子和白盒子功能测试功能测试数据驱动测试数据驱动测试 结构测试结构测试逻辑驱动测试逻辑驱动测试 客户需求事件驱
3、动输入输出第5页,本讲稿共86页静态的和动态的静态的和动态的主持人主持人作者记录员列席人员内审员内审员技术专业人员用户代表不正式正式互审 走读 审查会议运行程序运行程序第6页,本讲稿共86页自动测试和手工测试自动测试和手工测试手工模拟用户操手工模拟用户操作作第7页,本讲稿共86页3.1白盒测试方法白盒测试方法3.1.1 3.1.1 语句覆盖语句覆盖3.1.2 3.1.2 判定覆盖判定覆盖3.1.3 3.1.3 条件覆盖条件覆盖3.1.4 3.1.4 判定条件覆盖判定条件覆盖3.1.5 3.1.5 条件组合覆盖条件组合覆盖3.1.6 3.1.6 路径覆盖路径覆盖3.1.7 3.1.7 基本路径测
4、试法基本路径测试法Zhu.K第8页,本讲稿共86页白盒测试方法n逻辑覆盖逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等n基本路径测试基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。Zhu.K第9页,本讲稿共86页3.1.1 语句覆盖语句覆盖p语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次p p如果是顺序结构,就是让测试从头执行到尾如果是顺序结构,就是让测试从头执行到尾p p如果有分支、条件和循环,需要利用下面的方法,执行足够如果有分支、条件和循环
5、,需要利用下面的方法,执行足够的测试覆盖全部语句的测试覆盖全部语句第10页,本讲稿共86页3.1.2 判定覆盖判定覆盖p判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。p一个判定往往代表着程序的一个分支,所以判定覆盖也被称为分支覆盖。Zhu.K第11页,本讲稿共86页分支测试分支测试-example1PROGRAM som(maxint,N:INT)2INT result:=0;i:=0;3IF N 04THEN N :=-N;5WHILE (i N)AND (result=maxint)6DOi :=i+1;7re
6、sult :=result+i;8OD;9IF result=maxint10THEN OUTPUT(result)11ELSE OUTPUT(“too large”)12END.第12页,本讲稿共86页分支测试分支测试-continuedi:=i+1;result:=result+i;(iN)and(result=maxint)result=maxintN0N:=-N;output(result);output(too large);exitstartyesnonoyesyesnoN=0)result=0 i=0第13页,本讲稿共86页3.1.3 条件覆盖条件覆盖p条件覆盖的基本思想是设计若
7、干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。(iN)and(result=maxint)TrueFalseresult=maxintiNTrueFalse第14页,本讲稿共86页条件测试条件测试目标目标:保证测试到每个逻辑条件取值为保证测试到每个逻辑条件取值为 true 和和 false简单条件简单条件:(arel-opb)whererel-op=(和NOT连用),即ab;NOT(ab)组合条件组合条件:由AND,OR连接的多个简单条件,即(ab)AND(c(a+b+c)n测试发现的错误测试发现的错误:n布尔操作符关系操作符n布尔变量算术表达式n布尔括弧第15页
8、,本讲稿共86页条件测试条件测试(2)域测试域测试n表达式E1rel-opE2,测试E1 =E2n如果E1和E2正确,发现rel-op的错误n发现E1或E2的错误,全面分析它们的不同n如果某表达式含有n个变量,则需要进行2n测试分支测试分支测试组合条件C,测试C为true和false分支、以及每个条件例如例如 C=(ab)AND(cb TRUE,FALSEcd TRUE,FALSEC TRUE,FALSETrue AND TrueT.And F.,F.And T.,F.And F.第16页,本讲稿共86页条件测试条件测试 的的示例示例(i=result=0):maxint N iNresult
9、=maxint-11truefalse10falsetrue测试了所有条件但没有覆盖判定(decision)条件覆盖不等于判定覆盖i:=i+1;result:=result+i;(iN)and(result=maxint)result=maxintN0,b0,a1,c1M=.T.N=.T.P1(1-2-4)输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-5F1,F2,F3,F4a=0,b=0,a=1,c0,b0,M取真2T1,F2M=.F.a0,b=0,M取假3F1,T2M=.F.a0,M取假4F1,F2M=.F.a=0,b1,c1,N取真6T3,F4N=.T.a1,c=1,
10、N取真7F3,T4N=.T.a1,N取真8F3,F4N=.F.a=1,c=1,N取假第20页,本讲稿共86页示例示例(2)测试用例覆盖条件覆盖路径覆盖组合输入:a=2,b=1,c=6输出:a=2,b=1,c=5T1,T2,T3,T4P1(1-2-4)1,5输入:a=2,b=-1,c=-2输出:a=2,b=-1,c=-2T1,F2,T3,F4P3(1-3-4)2,6输入:a=-1,b=2,c=3输出:a=-1,b=2,c=6F1,T2,F3,T4P3(1-3-4)3,7输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-5F1,F2,F3,F4P4(1-3-5)4,8覆盖了所有组合
11、,但覆盖路径有限,1-2-5没被覆盖第21页,本讲稿共86页3.1.6 路径测试测试p顾名思义,路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。测试用例覆盖路径覆盖条件覆盖组合输入:a=2,b=1,c=6输出:a=2,b=1,c=5P1(1-2-4)T1,T2,T3,T41,5输入:a=1,b=1,c=-3输出:a=1,b=1,c=-2P2(1-2-5)T1,T2,F3,F41,8输入:a=2,b=-1,c=-2输出:a=2,b=-1,c=-2P3(1-3-4)T1,F2,T3,F42,6输入:a=-1,b=2,c=3输出:a=-1,b=2,c=6P3(1-3-4)F1,T2
12、,F3,T43,7输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-5P4(1-3-5)F1,F2,F3,F44,8第22页,本讲稿共86页3.1.7 基本路径测试基本路径测试1.依据代码绘制流程图2.确定流程图的圈复杂度(cyclomaticcomplexity)3.确定线性独立路径的基本集合(basisset)4.设计测试用例覆盖每条基本路径第23页,本讲稿共86页示例示例 源代码源代码Procedure:processrecords1.DoWhilerecordsremain2.Readrecord;3.Ifrecordfield1=0Then4.storeinbuffe
13、r;5.incrementcounter;6.ElseIfrecordfield2=0Then7.resetcounter;8.Elsestoreinfile;9.EndIf10.EndIf11.EndDoEnd第24页,本讲稿共86页示例示例 流程图流程图1910112457836V(G)=4第25页,本讲稿共86页基本路径测试:流程图简化12,387694,51011第26页,本讲稿共86页流程图的圈复杂度流程图的圈复杂度V(G)=区域数量(由节点、连线包围的区域,包括图形外部区域)V(G)=连线数量-节点数量+2V(G)=简单可预测节点数量+1圈复杂度(圈复杂度(Cyclomatic c
14、omplexity):代码逻辑复杂度的度量,提供了被测代码的路径数量。复杂度越高,出错的概率越大V(G)modules第27页,本讲稿共86页流程图复杂度例子流程图复杂度例子V(G)=412,378694,51011Region 1Region 2Region 3Region 4第28页,本讲稿共86页确定线性独立的路径集合确定线性独立的路径集合 独立路径独立路径:至少引入一系列新的处理语句或条件的任何路径 基本集基本集:由独立路径构成的集合由基本集导出的测试用例测试用例,保证每行代码语句至少被执行一次基本集合基本集合不一定唯一第29页,本讲稿共86页 Path1:1-2-3-6-7-9-10
15、-1-11示例:基本路径测试用例 Path2:1-2-3-6-8-9-10-1-11 Path3:1-2-3-4-5-10-1-11Path4:1-111910112458736第30页,本讲稿共86页测试用例覆盖集合中每条路径测试用例覆盖集合中每条路径基本路径测试并不是测试所有路径的组合,仅仅保证每条基本路径被执行一次 不需要活动图,但最好绘制程序流程图 计算每个逻辑测试,也就是布尔操作符数加1 最好每个单元都进行基本路径测试,对关键组件则是必要的第31页,本讲稿共86页n目标目标:在循环内部及边界上执行测试在循环内部及边界上执行测试循环测试循环测试 11.简单循环简单循环(迭代次数n)完全
16、跳过循环只经过循环一次经过循环两次经过循环m(mn)次分别经过循环n-1,n,n+1次第32页,本讲稿共86页循环测试循环测试 22.嵌套嵌套(Nested)循环循环在最里面的循环完成前面所述的简单循环测试,同时设定外部循环的最小迭代次数逐步向外循环进行直到所有循环被测试第33页,本讲稿共86页循环测试循环测试 34.其它非结构循环其它非结构循环重新设计重新设计!3.串行连接的循环串行连接的循环独立循环可以分别看着简单循环测试依赖性循环可以看着是嵌套循环第34页,本讲稿共86页3.2 黑盒测试方法黑盒测试方法3.2.1 3.2.1 等价类划分法等价类划分法3.2.2 3.2.2 边界值分析法边
17、界值分析法3.2.3 3.2.3 判定表方法判定表方法3.2.4 3.2.4 因果图法因果图法3.2.5 3.2.5 正交试验法正交试验法3.2.6 3.2.6 功能图法功能图法3.2.7 3.2.7 错误推测法错误推测法第35页,本讲稿共86页3.2.1 等价类划分方法n将程序可能的输入数据分成若干个子集,从每个子集选取一个代表性的数据作为测试用例,等价类是某个输入域的子集,在该子集中每个输入数据的作用是等效的n分为有效等价类和无效等价类。有效等价类是有意义的、合理的输入数据,可检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反n在分析需求规格说明的基础上划分等
18、价类,列出等价类表设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。经过正反的测试才能确保软件具有更高的可靠性。all inputsi1i4i2i3第36页,本讲稿共86页确定等价类的方法n在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类in rangegreater than rangeless than rangevaluegreater than valueless than value第37页,本讲稿共86页n在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效
19、等价类。n在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类确定等价类的方法(2)not member of setmember of setBooleanNon-Boolean第38页,本讲稿共86页确定等价类的方式(3)n在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。n在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。个人月收入-x税率x=16000%1600 x21005%500=x360010%3600=x660015%6600=x2
20、160020%21600=x10160045%第39页,本讲稿共86页等价类测试用例-Example等价类1:Integer等价类2:Decimalfraction等价类3:Negative等价类4:Invalidinput第40页,本讲稿共86页根据等价类创建测试用例的步骤a)建立等价类表,列出所有划分出的等价类:b)为每个等价类规定一个唯一的编号;c)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类d)重复c),最后使得所有有效等价类均被测试用例所覆盖;e)设计一个新的测试用例,使其只覆盖一个无效等价类。f)重复e)使所有无效等价类均被覆盖。输入条件有效等价类无效等价类第41页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 方法 精品 文稿
限制150内