- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试逻辑覆盖详解
E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 E. Angel and D. Shreiner: Interactive Computer Graphics 6E ? Addison-Wesley 2012 * 内容 (1)逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖 * 逻辑覆盖 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x3)(z10) ) { k=x*y-1; j=sqrt(k); } //语句块1 if ( (x==4)||(y5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 } * 逻辑覆盖 X3 z10 执行语句块1 执行语句块2 X==4 || y5 执行语句块3 F F T T a b d c e * 逻辑覆盖 语句覆盖:选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。 要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。 测试用例输入为:{ x=4、y=5、z=5 } 程序执行的路径是:abd 分析: 语句覆盖可以保证程序中的每个语句都得到执行,但发现不了判定中逻辑运算的错误,即它并不是一种充分的检验方法。例如在第一个判定((x3)(z10))中把“”错误的写成了“||”,或者把x3误写成x 2,这时仍使用该测试用例,则程序仍会按照流程图上的路径abd执行。可以说语句覆盖是最弱的逻辑覆盖准则。 * 逻辑覆盖 判定覆盖:通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值, 也就是使程序中的每个取“真”分支和取“假”分支至少均经历一次,也称为“分支覆盖”。 要实现DoWork函数的判定覆盖,需要设计两个测试用例。 测试用例的输入为:{x=4、y=5、z=5};{x=2、y=5、z=5} 程序执行的路径分别是:abd;ace 分析: 上述两个测试用例不仅满足了判定覆盖,同时还做到语句覆盖。从这点看似乎判定覆盖比语句覆盖更强一些,但仍然无法确定判定内部条件的错误。例如把第二个判定中的条件y5错误写为y5,使用上述测试用例,照样能按原路径执行而不影响结果。因此,需要有更强的逻辑覆盖准则去检验判定内的条件。 * 逻辑覆盖 条件覆
文档评论(0)