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

Unit testing 我应该测量GUI测试的代码覆盖率吗?,unit-testing,code-coverage,Unit Testing,Code Coverage,我对代码覆盖率有点怀疑 我的应用程序的测试分为GUI测试(模拟使用应用程序的用户)和单元测试(独立测试每个类/函数) 最近,我开始使用GCOV和LCOV工具来测量代码的代码覆盖率,并发现单元测试覆盖了大约55%的代码,而单元测试+GUI测试覆盖了大约90%的代码 测量GUI测试的代码覆盖率是正确的/常见的还是我应该只测量单元测试的代码覆盖率 注1:测试与桌面Qt应用程序相关 注2:请记住,我是自动化软件测试的初学者。如果您的所有测试总共使用了90%的代码(行?),我认为这是一个重要的见解。大多数

我对代码覆盖率有点怀疑

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

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

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

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


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

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

与完整报告不符的可能是:

  • 如果覆盖率评测过于资源密集,可能会影响GUI测试性能?如果您的测试不是使用防御性等待开发的,它们可能会出现不稳定的测试失败(不确定QtGUI测试如何工作,只考虑selenium)
  • 如果覆盖范围不可操作,并且没有人看它,那么它可能只是一个不必要的计算

    • 我的答案是肯定的。提供

      • 单元测试覆盖率和UI测试覆盖率实际上相加。意思是如果 代码有100行,实际上覆盖了95行,55行通过单元测试 通过用户界面测试,结果为35

      • 实际上,在每次执行测试类别之前,
        释放


      谢谢@dm03514。是的,当我说代码时,我指的是行。我不认为覆盖率评测对GUI测试性能影响太大(至少我没有注意到这一点)。我正在使用代码覆盖率工具来测量覆盖率,并找出哪些类/函数(或条件)没有被正确测试。