了解SonarQube及其测试范围

我是Sonarqube的初学者,并且确实尝试在Google上阅读并阅读了很多社区页面以了解Sonarqube提供的功能。

我没有得到的是:Sonarqube中的测试范围指的是什么? 例如,如果说新代码的覆盖率是30%,那么新代码是什么意思?

Sonarqube何时说一个问题是一个错误?为了使Sonarqube说出存在错误,是否将分析后的代码与特定标准进行比较?

我希望对Sonarqube有更多了解的人可以帮助我理解它。非常感谢

iCMS 回答:了解SonarQube及其测试范围

测试覆盖率(也称为代码覆盖率)对应于由测试用例执行的应用程序代码(即,没有测试代码和示例代码的代码)在所有应用程序代码中所占的比例。代码库。

SonarQube本身不会计算代码覆盖率。而是由外部代码覆盖率工具(例如cobertura,JaCoCo)计算并上传覆盖率。 SonarQube提供了不同级别的代码覆盖率(例如,行覆盖率,条件覆盖率);参见https://docs.sonarqube.org/latest/user-guide/metric-definitions/#header-9

对新代码的覆盖范围是指在同一基准以来所有已添加和更改的代码中,由于某个基准而被覆盖和添加(或修改)的代码所占的比例。基线可以是例如先前分析的代码状态或先前提交的代码状态。也就是说,该指标表示对更改进行了广泛测试。注意,100%的覆盖率并不意味着代码已经过完美的测试;它只是说所有的代码都已经由测试用例执行了。

SonarQube中的

问题不一定代表错误。通常,大多数问题实际上不是错误,而是长期影响代码可维护性的问题(例如,代码重复)或违反最佳实践的问题。尽管如此,某些问题仍可能代表错误(例如,潜在的空引用,不正确的并发处理)。 请注意,问题也可以是假阳性,因此根本不是问题。

大多数问题是通过在代码结构中搜索某些模式来进行静态代码分析的。某些内容可以通过简单的代码搜索来发现(例如,违反命名约定)。其他分析/发布类可能还需要数据流分析(空引用)或需要字节码信息。

本文链接:https://www.f2er.com/2212092.html

大家都在问