《软件工程-第5章第3节.pptx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

5.3测试用例的设计5.3.1白盒技术1.逻辑覆盖追求程序内部的逻辑结构覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。下面根据图5.1所示的程序,分别讨论几种常用的覆盖技术。1)语句覆盖为了提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次。如图5.1是一个被测程序的程序流程图。

图5.1一个被测试程序的流程图

5.3.1白盒技术如果能测试路径124,就保证每个语句至少执行一次,选择测试数据为a?=?2、b?=?0、x?=?3,输入此组数据,就能达到语句覆盖标准。从程序中每个语句都能执行这点看,语句覆盖似乎全面地检验了每个语句。但它只测试了逻辑表达式为“真”的情况,如果将第一个逻辑表达式中的“AND”错写成“OR”、第二个逻辑表达式中将“x??1”错写成“x??1”,仍用上述数据进行测试,不能发现错误。因此,语句覆盖是比较弱的覆盖标准。

5.3.1白盒技术2)判定覆盖判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖也称分支覆盖。设计测试用例,只要通过路径124、135或者125、134,就达到判定覆盖标准。选择两组数据:a?=?3,b?=?0,x?=?1(通过路径125)a?=?2,b?=?1,x?=?2(通过路径134)对于多分支(嵌套IF,CASE)的判定,判定覆盖要使得每一个判定表达式获得每一种可能的值来测试。

3)条件覆盖条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次,那么,上述程序中有4个条件:a??1,b=0,a=2,x??1要选择足够的数据,使得图5.1中的第一个判定表达式出现结果:a??1,b=0a?≤?1,b?≠?0并使第二个判定表达式出现结果:a=2,x??1a?≠?2,x?≤?1才能达到条件覆盖的标准。5.3.1白盒技术

5.3.1白盒技术为满足上述要求,选择以下两组测试数据:a?=?2,b?=?0,x?=?3(满足a??1,b?=?0,a=2,x??1,通过路径124)a?=?1,b?=?1,x?=?1(满足a?≤?1,b?≠?0,a?≠?2,x?≤?1,通过路径135)以上两组测试用例不但覆盖了判定表达式中所有条件的可能取值,而且覆盖了所有判断的取“真”分支和取“假”分支。在这种情况下,条件覆盖强于判定覆盖。但也有例外情况,设选择另外两组测试数据:a?=?1,b?=?0,x?=?3(满足a?≤?1,b?=?0,a?≠?2,x??1)a?=?2,b?=?1,x?=?1(满足a??1,b?≠?0,a?=?2,x?≤?1)

5.3.1白盒技术4)判定/条件覆盖该覆盖标准指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。对于上述程序,选择以下两组测试用例满足判定/条件覆盖:a?=?2,b?=0,x?=?3a?=?1,b?=?1,x?=?1这也是满足条件覆盖选取的数据。

5.3.1白盒技术从表面上看,判定/条件覆盖测试了所有条件的取值,但实际上条件组合中的某些条件会抑制其他条件。例如在含有“与”运算的判定表达式中,第一个条件为“假”,则这个表达式中的后面几个条件均不起作用;在含有“或”运算的表达式中,第一个条件为“真”,后边其他条件也不起作用,因此,后边其他条件若写错就测不出来。

5.3.1白盒技术5)条件组合覆盖条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。上述程序中,两个判定表达式共有4个条件,因此有8种组合:①a??1,b?=?0②a??1,b?≠?0③a?≤?1,b?=?0④a?≤?1,b?≠?0⑤a?=?2,x??1⑥a?=?2,x?≤?1⑦a?≠?2,x??1⑧a?≠?2,x?≤?1

5.3.1白盒技术下面4组测试用例就可以满足条件组合覆盖标准:a?=?2,b?=?0,x?=?2覆盖条件组合①和⑤,通过路径124a?=?2,b?=?1,

文档评论(0)

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

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

1亿VIP精品文档

相关文档