软件测试基本概念 覆盖率

测试计划中就需要考虑如何提高覆盖率的细节问题。

1 覆盖率分析,基于需求(功能,性能),基于结构。

1.1 结构化测试,缺点:不能发现需求疏忽的错误;但是需求定义有时并不存在,而且不完整,所以有必要进行这种测试。

       可根据代码外观目的,写测试用例,然后再与开发的评审中,发现是否与需求一致。因为下面的方法,都无法检查代码中&&, || 写错的情况。据说MC/DC覆盖可以检查,有待考查。

1.1.1 逻辑覆盖法 基础:规格说明书,每条通路是否都有按照预定要求工作,不顾功能,与开发确认。

1.1.1.1 语句覆盖: 至少被执行一次。对||, && 反应迟钝。

1.1.1.2 分支覆盖

1.1.1.3 条件覆盖

1.1.1.4 条件组合覆盖 至少出现一次,可能未包含所有路径

                             条件判定表达式1,。(1)A>1,B=0 (2)A>1,B!=0 (3) A<=1, B=0 (4)A<=1, B!=0

                             条件判定表达式2,    (5) A=2,X>1 (6) A=2, X<=1 (7)A!=2, X>1 (8) A!=2, X<=1

                 条件组合,(1)A=2, B=0, X=4 (1,5)

                               (2)a=1, b=1, x=1 (2,6)

                                (3) a=1, b=0, x=2 (3,7)

                                (4) a=1, b=1, x=1 (4,8)

1.1.1.5 路径覆盖      覆盖所有可能路径,数量大,但是未考虑条件组合or。

1.1.2.1 基本路径测试法

 (1)程序控制流图 (2) 圈复杂度 V(G)= e-n+2 , V(G)=p+1 (谓词结点的数量)(3)测试用例

1.1.2.2 循环测试

  整个跳过,only one, two, m次, n-1/n+1次 嵌套测试。

基本路径测试法,达到了语句覆盖的标准。

逻辑覆盖中的路径覆盖,是覆盖所有可能的路径,数量大。

原文地址:https://www.cnblogs.com/qingxia/p/2595630.html