什么是测试覆盖率?如何衡量?
什么是测试覆盖率?—— 不仅仅是数字游戏
你好,我是[海姐软件测试],一位在CSDN上分享软件测试知识的同行。今天我们来深入聊聊“测试覆盖率”这个既基础又关键的概念。
核心定义:
测试覆盖率是一种量化指标,用于衡量我们的测试用例对被测软件代码的覆盖程度。简单来说,它就是一把“尺子”,用来回答一个关键问题:“我们的测试到底测了多少代码?”
形象的比喻:
想象一下,你要用探照灯检查一个巨大的体育场(你的代码库)。
-
测试用例就像你的探照灯光束。
-
测试覆盖率就是光束照到的区域与整个体育场面积的百分比。
-
覆盖率100%意味着每个角落都被照亮了,但这能保证体育场里没有一个损坏的座椅吗?不能!它只能保证没有“未被照到的黑暗角落”。
所以,测试覆盖率的核心价值在于发现未测试的代码,而不是证明代码没有错误。
如何衡量测试覆盖率?—— 主要的度量维度
衡量覆盖率不是单一维度的,我们通常从以下几个粒度由细到粗的维度来评估:
1. 语句覆盖率
-
定义:在测试运行中,至少被执行一次的语句占总语句的百分比。
-
关注点:代码中的每一行是否都被执行到了?
-
例子:
python
def calculate_discount(amount, is_member):discount =