白盒测试:语句/条件/判定/判定条件/条件组合/路径覆盖

白盒测试方法详解

  • 测试流程
  • 语句覆盖
  • 判定覆盖
  • 条件覆盖
  • 判定条件覆盖
  • 条件组合覆盖
  • 路径覆盖

测试流程

  • 测试计划:根据需求说明书,制定测试的计划、进度
  • 测试设计:按照软件的需求、规格,按照规范的方法对软件进行结构划分以及设计合适的测试用例
  • 测试执行:输入测试用例,记录测试结果
  • 测试总结:观察测试结果,与预期结果对比,找到软件的bug

语句覆盖

语句覆盖很好理解了,就是设计若干个测试用例,保证我们的每一行有效代码都能够被执行至少一次就可以了。

判定覆盖

又称分支覆盖,对每个有分支的语句,如 if else 等,对每种情况的所产生的分支都要走一遍。

条件覆盖

一开始看的时候我有点懵,看了几个实例才清楚,条件覆盖,即我们设计的所有测试用例,要包含了条件语句的每个条件的所有情况,如

此时,所有条件语句中有这么多种情况:

我们的所有测试用例,要把上述的所有情况包含进去,如:

到这里我有点迷茫,似乎语句覆盖、判定覆盖、条件覆盖经常相同,找不出具体的执行差别,但这其实不重要,因为我们的测试点不同,测试方法针对的对象不一样,尽管整体上的测试流程没有明显的区别,但针对不同点测试时产生的效果明显不一样。

判定条件覆盖

因为满足了多有条件的覆盖,并不能保证每个分支都走一遍,如:

可以看出测试用例符合条件覆盖但只执行了if中true的分支,所以我们要设计即满足条件覆盖,又满足判定覆盖的用例:

条件组合覆盖

每个单条件中的true or false 都与别的每个单条件的true or false 组合过,如:

此时有:

3对情况,所以有2×2×2=8种组合,即:

路径覆盖

我们知道我们的程序可以通过点和线用流程图表示出来,流程图中每个判定节点又会产生许多分支,这就导致产生了许多程序的执行路径,所以我们设计的测试用例就需要满足流程图中每个路径都走一遍,环路至少走一遍
我们设E为边数,N为节点数,P为判断节点数
则定义路径复杂度V(G)为:

来源:行走山河

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年2月22日
下一篇 2020年2月22日

相关推荐