需要100%的测试覆盖率吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/01 07:08:10

需要100%的测试覆盖率吗?
需要100%的测试覆盖率吗?

需要100%的测试覆盖率吗?
多少测试才算够用呢?答案因人而异.有人会告诉你要做到100%的测试覆盖率.另一些人却不这么想,他们认为这个问题的答案因测试代码质量的不同而不同,而衡量测试覆盖率并不能说明这些测试及被测试代码的质量. 来自ObjectMentor的Tim Ottinger写道:“如果你正在进行真正的TDD,那么你的测试覆盖率应该很高,因为你只有编写出产品级代码才能满足测试的部分.”这很巧妙地表明,TDD对已有代码的测试覆盖率几乎没有什么影响. 我并不是说代码覆盖率应该很低,只是说随着我们的进展,我们写的每个独立的测试应该对我们的代码覆盖率影响非常小……这是一个很令我感兴趣的想法.
通过示例,Andy Glover向我们说明了代码覆盖的度量可能会给我们带来了错误的安全感.对于代码覆盖的度量可能会告诉你哪些代码没有被测试,但不能准确地告诉你哪些代码被测试过了.同样地,Tobias Schlitt认为:对代码覆盖的度量是很重要的,因为它会告诉我们哪部分是我们没有覆盖到的. 诚然,一个测试套件的高代码覆盖率根本不能说明代码经过了很好的测试(假如你自己不写代码和测试的话).但是反过来说是成立的:一个较低的代码覆盖率毫无疑问还是意味着这个测试套件并不充分.就让我来深入分析一下代码覆盖率问题,看看它会给你带来什么吧.
测试大师Testivus认为“结果因情况而异”是最好的解释.对于那些刚开始写测试的人来说: 现在他写了很多代码,但还没有测试代码,那他还有很长的路要走.此时把重点放在代码覆盖率上的话将会很郁闷,而且毫无用处.他现在最好开始写一些测试并运行这些测试,覆盖率问题是他之后才需要考虑的事情.