• 测试覆盖率


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

    计算公式:覆盖率=(至少被执行一次的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)黑盒覆盖率:主要是功能覆盖率。

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

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

  • 相关阅读:
    我认为的架构师
    Jenkins github账号密码验证方式失效 解决方式
    android逆向奇技淫巧二十一:ida反反调试&加密算法跟踪(未完待续)(六)
    android逆向奇技淫巧十九:unidbg模拟执行和trace x音so代码(四)
    android逆向奇技淫巧十八:x音so层代码花指令防护分析(三)
    android逆向奇技淫巧十七:android客户端自动x红包(一):代码原理分析
    测试工具安装汇总
    javascript事件节流和防抖
    CompletableFuture-更优雅的使用多线程
    青春
  • 原文地址:https://www.cnblogs.com/spring1122/p/9352909.html
Copyright © 2020-2023  润新知