欢迎来到天天文库
浏览记录
ID:57180213
大小:340.50 KB
页数:54页
时间:2020-08-02
《软件测试用例设计(白盒)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件测试用例设计北京万维空间网络技术有限责任公司测试用例测试用例由测试输入数据以及与之对应的输出结果组成。测试用例设计的好坏直接决定了测试的效果和结果。所以说在软件测试活动中最关键的步骤就是设计有效的测试用例。测试用例可以针对黑盒测试设计用例,也可以针对白盒测试设计用例,我们今天只讲针对白盒测试的用例设计方法。概念语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次;判定覆盖(也称为分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次;条件覆盖:设计足够多的测试用例
2、,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次;判定-条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的所有可能取值至少执行一次,并且每个可能的判断结果也至少执行一次,换句话说,即是要求各个判断的所有可能的条件取值组合至少执行一次;条件组合测试:设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值组合至少执行一次;路径测试:设计足够多的测试用例,运行所测程序,要覆盖程序中所有可能的路径。下面以例子进行分析讲解:voidDoWork(intx,inty,intz){intk=0,j=
3、0;if((x>3)&&(z<10)){k=x*y-1;//语句块1j=sqrt(k);}if((x==4)
4、
5、(y>5)){j=x*y+10;//语句块2}j=j%3;//语句块3}画出上面函数的流程图如下:语句覆盖:为了说明简略,分别对各个判断的取真、取假分支编号为b、c、d、e。为了测试语句覆盖率只要设计一个测试用例就可以把三个执行语句块中的语句覆盖了。测试用例输入为:{x=4、y=5、z=5}程序执行的路径是:abd该测试用例虽然覆盖了可执行语句,但并不能检查判断逻辑是否有问题,例如在第一个判断中把&&错误的写成了
6、
7、,则上面的测试用例仍
8、可以覆盖所有的执行语句。可以说语句覆盖率是最弱的逻辑覆盖准则。分支覆盖对于上面的程序,如果设计两个测试用例则可以满足条件覆盖的要求。测试用例的输入为:{x=4、y=5、z=5}{x=2、y=5、z=5}上面的两个测试用例虽然能够满足条件覆盖的要求,但是也不能对判断条件进行检查,例如把第二个条件y>5错误的写成y<5,、上面的测试用例同样满足了分支覆盖。条件覆盖条件覆盖就是设计若干个测试用例,运行被测试对象,使得程序中每个判断的每个条件的可能取值至少执行一次。对例子中的所有条件取值加以标记。例如:对于第一个判断:条件x>3取真值为T1,取假值为-T
9、1条件z<10取真值为T2,取假值为-T2对于第二个判断:条件x=4取真值为T3,取假值为-T3条件y>5取真值为T4,取假值为-T4则可以设计测试用例如下测试用例通过路径条件取值覆盖分支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上面的测试用例不但覆盖了所有分支的真假两个分支,而且覆盖了判断中的所有条件的可能值。但是如果设计了下面的测试用例,则虽然满足了条件覆盖,但只覆盖了第一个条件的取假分支和第二个条件的取真分支,
10、不满足分支覆盖的要求。测试用例通过路径条件取值覆盖分支x=2、y=6、z=5acd-T1、T2、-T3、T4cdx=4、y=5、z=5acdT1、-T2、T3、-T4cd分支条件覆盖:分支条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。根据定义只需设计以下两个测试用例便可以覆盖8个条件值以及4个判断分支。测试用例通过路径条件取值覆盖分支x=4、y=6、z=5abdT1、T2、T3、T4bdx=2、y=5、z=11ace-T1、
11、-T2、-T3、-T4ce分支条件覆盖从表面来看,它测试了所有条件的取值,但是实际上某些条件掩盖了另一些条件。例如对于条件表达式(x>3)&&(z<10)来说,必须两个条件都满足才能确定表达式为真。如果(x>3)为假则一般的编译器不在判断是否z<10了。对于第二个表达式(x==4)
12、
13、(y>5)来说,若x==4测试结果为真,就认为表达式的结果为真,这时不再检查(y>5)条件了。因此,采用分支条件覆盖,逻辑表达式中的错误不一定能够查出来了。条件组合覆盖:条件组合覆盖就是设计足够的测试用例,运行被测试对象,使得每一个判断的所有可能的条件取值组合至少执
14、行一次。现在对例子中的各个判断的条件取值组合加以标记如下:x>3,z<10记做T1T2,第一个判断的取真分支x>3,z>=10记做T1-
此文档下载收益归作者所有