我遇到的情况是,我主要是在我的框架上运行端到端的测试:
现在我认为代码覆盖范围很大,但在这种情况下(PHP/PHPUnit/ XDebug ),代码执行速度会慢50%-80%(因为XDebug在代码覆盖率方面处于中间)。
那么,在这种情况下还有什么更有意义的呢?
正确地说:我现在只有一些类似于6端到端测试的测试,当代码覆盖开始时,测试最多需要12分钟,而没有代码覆盖的话,大约需要2-3分钟。
你对此有何看法?
发布于 2018-03-26 14:16:20
在测试时,您不应该关注代码覆盖率,而应该关注需求覆盖率。
代码覆盖率告诉您是否存在使用特定代码行的测试用例。它不会告诉您这一行代码是否对测试的特性做出了实际贡献。这意味着您可以有“覆盖代码”,这基本上是无用的。
另一方面,特别是在进行端到端测试时,您不能测试所有的东西,因为您只是没有时间。因此,在端到端测试中,代码覆盖根本没有意义。
最后,你不卖代码给你的客户,你卖的功能。
毕竟,代码覆盖率会让您感觉到单元测试有多值得信任。但它不应具有高度重要性。
发布于 2018-03-26 13:37:13
您可以随时打开和关闭覆盖测试吗?如果是这样的话,您可以偶尔进行覆盖测试,但大多数功能测试都会关闭。
如果您能够进行代码覆盖测试,那么代码覆盖率测试是很好的,因为它们将显示您没有测试的代码的部分功能。如果您没有测试它,您就不知道该代码是否有效。
发布于 2018-03-26 13:41:20
代码覆盖率通常只有在获得单元测试的反馈时才有用。单元测试是您想要测试每个边缘案例并处理保持每个单元正确的细节的地方。
通过端到端的测试,您通常不会对应用程序的每一分钟细节进行练习。只是没有提供那么多信息。我倾向于建议在端到端的测试中关闭它,前提是您有单元测试,而您确实有此功能。
https://softwareengineering.stackexchange.com/questions/368364
复制相似问题