目录
第一部分:概念理解
第二部分:上例题
第三部分:例题解答
附:纸质版解答过程
参考链接
第一部分:概念理解
在白盒测试中,逻辑覆盖测试是使用较多的方法。按照其对测试的有效程度,又将其划分为由弱到强的6种:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。
详细看下图的分类:
第二部分:上例题
实践是检验真理的唯一标准,下面用一道例题,来巩固和学习上面的几种逻辑覆盖方法。
源代码:
public void function(int a, int b, int c)
{
if ((a > 1) && (b == 0))
{
c /= a;
}
if ((a == 5) || (c > 1))
{
c += 1;
}
c = a + b + c;
}
程序流程图:
图中A、B、C、D、E分别表示路径;并且记第一个判断为P1,记第二个判断为P2;一共有4个条件,我们记为C1:a>1、C2:b=0、C3:a=5、C4:c>1。
第三部分:例题解答
根据上面例子来看看如何写出6种覆盖的测试用例。
语句覆盖
测试数据 | C1 | C2 | C3 | C4 | P1 | P2 | 路径 |
a=5,b=0,c=6 | T | T | A→C→E |
判定覆盖(也叫分支覆盖)
测试数据 | C1 | C2 | C3 | C4 | P1 | P2 | 路径 |
a=2,b=0,c=1 | T | F | A→C→D | ||||
a=0,b=1,c=2 | F | T | A→B→E |
条件覆盖
测试数据 | C1 | C2 | C3 | C4 | P1 | P2 | 路径 |
a=5,b=0,c=1 | T | T | T | F | A→C→E | ||
a=1,b=3,c=6 | F | F | F | T | A→B→E |
判定-条件覆盖(也叫条件-分支覆盖)
测试数据 | C1 | C2 | C3 | C4 | P1 | P2 | 路径 |
a=2,b=0,c=1 | T | T | F | F | T | F | A→C→D |
a=5,b=1,c=10 | F | F | T | T | F | T | A→B→E |
条件组合覆盖
测试数据 | C1 | C2 | C3 | C4 | P1 | P2 | 路径 |
a=5,b=0,c=4 | T | T | T | F | A→C→E | ||
a=2,b=1,c=5 | T | F | T | T | A→B→E | ||
a=0,b=0,c=2 | F | T | F | T | A→B→E | ||
a=-1,b=1,c=-1 | F | F | F | F | A→B→D |
路径覆盖
测试数据 | C1 | C2 | C3 | C4 | P1 | P2 | 路径 |
a=1,b=1,c=1 | F | F | A→B→D | ||||
a=1,b=0,c=6 | F | T | A→B→E | ||||
a=2,b=0,c=1 | T | F | A→C→D | ||||
a=5,b=0,c=10 | T | T | A→C→E |
附:纸质版解答过程
参考链接
参考例子和我的解答,你一定可以弄的清楚明白的。还有就是,最好自己动手做一做。
参考博客1:https://blog.csdn.net/liujian619/article/details/45270813
参考博客2:https://blog.csdn.net/u011032983/article/details/52123426
如果想对软件测试这门课有更系统的认识,可以参考我的另一篇博文
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!