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)黑盒覆盖率:主要是功能覆盖率。

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

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

  • 相关阅读:
    ASP.NET的最新安全漏洞Important: ASP.NET Security Vulnerability
    Sql常用日期格式
    倒计时 服务器时间 .NET js javascript
    “备份集中的数据库备份与现有的数据库不同”解决方法
    2010年最佳jQuery插件
    jQuery1.4与json格式兼容问题
    .NET结束外部进程 C#结束外部进程
    十步优化SQL Server中的数据访问
    SQL游标的使用与语法
    SQL2005、SQL2008如何压缩日志文件(log) 如何清除日志
  • 原文地址:https://www.cnblogs.com/spring1122/p/9352909.html
Copyright © 2011-2022 走看看