第四章白盒测试用例设计方法.ppt
《第四章白盒测试用例设计方法.ppt》由会员分享,可在线阅读,更多相关《第四章白盒测试用例设计方法.ppt(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 白盒测试用例设计方法 1本章内容p讨论常用的白盒测试用例设计方法,包括n基本路径测试n分支-条件测试n循环测试n其它白盒测试方法n综合运用白盒测试方法进行程序结构测试n白盒测试工具n覆盖准则n覆盖率测试工具软件测试方法和应用4-白盒测试p定义定义n基于系统或者组件的内部实现结构和逻辑寻找缺陷的测试技术p常用的白盒测试技术常用的白盒测试技术n基本路径测试n分支-条件测试n循环测试p说明说明n一般情况,仅使用一种测试用例设计方法很难获得被测对象所需的测试用例。在实际测试中,最终的测试用例通常都是多种设计技术相结合的结果。n在使用白盒测试方法之前进行代码评审是一个非常好的工程实践软件测试方法
2、和应用4-不可能进行彻底的白盒测试p结论是:41+42+43+410,需要14秒左右的时间p如果循环次数为20次,100次时,结果又如何?p结论是:循环20次,需要约4072小时,循环100次则大约需要6.79*1047年p左图是具有某程序的流程图,假设循环10次,请计算一下有多少条程序执行通路?假设由图中得到的所有路径都是可执行路径,执行一次循环大约需要10微秒(奔腾4 1.7G),且一年365天每天24小时不停机,请回答:如果循环次数为10的话,遍历图中所有路径需要多长时间?软件测试方法和应用4-基本路径测试p相关概念相关概念1.基本路径n本质上是从程序入口到出口的一些通路。之所以称其为基
3、本路径,原因在于可以通过对基本路径进行连接或者重复操作得到程序中的其它路径2.控制流图n基于代码结构构造的有向图,可用于描述程序的控制结构p测试思想测试思想 n根据程序的控制流图找出一个模块所需测试的基本路径,根据这些基本路径设计构造相应的测试用例软件测试方法和应用4-基本路径p基本路径1.1-2-112.1-2-3-4-5-6-10-2-113.1-2-3-4-5-7-10-2-114.1-2-3-8-9-10-2-115.1-2-3-8-10-2-111234567891011软件测试方法和应用4-控制流图1234567891011软件测试方法和应用4-基本路径测试p设计步骤设计步骤1.根
4、据模块逻辑构造控制流图(Flow Graph)2.计算控制流图的环复杂度(Cyclomatic Complexity)3.列出包含起始节点和终止节点的基本路径4.检查一下列出的基本路径数目是否超过控制流图的环复杂度 5.设计覆盖这些基本路径的测试用例软件测试方法和应用4-控制流图p说明n控制流图是由节点和边组成的有向图1.节点代表了代码或程序流程图中矩形框中所表示的处理,菱形表示的判断处理以及判断处理流程相交的汇合点,在图中用标有编号的圆圈表示2.边表明了控制的顺序,在图中用有向箭头表示。pG=(V,E)是控制流图有如下定义nV=vb,veUDUS,where1.indegree(vb)=0是
5、开始节点2.outdegree(ve)=0是结束节点3.D是二值判定节点的集合4.S是顺序节点的集合,S中的每一个元素代表一段顺序执行的语句nEDXDUDXSUSXD是有向边的集合软件测试方法和应用4-控制流图p三种逻辑结构的控制流图顺序条件循环软件测试方法和应用4-控制流图1234567891011123567108B1149E软件测试方法和应用4-环复杂度p含义含义n用V(G)表示n用来衡量一个模块判定结构的复杂程度,在数量上表现为独立的路径条数,是需要测试的基本路径数目的上限。p计算公式计算公式1.V(G)=闭合区域的数目p由节点和边围成的封闭区域p这些封闭区域一定是不可再分的p包括周边
6、的区域2.V(G)=二值判定节点个数+1.3.V(G)=边的数目-节点的数目+2软件测试方法和应用4-环复杂度p环复杂度环复杂度n闭合区域的数目=5n二值判定节点个数+1=4+1=5n边的数目-节点的数目+2=16-13+2=5软件测试方法和应用4-基本路径 p形式化定义形式化定义n路径p=vb,v1,v2,.,vn,ve是由有顺序的一系列节点组成且节点之间存在这样的关系,.,En一条路径p=vb,v1,v2,.,vn,ve是一条基本路径当且仅当p中不包含两个子序列s1,s2,s1=s2且length(s1)1andlength(s2)1.(s1)(s2)(subseq(s1,p)subseq
7、(s2,p)s1=s2|s1|1|s2|1)n子序列的定义:subseq(s1,p)(s0)(s2)(s0,s1,s2=p)p更实用的定义更实用的定义n一条路径是基本路径如果1.是一条从起始节点到终止节点的路径2.至少包含一条其它基本路径没有包含的边软件测试方法和应用4-基本路径p基本路径1.1-2-112.1-2-3-4-5-6-10-2-113.1-2-3-4-5-7-10-2-114.1-2-3-8-9-10-2-115.1-2-3-8-10-2-11软件测试方法和应用4-三角形问题p使用基本路径设计测试用例方法推导三角形问题的测试用例P77软件测试方法和应用4-控制流图81-86878
8、89299-10093102959697-9889-9094软件测试方法和应用4-环复杂度p环复杂度环复杂度n闭合区域的数目=5n二值判定节点个数+1=4+1=5n边的数目-节点的数目+2=15-12+2=581-8687889299-10093102959697-9889-9094软件测试方法和应用4-基本路径和测试用例(1)p基本路径和测试用例基本路径和测试用例1.81-86-87-88-92-93-95-97-98-102相应的测试用例:测试输入=(68,68,56)预期结果=这是一个等腰三角形!2.81-86-87-88-92-93-95-96-102相应的测试用例:测试输入=(68,
9、60,56)预期结果=这是一个不等边三角形!81-8687889299-10093102959697-9889-9094软件测试方法和应用4-p基本路径和测试用例基本路径和测试用例3.81-86-87-88-92-93-94-102相应的测试用例:测试输入=(68,68,68)预期结果=这是一个等边三角形!4.81-86-87-89-90-92-99-100-102相应的测试用例:测试输入=(68,8,60)预期结果=这不是一个三角形!基本路径和测试用例(2)81-8687889299-10093102959697-9889-9094软件测试方法和应用4-基本路径与环复杂度1.81-86-87
10、-88-92-99-100-1022.81-86-87-88-92-93-95-97-98-1023.81-86-87-88-92-93-95-96-1024.81-86-87-88-92-93-94-1025.81-86-87-89-90-92-93-94-10281-8687889299-10093102959697-9889-9094软件测试方法和应用4-基本路径与环复杂度p结论结论n如果基本路径必须是可行的,则逻辑关系会压缩基本路径集合数量,因此环复杂度是包含起始点和终止点的基本路径数目的上限软件测试方法和应用4-练习软件测试方法和应用4-练习15-1719202122-2324252
11、62729303132软件测试方法和应用4-对节点粒度的讨论111213软件测试方法和应用4-对节点粒度的讨论11121312345678910111213软件测试方法和应用4-思考如果被误写成if(a=b+c)&(ba+c)&(ca+b),基本路径测试的四个用例(68,68,56),(68,60,56),(68,68,68),(68,8,56)是否可以发现这个问题?软件测试方法和应用4-分支-条件测试p测试思想测试思想n根据模块中的逻辑条件设计测试用例,使得被测模块中的每一个复合条件以及构成这个复合条件的每一个简单条件的真假情况至少被执行一次。1.简单条件是一个布尔变量或一个可能带有NOT(
12、“”)操作符的关系表达式,关系表达式的形式如:E1关系操作符E2,其中E1和E2是算术表达式,而关系操作符是下列之一:“”,“”,“=”,“”(“=”),“”,或“”2.复合条件由简单条件、布尔操作符和括弧组成。假定可用于复合条件的布尔算子包括OR“|”,AND“”和NOT“”,不含关系表达式的条件称为布尔表达式。软件测试方法和应用4-分支-条件测试p进行分支-条件测试可以发现下列缺陷n布尔变量错误n布尔括弧错误n关系操作符错误n算术表达式错误n布尔操作符错误1.遗漏布尔操作符2.布尔操作符多余3.布尔操作符不正确软件测试方法和应用4-案例p使用分支-条件方法设计下面逻辑条件的测试用例p需被测
13、试的逻辑条件n复合条件1.(ab+c)&(ba+c)&(ca+b)n简单条件1.ab+c2.ba+c3.ca+b软件测试方法和应用4-案例(ab+c)&(ba+c)&(ca+b)ab+cba+cca+b68,68,68TTTT0,0,0FFFFp上面的测试用例不推荐大家使用n测试用例有效性不高:t&t=t|t=t同时f&f=f|f=f1.(ab+c)|(ba+c)&(ca+b)2.(ab+c)&(ba+c)|(ca+b)3.(ab+c)|(ba+c)|(ca+b)软件测试方法和应用4-对分支-条件测试的讨论(ab+c)&(ba+c)&(ca+b)ab+cba+cca+b68,68,68TTTT
14、68,8,56FFTT8,68,56FTFT8,56,68FTTFp这组测试用例的结果又如何?1.(a=b+c)&(ba+c)&(ca+b)?软件测试方法和应用4-案例(ab+c)&(ba+c)&(ca+b)ab+cba+cca+b68,68,68TTTT68,8,60FFTT8,68,60FTFT8,60,68FTTFp使用上面的测试用例,是否可以发现下面的缺陷1.(a=b+c)&(ba+c)&(ca+b)2.(ab+c)|(ba+c)&(ca+b)3.(ab+c)&(ba+c)|(ca+b)4.(ab+c)|(ba+c)|(ca+b)软件测试方法和应用4-结论p分支-条件测试可以发现但并不
15、保证发现所有所有下列缺陷n布尔变量错误n布尔括弧错误n关系操作符错误n算术表达式错误n布尔操作符错误1.遗漏布尔操作符2.布尔操作符多余3.布尔操作符不正确p因此,实际设计测试用例过程中要结合具体问题选取恰当的测试输入软件测试方法和应用4-推荐p为了最大限度的发现缺陷,在进行分支-条件测试时,推荐参考P83-P85设计相应被测逻辑条件的测试用例p注意注意n即使依据推荐方法得出的测试用例依然不能发现所有的缺陷!即使依据推荐方法得出的测试用例依然不能发现所有的缺陷!软件测试方法和应用4-练习p指出下列代码逻辑判断条件中的复合条件和简单条件指出下列代码逻辑判断条件中的复合条件和简单条件 If(nMo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 章白盒 测试 设计 方法
限制150内