小复习(1)
测覆盖率的实际应用
一、测试覆盖率的运用
1、简单的测试覆盖率:本次测试执行的用例数/所有用例数
-
一般对于大型系统测试要求覆盖率100%
-
覆盖率的审核:抽样验收
2、基于产品的测试覆盖率:已测试需求点 / 设计所有需求数
- 以产品、需求维度统计,无论大型项目或是小需迭代都要求覆盖率达到100%
- 覆盖率的审核:抽样验收
3、基于白盒的测试覆盖率:大多工具判语句于覆盖,即单元测试代码覆盖代码行/总代码行
- 更多考察研发人员;更多时候要求覆盖率达到80%+
- 缺点:覆盖率数据只能代表测试过哪些代码,不能代表是否测试好这些代码;容易遗漏逻辑、判断场景
4、基于自动化的测试覆盖率:自动化覆盖的测试场景(测试用例)/所有测试场景(用例)
- 80/20原则。比如用户80%的时间在使用20%的功能,20%的功能就可以支撑起用户最关键的业务场景,自动化测试的用例更着重于这20%的核心功能。
- 用途:自动化测试更着重于回归验证,没必要追求过高的覆盖率,而要考虑设计用例。
5、测试覆盖率的最终意义
- 应用最多的地方在测试停止标准。
- 单纯讨论测试覆盖率,在瀑布式开发模型中并不重要,但在螺旋式、敏捷开发模型中,由于不断迭代累加,很难确定哪些模块在开发过程中没有给予足够的测试。
- 在短迭代、Devops中,更强调用单元测试覆盖率来评估不断增加的代码量。