测试覆盖率的含义
测试覆盖率既不是测试的一种方法,而是衡量测试完整性的一种手段。通过测试覆盖率我们可以知道测试是否充分,还存在哪些潜在的风险和弱点,指导测试人员有目的补充增加覆盖率的测试用例。当然,也不用一味的追求100%的覆盖率,因为这不仅提高了成本,而且即便覆盖率达到了100%也仍会有未被用例设计到潜在BUG。
白盒测试覆盖率
白盒测试覆盖率一般是逻辑覆盖率,常见的逻辑覆盖率有:语句覆盖率、判定覆盖率、条件覆盖率、判定条件覆盖率、条件组合覆盖率、路径覆盖率等。
语句覆盖率
语句覆盖率=(至少被执行一次的语句)/(总的语句数量)
特点:即使语句覆盖率达到100%,仍有可能对判定或者条件有遗漏。
判定覆盖率
判定覆盖率=(判定结果被评价的次数)/(判定结果的总数)
特点:即使判定覆盖率达到100%,仍有可能对条件有遗漏。
条件覆盖率
条件覆盖率=(条件操作值至少被评价一次的数量)/(条件操作值的总数)
特点:即使条件覆盖率达到100%,仍有可能对判定有遗漏。
判定条件覆盖率
条件覆盖率=(条件操作值或判定结果至少被评价一次的数量)/(条件操作值的总数+判定结果的总数)
特点:即使判定条件覆盖率达到100%,仍有可能对条件组合有遗漏。
条件组合覆盖率
条件覆盖率=(被至少执行一次的