首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当运行端到端测试时,代码覆盖率是否合理?

当运行端到端测试时,代码覆盖率是否合理?
EN

Software Engineering用户
提问于 2018-03-26 13:25:56
回答 3查看 683关注 0票数 1

我遇到的情况是,我主要是在我的框架上运行端到端的测试:

  • 我从简单的固定装置开始(这是CSV-文件)。
  • 它们是由我的应用程序导入的(我认为应用程序在我的情况下是一个黑匣子)。
  • 导入完成后,我将与存储库类检查它们是否返回我希望返回的内容,并且在某些情况下,我直接查询数据库,以查看事情是否如预期的那样。

现在我认为代码覆盖范围很大,但在这种情况下(PHP/PHPUnit/ XDebug ),代码执行速度会慢50%-80%(因为XDebug在代码覆盖率方面处于中间)。

那么,在这种情况下还有什么更有意义的呢?

  • 禁用代码覆盖,并有一个更快的测试套件,它实际上是用真实世界的场景进行测试的,但不知道是否所有内容都按代码进行了覆盖?
  • 有一个较慢的测试,但更多的洞察力,什么是正在测试(和什么不是?)

正确地说:我现在只有一些类似于6端到端测试的测试,当代码覆盖开始时,测试最多需要12分钟,而没有代码覆盖的话,大约需要2-3分钟。

你对此有何看法?

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2018-03-26 14:16:20

在测试时,您不应该关注代码覆盖率,而应该关注需求覆盖率。

代码覆盖率告诉您是否存在使用特定代码行的测试用例。它不会告诉您这一行代码是否对测试的特性做出了实际贡献。这意味着您可以有“覆盖代码”,这基本上是无用的。

另一方面,特别是在进行端到端测试时,您不能测试所有的东西,因为您只是没有时间。因此,在端到端测试中,代码覆盖根本没有意义。

最后,你不卖代码给你的客户,你卖的功能。

毕竟,代码覆盖率会让您感觉到单元测试有多值得信任。但它不应具有高度重要性。

票数 0
EN

Software Engineering用户

发布于 2018-03-26 13:37:13

您可以随时打开和关闭覆盖测试吗?如果是这样的话,您可以偶尔进行覆盖测试,但大多数功能测试都会关闭。

如果您能够进行代码覆盖测试,那么代码覆盖率测试是很好的,因为它们将显示您没有测试的代码的部分功能。如果您没有测试它,您就不知道该代码是否有效。

票数 6
EN

Software Engineering用户

发布于 2018-03-26 13:41:20

代码覆盖率通常只有在获得单元测试的反馈时才有用。单元测试是您想要测试每个边缘案例并处理保持每个单元正确的细节的地方。

通过端到端的测试,您通常不会对应用程序的每一分钟细节进行练习。只是没有提供那么多信息。我倾向于建议在端到端的测试中关闭它,前提是您有单元测试,而您确实有此功能。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/368364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档