资源描述:
《第04章、白盒测试技术-逻辑覆盖驱动测试(理论课)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、白盒测试与OO测试第四章、白盒测试技术-逻辑覆盖驱动测试课程回顾第一章:白盒测试技术白盒测试的概念和特点白盒与黑盒测试的比较白盒测试的一些必要知识第二章:提高代码质量软件质量度量编码规范和代码检查单代码度量元辅助代码分析工具2本章学习目标逻辑驱动覆盖测试语句覆盖判定(分支)覆盖条件覆盖判定条件覆盖条件组合覆盖路径测试覆盖3逻辑驱动覆盖测试针对程序的内部逻辑结构设计测试用例通过运行测试用例达到逻辑覆盖目的是最传统最经典的白盒测试技术要求测试人员对程序的逻辑结构非常清楚4例子代码先看下面代码:voidDoWork(intx,inty,intz){intk=0,j
2、=0;if((x>3)&&(z<10)){k=x*y-1;//语句块1j=sqrt(k);}if((x==4)
3、
4、(y>5)){j=x*y+10;//语句块2}j=j%3;//语句块3}5辅助方法-流程图x>3&&z<10x==4
5、
6、y>5入口语句块1语句块2语句块3出口abcde画出模块的流程图发现问题辅助设计测试用例6语句覆盖概念语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次。7语句覆盖-设计用例测试用例输入为:{x=4、y=5、z=5}x>3&&z<10x==4
7、
8、y>5入口语句块1语句块2语句块3出口abcde程序执
9、行的路径是:abd8分支/判定覆盖概念设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次;9分支/判定覆盖-设计用例测试用例的输入为:{x=4、y=5、z=5}{x=2、y=5、z=5}TestCasesx>3&&z<10x==4
10、
11、y>5入口语句块1语句块2语句块3出口abcde程序执行的路径是:abd程序执行的路径是:ace10条件覆盖概念设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次;11条件覆盖-设计用例x>3&&z<10x==4
12、
13、y>5入口语句块1语句块2语句块3出口abc
14、deT1和-T1T2和-T2T3和-T3T4和-T412条件覆盖-设计用例测试用例的输入为:{x=4、y=6、z=5}{x=2、y=5、z=5}{x=4、y=5、z=15}TestCasesx>3&&z<10x==4
15、
16、y>5入口语句块1语句块2语句块3出口abcde程序执行的路径是:abd程序执行的路径是:ace程序执行的路径是:acd13测试用例(1)测试用例通过路径条件取值覆盖分支x=4、y=6、z=5abdT1、T2、T3、T4bdx=2、y=5、z=5ace-T1、T2、-T3、-T4cex=4、y=5、z=15acdT1、-T2、T3、-T4cd
17、则可以设计测试用例如下:14测试用例(2)测试用例通过路径条件取值覆盖分支x=2、y=6、z=5acd-T1、T2、-T3、T4cdx=4、y=5、z=5acdT1、-T2、T3、-T4cd假如根据定义设计测试用例如下:15分支-条件测试概念设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。16分支-条件测试-设计用例根据定义只需设计以下两个测试用例便可以覆盖8个条件值以及4个判断分支。测试用例通过路径条件取值覆盖分支x=4、y=6、z=5abdT1、
18、T2、T3、T4bdx=2、y=5、z=11ace-T1、-T2、-T3、-T4ce17分析例如对于条件表达式(x>3)&&(z<10)来说,必须两个条件都满足才能确定表达式为真。如果(x>3)为假则一般的编译器不在判断是否z<10了。对于第二个表达式(x==4)
19、
20、(y>5)来说,若x==4测试结果为真,就认为表达式的结果为真,这时不再检查(y>5)条件了。18条件组合覆盖概念设计足够的测试用例,运行被测试对象,使得每一个判断的所有可能的条件取值组合至少执行一次。19标记x>3,z<10记做T1T2第一个判断的取真分支x>3,z>=10记做T1-T2第一个
21、判断的取假分支x<=3,z<0记做-T1T2第一个判断的取假分支x<=3,z>=10记做-T1-T2第一个判断的取假分支x=4,y>5记做T3T4第二个判断的取真分支x=4,y<=5记做T3-T4第二个判断的取真分支x!=4,y>5记做-T3T4第二个判断的取真分支x!=4,y<=5记做-T3-T4第二个判断的取假分支现在对例子中的各个判断的条件取值组合加以标记如下:20设计测试用例测试用例通过路径条件取值覆盖组合号x=4、y=6、z=5abdT1、T2、T3、T41和5x=4、y=5、z=15acdT1、-T2、T3、-T42和6x=2、y=6、z=5ac
22、d-T1、T2、-T3、T43和7x=2、y=5、z