unit-testing - 我应该测量 GUI 测试的代码覆盖率吗?

标签 unit-testing code-coverage

我对代码覆盖率有一点疑问。

我的应用程序的测试分为GUI测试(模拟用户使用应用程序)和单元测试(独立测试每个类/函数)。

最近我开始使用 GCOVLCOV 工具来测量我的代码的代码覆盖率,并发现单元测试正在覆盖大约 55% 的代码,单元测试 + GUI 测试覆盖了大约 90% 的代码。

测量GUI测试的代码覆盖率是否正确/常见,还是应该只测量单元测试的代码覆盖率?

注释 1:测试与桌面 Qt 应用程序相关。

注释 2:请记住,我是自动化软件测试的初学者。

最佳答案

IMO,如果您的所有测试总共执行了 90% 的代码(行?),我认为这是一个重要的见解。大多数语言/框架都有某种库来合并覆盖率报告,因此前端也应该非常容易。

与完整报告相悖的一些事情可能是:

  • 如果覆盖率分析过于占用资源,可能会影响您的 GUI 测试性能?如果您的测试不是使用防御性等待来开发的,它们可能会出现不稳定的测试失败(不确定 QT GUI 测试如何工作,只考虑 selenium)
  • 如果覆盖范围不可操作且无人查看,那么计算可能只是不必要的事情?

关于unit-testing - 我应该测量 GUI 测试的代码覆盖率吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944474/

相关文章:

c# - 使用 NUnit 使用异步/等待方法进行单元测试

unit-testing - 以下要求的输入案例是什么

php - PHPUnit 的代码覆盖率

android - 通过更改 build.xml 和 ant.properties 生成 Android 代码覆盖率

c++ - CMake/CTest 代码覆盖检查

Python:编写单元测试失败了

unit-testing - 为单个文件生成新的代码覆盖率,而不清除 PHPUnit 中的所有其他覆盖率报告

ruby-on-rails - 使用 RSpec 和 rails 测试 "HTML fixtures"

java - Eclemma 说 4 个分支中的 1 个没有被覆盖,但它是哪个分支?

javascript - 如何在同一项目中为 java 和 javascript 配置 Sonarqube 扫描器