测试覆盖率Test Coverage
维基百科的说明
The term test coverage used in the context of programming / software engineering, refers to measuring how much a software program has been exercised by tests. Coverage is a means of determining the rigour with which the question underlying the test has been answered.
百度百科的释义
测试覆盖率是对测试完全程度的评测。测试覆盖率是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。建立在对测试结果的评估和对测试过程中确定的变更请求(缺陷)的分析的基础上。
解读
测试覆盖率是每个测试都关心的问题,它一方面可以衡量测试工作本身的有效性,也可以辅助增强管理者对于软件产品质量的信心水平。
只是,它的实施会有一定难度,关键在于如何去度量?
常规而言,覆盖率会包含两个层面:
代码层面,从执行后代码的被执行比率、被执行频度等来体现这个指标。当然,除了直接了当的代码行覆盖以外,还有“高级”一点的控制流/数据流路径覆盖。在单元测试级别,这一覆盖指标相对容易获取;而在系统黑盒测试中,这一覆盖率就没有很好的推广,主要是支持的工具很少,支持非入侵的方式则更少。
需求功能层面,即执行的测试用例覆盖了多少Use Case、多少页面、多少场景、多少需求点、多少页面元素等等。这一部分的主观性就相对会比较强,因为对于需求功能,并没有一个公平量化的度量,从而被人为利用的概率也就大增了。所以很多时候,基于需求功能的覆盖率更多变成了纸面上的东西,即业务和管理者如何需要,则这个覆盖率就会如何形成
关于测试覆盖率,还有一层含义,即已经/计划执行的测试用例相比测试用例总集的比例。我们冠之以“执行覆盖率”之名,这个信息可以给测试的回归比率、测试方案的充分性等一个比较直观的信号。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。