白盒测试及用例详解

目录

第一部分:概念理解

第二部分:上例题

第三部分:例题解答

附:纸质版解答过程

参考链接


第一部分:概念理解

在白盒测试中,逻辑覆盖测试是使用较多的方法。按照其对测试的有效程度,又将其划分为由弱到强的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进行处理,非常感谢!

上一篇 2019年5月20日
下一篇 2019年5月20日

相关推荐