资源描述:
《软件工程白盒测试实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验三软件测试(白盒测试)预习报告一、实验目的1掌握覆盖率的计算方法。2掌握语句覆盖,分支覆盖(判定覆盖),条件覆盖,条件。分支组合覆盖,条件组合覆盖,组合覆盖的含义及区别。3掌握使用各种覆盖法,设计测试用例的方法。二、实验原理1测试覆盖率测试覆盖率是指用于确定测试所执行到的覆盖项的百分比。其中的覆盖项是指作为测试基础的一个入口或属性,比如语句、分支、条件等。测试覆盖率可以表示出测试的充分性,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。但覆盖率不是目标,只是一种手段。测试覆盖率包括功能点覆盖率和结构覆盖率。功能点覆盖率人致用于表示软
2、件已经实现的功能与软件需要实现的功能之间的比例关系。结构覆盖率包括语句覆盖率、分支覆盖率、循环覆盖率、路径覆盖率等。(1)语句覆盖率语句覆盖率二至少被执行一次的语句数量可执行的语句总数*10%⑵判定覆盖率判定覆盖率二判定结果被评价的次数/判定结果的总数*100%⑶条件覆盖率条件覆盖率二条件操作数值至少被评价一次的数量/条件操作数值的总数"0%⑷定/条件覆盖率判定/条件覆盖率二条件操作数值或判定结果值至少被评价一次的数量/(条件操作数值总数+判定结果总数)*100%(5)条件组合覆盖率条件/合覆盖率涤件操作数值至少被评价一次的数量/条件操作数值的所有组合
3、总数*100%2逻辑覆盖根据覆盖口标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖(条件组合覆盖)、组合覆盖。(1)语句覆盖语句覆盖是选择足够多的测试数据,使得程序中的每个可执行语句至少执行一次。语句覆盖的缺点是对程序执行逻辑的覆盖率很低。为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:A=2,B=0,X=3,就可达到“语句覆盖”标准。为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:A二乙B=0,
4、X二3,就可达到“语句覆盖”标准。⑵判定覆盖判定覆盖是通过设计足够多的测试用例,使得程序中的每一个判定至少获得一次真值和假值,或者使得程序中的每一个取真的分支或取假的分支至少经历一次,也称为分支覆盖。判定覆盖的缺点是主要对整个表达式的最终取值进行度量,忽略了表达式的内部取值。对图34的程序,如果设计两个用例,使它们能通过路径ace和abd,或者通过路径acd和abe,就可达到“判定覆盖”标准,为此,可以选择输入数据为:A=3,B=0,X=l(沿路径acd执行);A=2,B=1,X=3(沿路径abe执行)。⑶条件覆盖条件覆盖是通过设计足够多的测试用例,使
5、得程序屮每个判定包含的每个条件的可能取值(真/假)都至少满足一次。条件覆盖的缺点是不能够满足判定覆盖。图3・1的程序有四个条件:A>1、B二0、22、x>l为了达到“条件覆盖”标准,需要执行足够的测试用例使得在a点有:A>1.A<1.B=0>B中0等各种结果出现,以及在b点有:A二2、牛2、x>l、XV等各种结果岀现。现在只需设计以下两个测试用例就可满足这一标准:A=2,B=0,X=4(沿路径ace执行);A=l/B=l,X=l(i&路径abd执行)。(4)条件判定组合覆盖条件判定组合覆盖(判定条件覆盖)是通过设计足够多的测试用例,使得程序中每个判定包
6、合的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。条件判定组合覆盖的测试用例一定同时满足判定覆盖和条件覆盖。条件判定组合覆盖的缺点是没有考虑单个判定对整体结果的影响,无法发现逻辑错误。对图3・1的程序;可以设计两个测试用例满足条件判定组合覆盖:A=2,B=0/X=4(沿路径ace执行);A=1,B=1,X=1(沿路径abd执行)。(5)条件组合覆盖条合覆盖也称多条件覆盖,是通过设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。条件组合
7、覆盖的缺点是判定语句较多时,条件组合值比较多。再看图的程序,我们需要选择适当的例子,使得下面8种条件组合都能岀现:DA>1,B=ODA>1,Bi0BA<1,B=O@A<1,去0冋A=2ZX>1回A=2,X<1口A牛2,X>1回8牛2,X<1必须注意到,回、回、回、@四种情况是第二个I语句的条件组合,而x的值在该语句之前是要经过计算的,所以述必须根据程序的逻辑推算出在程序的入口点X的输入值应是什么。下面四个例子可以使上述8种条件组合至少出现一次:A=2/B=0,K=4使D、冋两种情况出现;&=2,B=1,X=1使@、@两种情况出现;8=l,B=0,X=2
8、使国、0两种情况出现;&=1,B=1,X=1使@、回两种情况出现。⑹组合覆盖组合覆盖是通过执行