资源描述:
《软件测试技术6动态白盒测试ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件测试基础Part2软件测试技术6动态白盒测试本节学习内容动态白盒测试结构性测试基于程序的源代码,因此,通常也称为基于代码测试(code-basedtesting)或白盒测试技术。白盒技术的基本思想是把测试对象的每部分代码至少执行一次。设计面向控制流的测试用例,分析程序的逻辑,然后执行测试用例。动态白盒测试为了能够明确程序的执行结果是否会导致失败,测试的期望结果是根据需求或规格说明来确定的,而不是代码本身。白盒测试技术主要是检查测试对象的语句,其基本目标是在测试时实现事先定义的语句覆盖率,比如执行程序中所有可能的语句。动态白
2、盒测试为什么要进行白盒测试从一个比喻开始白盒测试是高效测试白盒测试能彻底解决编码阶段引入的问题清洗面包机动态白盒测试做白盒测试时,第一步先将源代码转换为控制流图。在控制流图中,以结点表示语句,以边来表示语句之间的控制流。白盒测试的基本思想动态白盒测试语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖白盒测试主要技术动态白盒测试白盒测试举例publicintfunction(inta,intb,intx){1if(a>1&&b==0)2x=x/a;3if(a==2
3、
4、x>1)4x=x+1;}语句覆盖判定覆盖条件覆盖判定/
5、条件覆盖条件组合覆盖路径覆盖动态白盒测试名词理解:开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce条件判断语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖动态白盒测试开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce条件判断1234abcde动态白盒测试(1)语句覆盖使程序中每个语句至少执行一次1234abcde如右图所示:使每个语句至少执行一次的流程是哪一条呢?动态白盒测试(1)语句覆盖只需设计一个测试用例:输入数据:A=
6、2,B=0,X=4即达到了语句覆盖;语句覆盖是最弱的逻辑覆盖用例编号测试用例(A/B/X)覆盖语句预期结果实际结果TC12,0,41,2,3,4X=3动态白盒测试(1)语句覆盖练习:画出以下程序的程序流图和控制流图,并采用语句覆盖设计测试用例。动态白盒测试开始(x>3)AND(z<0)(x==4)OR(y>5)j=j%3k=x*y-1j=k-zj=X*y+10FFTTabdce条件判断j=j%3返回1234abcde5程序流图和控制流图动态白盒测试用例编号测试用例(x/z/y)覆盖语句预期结果实际结果TC14,-1,61,2,
7、3,4,5k=23,j=1测试用例如下:动态白盒测试(2)判定覆盖(分支覆盖)使每个判定的真假分支都至少执行一次开始(A>1)AND(B==0)(A==2)OR(X>1)返回X=X/AX=X+1FFTTabdce动态白盒测试(2)判定覆盖(分支覆盖)例:可设计两组测试用例:A=3,B=0,X=1可覆盖c、d分支A=2,B=1,X=3可覆盖b、e分支两组测试用例可覆盖所有判定的真假分支判定覆盖仍是弱的逻辑覆盖用例编号测试用例(A/B/X)覆盖分支预期结果实际结果TC13,0,1c,dX=1TC22,1,3b,eX=2动态白盒测试
8、(2)判定覆盖(分支覆盖)步骤:识别并标识所有输入;识别并标识所有判断;取不同的输入组合构成测试用例,并给出预期结果用例编号测试用例(A/B/X)覆盖分支预期结果实际结果TC13,0,1c,dX=1TC22,1,3b,eX=2动态白盒测试(2)判定覆盖(分支覆盖)练习:采用判定覆盖设计以下测试用例动态白盒测试(3)条件覆盖使每个判定的每个条件的可能取值至少执行一次第一判定表达式:设条件A>1取真记为T1假F1条件B=0取真记为T2假F2第二判定表达式:设条件A=2取真记为T3假F3条件X>1取真记为T4假F4动态白盒测试开始(
9、A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce条件(3)条件覆盖动态白盒测试(3)条件覆盖开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce条件满足不满足A>1T1F1B=0T2F2A=2T3F3X>1T4F4动态白盒测试(3)条件覆盖两个测试用例覆盖了四个条件八种可能取值。未覆盖c、d分支,不满足判定覆盖的要求.条件覆盖不一定包含判定覆盖判定覆盖也不一定包含条件覆盖测试用例ABX通过路径满足的条件覆盖分支103abeF1,T2,F3,T
10、4b,e211abeT1,F2,T3,F4b,e请用条件覆盖为以上流程图设计测试用例?动态白盒测试(3)条件覆盖步骤:识别并标识所有输入;识别并标识所有条件;取不同的输入组合构成测试用例,并给出预期结果用例编号测试用例ABX通过路径满足的条件覆盖分支TC1103abeF1,T