白盒测试用例设计剖析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 练习题 void DoWork (int x, int y, int z) { int k=0,j=0; if ( (x3) (z10) ) { k=x*y-1; //语句块1 j=sqrt(k); } if ( (x= =4) || (y5) ) { j=x*y+10; //语句块2 } j=j%3; //语句块3 } * * 流程图 * * 作业题 * * 作业题 试做出左边三角形问题的语句覆盖,条件覆盖,判定覆盖,判定-条件覆盖、组合条件覆盖的测试用例.并注明满足覆盖的条件.eg: a b c 3 4 5 T1T2T3F4F5F6 * * * 语句覆盖 原理:如果语句中有错误,仅靠观察不执行可能发现不了. 语句覆盖就是设计若干个测试用例,运行被测程序,使得每一条可执行语句至少执行一次。 在例图中,正好所有的可执行语句都在路径L1上,所以选择路径 L1设计测试用例,就可以覆盖所有的可执行语句。 * * 语句覆盖 规定测试用例的设计格式如下: 【输入的(A, B, X),输出的(A, B, X)】 为图例设计满足语句覆盖的测试用例是: 【(2, 0, 4),(2, 0, 3)】  覆盖 a-c-e【L1】 输入 A B X 预期结果 A B X * * (A1) (B==0) (A==2) || (X1) X=X/A X=X+1 真 真 假 F a b d c e 开始 * * 语句覆盖 语句覆盖率 已执行的可执行语句占程序中可执行语句总数的百分比 复杂的程序不可能达到语句的完全覆盖 语句覆盖率越高越好 * * 语句覆盖的优点 检查所有语句 结构简单的代码的测试效果较好 容易实现自动测试 代码覆盖率高 如果是程序块覆盖,则不涉及程序块中的源代码 * * 语句覆盖不能检查出的错误 逻辑运算(、||)错误 判定的第一个运算符“”错写成“||”,或第二个运算符“||”错写成“”,这时使用上述的测试用例仍然可以达到100%的语句覆盖. 循环语句错误 循环次数错误 跳出循环条件错误 * * 语句覆盖不能检查出的错误 循环语句例子 for(i=0;i10;i++) { statement; } while(x3) { statement; } for(i=0; i=10; i++) { statement; } while(x3x7) { statement; } * * 语句覆盖率的问题 能达到很高的语句覆盖率 语句覆盖率看似很高,却有严重缺陷: if(x!=1) { statements; ……; } else { statement; } }99句 }1句 测试用例: x = 2 语句覆盖率99% 50%的分支没有达到 * * 判定覆盖 Decision Coverage 判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。 判定覆盖又称为分支覆盖。 对于图例,如果选择路径L1和L2,就可得满足要求的测试用例: * * (A1) (B==0) (A==2) || (X1) X=X/A X=X+1 真 T 假 F a b d c e 开始 * * 判定覆盖 【(2, 0, 4),(2, 0, 3)】 覆盖 ace【L1】 【(1, 1, 1),(1, 1, 1)】 覆盖 abd【L2】 (A==2) and (B==0) or (A1) and (B==0) and (X/A1) * * 判定覆盖 not (A1) and not (A==2) and not (X1) or not (B==0) and not (A==2) and not (X1) * * 判定覆盖 如果选择路径L3和L4,还可得另一组可用的测试用例: 【(2, 1, 1),(2, 1, 2)】覆盖 abe【L3】 【(3, 0, 3),(3, 1, 1)】覆盖 acd【L4】 not (A1) and (X1) or not (B==0) and (A==2) or not (B==0) and (X1) (A1) and (B==0) and not (A==2) and not (X/A1) * * 条件覆盖Condition Coverage 在设计程序中,一个判定语句是由多个条件组

文档评论(0)

LOVE爱 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5341224344000002

1亿VIP精品文档

相关文档