多高的代码覆盖率可以间接衡量质量?
How high code coverage can indirectly measure quality?
很多书里都引用了下面的说法:
This analysis (--code coverage) gives a quantitative measure of the
coverage, which is an indirect measure of the quality.
在我看来,即使是 100% 的语句、分支甚至条件覆盖也不能保证代码的质量——测试可能不正确,逻辑(在源代码和测试中)可能被误解,并且覆盖率可能会被人为地满足。
我不是开发人员,所以也许我遗漏了一些东西 - 如何将其视为质量的间接衡量标准?
将发现并纠正写得不好的测试。
并且大多数体面的程序员会自动检查初级编码员的签到。我已经看到一些可怕的签入,即使在更高级编码员的代码审查之后也是如此。
所以...您通常不得不接受与您一起编写代码的人并非无能,但确实有休息日。由于休息日的频率低于白天,因此代码将具有合理的标准,即高代码覆盖率将测试更多的突出点。
很多书里都引用了下面的说法:
This analysis (--code coverage) gives a quantitative measure of the coverage, which is an indirect measure of the quality.
在我看来,即使是 100% 的语句、分支甚至条件覆盖也不能保证代码的质量——测试可能不正确,逻辑(在源代码和测试中)可能被误解,并且覆盖率可能会被人为地满足。 我不是开发人员,所以也许我遗漏了一些东西 - 如何将其视为质量的间接衡量标准?
将发现并纠正写得不好的测试。
并且大多数体面的程序员会自动检查初级编码员的签到。我已经看到一些可怕的签入,即使在更高级编码员的代码审查之后也是如此。
所以...您通常不得不接受与您一起编写代码的人并非无能,但确实有休息日。由于休息日的频率低于白天,因此代码将具有合理的标准,即高代码覆盖率将测试更多的突出点。