实践:白盒测试之逻辑覆盖案例2.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 白盒测试之逻辑覆盖案例 测试覆盖率 测试覆盖率:用于确定测试所执行到的覆盖项的百分比。其中的覆盖项是指被测试的对象,可以是语句、分支、条件、路径等,也可以是模块、部件、功能或需求项等。 覆盖率=实际测试过的测试项的数量/测试项的总数 例如: 假设一个程序由100条可执行语句组成,实际测试时只执行了其中的60条语句。则语句覆盖率为60%。 假设一个程序有10项功能,如果到某个时间点测试了9项功能,那么这时的功能覆盖率为90%。 测试覆盖率 测试覆盖率包括功能点覆盖率和结构覆盖率: -----功能点覆盖率大致用于表示软件已经实现的功能与软件需要实现的功能之间的比例关系。 -----结构覆盖率包括语句覆盖率、分支覆盖率、条件覆盖、循环覆盖率、路径覆盖率等等。 测试覆盖率在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。 逻辑覆盖法 也称为代码覆盖,根据程序的逻辑或控制结构,针对代码(包括语句、条件、分支、路径)来考虑测试。常用覆盖测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。 语句覆盖:选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。 判定覆盖(也称为分支覆盖):通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值, 也就是使程序中的每个取“真”分支和取“假”分支至少均经历一次。 条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次。 逻辑覆盖法(续) 判定/条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。 ——满足判定/条件覆盖的测试用例一定同时满足判定覆盖和条件覆盖。 组合覆盖:通过执行足够的测试用例,使得程序中每个判定的所有可能的条件取值组合都至少出现一次。 ——满足组合覆盖的测试用例一定满足判定覆盖、条件覆盖和判定/条件覆盖。 路径覆盖:设计足够多的测试用例,要求覆盖程序中所有可能的路径。 案例 void DoWork (int x,int y,int z) { 1 int k=0,j=0; 2 if ( (x>3)&&(z<10) ) 3 { 4 k=x*y-1; 5 j=sqrt(k); 6 } //语句块1 7 if ( (x==4)||(y>5) ) 8 { j=x*y+10}; //语句块2 9 j=j%3; //语句块3 10 } 流程图及流图 语句覆盖 语句覆盖:选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。 测试用例:{ x=4、y=5、z=5 } 程序执行的路径:abd 判定覆盖 判定覆盖: 通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值 需要设计两个测试用例:{x=4、y=5、z=5}; {x=2、y=5、z=5} 程序执行的路径分别是:abd;ace 流程图及流图 条件覆盖 条件覆盖的目的是设计若干测试用例,在执行被测程序后,要使每个判定中每个条件的可能值至少满足一次。 对DoWork函数的各个判定的各种条件取值加以标记。 对于第一个判定( (x>3)&&(z<10) ): 条件x>3 取真值记为T1,取假值记为-T1 条件z<10 取真值记为T2,取假值记为-T2 对于第二个判定( (x==4)||(y>5) ): 条件x==4 取真值记为T3,取假值记为-T3 条件y>5 取真值记为T4,取假值记为-T4 条件覆盖(续) 根据条件覆盖的基本思想,要使上述4个条件可能产生的8种情况至少满足一次,设计测试用例如下: 条件覆盖(续) 说明:虽然前面的一组测试用例同时达到了条件覆盖 和判定覆盖,但是,并不是说满足条件覆盖就一定能满足判定覆盖。如果设计了下表中的这组测试用例,则虽然满足了条件覆盖,但只是覆盖了程序中第一个判定的取假分支c 和第二个判定的取真分支d,不满足判定覆盖的要求。 流程图及流图 判定/条件覆盖 实际

文档评论(0)

wdtgdd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档