很多程序员一直认为代码覆盖率便是软件测试的灵丹妙药。虽说在实际测试过程中,确实能够依据代码覆盖率指标快速确定代码测试覆盖的百分比, 但是该思路十分片面而且可能导致误导性的测试结果。在使用代码覆盖率的同时,需警惕那些经常被忽略的测试误区。在预估代码的覆盖率时,让我们来深入思考。

误区一:测试行不等于测试代码块

很多人都存在这样一种认识:测试代码可以完全取决于测试行数。这样的想法太过天真,而且在大部分情况下会调用许多附带的逻辑进行测试,因此测试行不等于测试代码块。如果您只根据测试行确定代码的覆盖率,无法完全反应实际代码块得到覆盖。因此,只看测试行数来计算代码的覆盖率是非常片面的,并不能反映出实际的测试代码块涉及面。

误区二:测试覆盖率无法告诉您已测代码比例

测试覆盖率并不能告诉您有多少行代码已被测试。要想知道实际被覆盖的代码量,您需要找到每一个代码块顶部的覆盖率条目,这十分费时费力。如果您尝试使用代码覆盖率,仅凭代码行数进行代码检查,这样很可能仅覆盖了一小部分代码,其他代码未经过检查而遗漏。

误区三:代码覆盖率无法指导代码测试可靠性和完整性

尽管使用代码覆盖率确实可以快速的确定代码测试的覆盖百分比, 然而,代码覆盖率并不一定能够为所有代码的都提供充分的测试,这与测试的目的性相关。正确的测试集应包含多个座大类和种情况的影响,而代码的复杂度以及逻辑流程都是需要考虑的因素。所以仅仅看覆盖率容易造成测试结果的误导。

结论

尽管代码覆盖率是测试代码的有用指标,但是我们并不应该滥用它。这个指标不应该被用来取代人类测试者的判断和专业知识,应更好地与其他测试技术如功能测试、性能测试、安全测试等相结合,综合得出较为准确的测试覆盖度分析。建议在代码覆盖率的实践中多多谨慎,以准确衡量测试覆盖情况,达到软件的高质量发行。

详情参考

了解更多有趣的事情:https://blog.ds3783.com/