zoukankan      html  css  js  c++  java
  • 测试覆盖率

    覆盖率是用来度量测试完整性的一个手段。覆盖率是测试技术有效性的一个度量。

    计算公式:覆盖率=(至少被执行一次的item数)/item的总数

    覆盖率按照测试方法大体上可以划分为三类:

    1)白盒覆盖率:也叫代码覆盖率或结构化覆盖率。白盒覆盖率中最常见的是逻辑覆盖率。

         逻辑覆盖率包括:语句覆盖(可执行的语句);

                                      判定覆盖(判定结果);

                                      条件覆盖(每个条件分为true、false);

                                      判定条件覆盖(将判定和条件覆盖的分子、分母分别相加);

                                      条件组合覆盖(将每组判定结果全排列后相加);

                                      路径覆盖。

         其他覆盖如指令块覆盖、判定路径覆盖等。

         例:

         

         针对上图程序,执行测试用例(A=3,B=0,X=1)分别计算这种情况下的语句覆盖率、判定覆盖率、条件覆盖率、判定条件覆盖率、条件组合覆盖率和路径覆盖率。

         语句覆盖率:1/2;

         判定覆盖率:2/4;

         条件覆盖率:4/8;

         判定条件覆盖率:6/12;

         条件组合覆盖率:2/8;

         路径覆盖率:1/4;

    小结:

    每种覆盖率度量的时候都有其局限性,因此要把各种覆盖率组合起来对测试进行度量。

    各种结构测试方法都不能保证程序的正确性,但是测试的目的并非要证明程序的正确性,而是要尽可能找出程序中的错误。

    2)灰盒覆盖率:一般指函数覆盖、接口覆盖。

    3)黑盒覆盖率:主要是功能覆盖率。

         功能覆盖率中最常见的是需求覆盖,其含义是通过设计一定的测试用例,要求每个需求点都被测试到。

    测试用例设计不能一味追求覆盖率,因为测试成本会随覆盖率的增加而增加。

  • 相关阅读:
    Java中equals方法和==的区别
    android 使用colors.xml设置颜色
    20199103《网络攻防实践》假期作业
    20199103 201920202《网络攻防实践》第一周作业
    20199103 201920202 《网络攻防实践》第二周作业
    [整理]如何做一个语法着色控件
    [原创]Thunderbird签名中含有图片发送失败的问题
    [原创]Linux下的Subversion安装与配置
    [原创]使用Selenium2测试含有iframe的Ajax网页
    [原创]打造完整的OracleDB学习环境 系统安装篇
  • 原文地址:https://www.cnblogs.com/spring1122/p/9352909.html
Copyright © 2011-2022 走看看