三级信息管理技术分章节考试要点:软件工程(软件测试之白盒测试的测试用例设计)

来源:计算机等级考试    发布时间:2012-08-27    计算机等级考试视频    评论

  白盒测试的测试用例设计

  白盒测试是根据程序的内部逻辑来设计测试用例,常用的技术是逻辑覆盖,即考察用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的覆盖标准有6种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。

  为了提高测试的效率,应选择最少的测试用例来满足指定的覆盖标准。

  1.语句覆盖

  Examda提示: 语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。

  2.判定覆盖

  判定覆盖又称为分支覆盖。它是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次(即判定的每个分支至少经过一次)。

  3.条件覆盖

  在软件设计过程中,一个判定往往由多个条件组成,判定覆盖仅考虑了判定的结果而没有考虑每个条件的可能结果。

  条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中的每个条件的所有可能结果至少出现一次。

  4.判定/条件覆盖

  判定/条件覆盖是指选择足够的测试用例。使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果至少出现一次。

  显然,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖标准。在某些程序的测试中,如果选择得好,判定覆盖、条件覆盖和判定/条件覆盖可以使用相同的最少的测试用例。

  5.条件组合覆盖

  在条件覆盖中考虑了判定中每个条件的所有可能结果,但并未考虑条件的组合情况。条件组合覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定中条件结果的所有可能组合至少出现一次。

  Examda提示: 由于条件组合覆盖使每个判定中条件结果的所有可能组合都至少出现一次,因此判定本身的所有可能结果也一定至少出现一次,同时也使每个条件的所有可能结果至少出现一次。因此,条件组合覆盖是上述5种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都被覆盖。

  6.路径覆盖

  路径覆盖是指选择足够的测试用例,使得运行这些测试用例时,程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路至少经过一次)。

  路径覆盖实际上是考虑了程序中各种判定结果的所有可能组合,但它并未考虑判定中的条件结果的组合,因此它是一种比较强的覆盖标准,但并不能代替条件覆盖和条件组合覆盖。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答