华克斯-SonarSource/SonarQube分销商
作者:华克斯2020/4/15 6:30:44

购买 SonarQube 作为测试自动化的质量门由琳达陈在 2017年4月13日 |4分钟阅读1SonarQube (原名声纳) 被广泛用于各种项目的代码质量管理工具, 提供跟踪和提高源代码质量的功能。此类功能还可用于测试自动化, 以量化测试脚本的质量, 因为自动检测脚本的本质是代码。

测试自动化的 SonarQube 特性

为不同的利益相关者提供定制的度量标准每个项目都有不同的利益干系人, 如客户、项目经理、架构师、开发人员和测试人员, 他们拥有完成项目的各种技术或知识。因此, 他们对项目质量的关注是多种多样的。不同群体的利益干系人的质量度量标准是不同的, 这为查看 SonarQube 的价值提供了一个良好的环境, 因为该工具为不同的用户提供了定制的度量标准。 下表显示了针对不同项目角色的 SonarQube 质量度量的一个很好的示例。

支持项目的多种编程语言尽管用 j***a 编写, SonarQube 可以在大约20多个不同的编程语言 (包括 j***a、Python、c/c ) 中分析代码。可以自动检测到不同的编程语言, 并调用相应的语言分析器。因此, 即使目标测试脚本由多种不同的编程语言组成, 声纳仍然能够跟踪、分析和创建有关代码质量的报告。

使用行业标准 (代码分析器) 提供测试规则在更大的图片中, SonarQube 提供了行业规则模板, 用户可以根据需要自定义质量规则。对于自动测试, 可以应用一堆规则。下面提供了示例规则:

除了检查现有项目的源代码, 为了进行自动测试, 声纳可能需要根据某些要求停用或更新一些规则。

示例规则可以删除, 如下所示:

示例规则可以更新如下:

除了上面给出的特性, SonarQube 还具有诸如 DevOps 集成、聚合仪表板、时间机器等功能, 所有这些都可以帮助测试自动化项目变得更具可追溯性和可见性。

如何通过与数据库 mysql 的集成来设置 SonarQube

设置 SonarQube 是很简单的。但是, 不建议将嵌入在 SonarQube 中的默认数据库 H2 用于生产用途, 因为它无法进行缩放。 为了更好的维护和可伸缩性, 我们建议用 mysql 这样的另一个数据库替换 H2。下面是在 windows 平台中为 SonarQube 设置 mysql 的一个示例。

前提

在您的计算机上安装 J***a (Or***e JRE 8 开始或 OpenJDK 8 起)。步骤:

1.Install. 用 mysql 建立数据库

a. 从 并安装, 然后启动 mysql

b. 为声纳创建数据库, 包括创建用于访问数据库的管理员帐户。例如, 通过在 sql 下运行, 使用用户帐户声纳和密码声纳创建名为声纳的数据库:








关闭SonarQube中的旧版代码违规

一旦您设置了所有组件,您现在可以使用jsawk为所有现有的违规创建排除模式:

curl -XGET'http:// localhost:9000 / api / violation?depth = -1'| ./jsawk -a'return this.join(“﹨ n”)''return this.resource.key.split(“:”)[1] “; *; [” this.line “]”' |排序| uniq的

这将显示一个可以粘贴在“关闭违规”插件的文本区域中或将其作为文件签入存储库的列表。随着下一个分析过程,您将希望看到零违规。当有人通过插入一行更改文件时,会再次显示违规行为,并且应该被修改。不幸的是,一些违规行为不是基于行的,并会产生一个行号'undefined'。目前我刚刚删除了这些手动,所以你仍然可能会看到一些违规。

结论

我提出了一种方法来将您的旧版代码重置为零违例。使用SonarQube 4.0,“切换违规关闭”插件的功能将在内核中使用,因此将更容易使用。我仍然在寻找保持排除模式***xin的***jia方式。一旦有人必须修复现有文件的违规行为,SonarSource/SonarQube服务,则应删除该模式。

更新09.01.2014

从SonarQube 4开始,这种方法不再工作了。 SwitchOffViolati***插件的一些功能已被移动到核心,但是排除违反行为是不可能的,也不会实现。开发商建议仅查看项目的趋势,而不是总体违规数量。这可以很好地使用差分。



SonarQube中的旧版代码


虽然我不相信将数字放在源代码质量上,SonarQube(以前称为Sonar)在开发过程中可能是一个非常有用的工具。它对您的团队执行一致的风格,已经发现了几个可能的错误,并且是一个很好的工具:您可以浏览违规行为,看看为什么某个表达式或代码块可能是一个问题。

为了确保您的代码库保持一致状态,您还可以直接执行代码开发者检入的任何违规行为。其中一个问题是很多项目不是绿色项目你有很多现有的代码。如果您的违规号码已经很高,很难判断是否引入了新的违规行为。

在这篇文章中,我将向您展示如何从现有代码的零违反行为开始,而不用触摸来源,Jens Schauder在他的伟大演讲中使用Legacy Teams的灵感来启发它。我们将根据文件中的行忽略所有违规行为,因此如果有人触及该违规行为将再次显示的文件,开发人员将负责修复旧版违规行为。

关闭违规插件

我们正在使用SonarQube的关闭违规插件。可以为问题配置不同的排除模式。您可以为代码块定义正则表达式,这些代码块应该被忽略,或者在所有文件或行基础上停用违规。

对于现有代码,您想忽略某些文件和行的所有违规。这可以通过在文本区域中插入这样的方式来完成排除模式:

de.fhopf.a的kka.actor.IndexingActor; PMD:SignatureDeclareThrowsException; [23]

这将排除在IndexingActor类的第23行中抛出原始异常的违规。再次分析代码时,这种违规将被忽略。

通过API检索违规

除了漂亮的仪表板之外,SonarQube还提供了一个可用于检索项目违规的API。如果您不希望查找代码库中的所有现有违规行为,并手动插入,您可以使用它自动生成排除模式。所有这些违规都可以在/ api /违规找到,例如HTTP://本地主机:9000 / API /违例。

我确定还有其他方法可以做,但是我使用jsawk来解析JSON响应(在Ubuntu上,你必须安装Spidermonkey而不是默认的js解释器。你必须自己编译,而且我必须使用一个特定的版本。叹了口气)。



华克斯-SonarSource/SonarQube分销商由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司(www.sinocax.com)是一家从事“Loadrunner,Fortify,源代码审计,源代码扫描”的公司。自成立以来,我们坚持以“诚信为本,稳健经营”的方针,勇于参与市场的良性竞争,使“Loadrunner,Fortify,Webinspect”品牌拥有良好口碑。我们坚持“服务为先,用户至上”的原则,使华克斯在行业专用软件中赢得了众的客户的信任,树立了良好的企业形象。 特别说明:本信息的图片和资料仅供参考,欢迎联系我们索取准确的资料,谢谢!

商户名称:苏州华克斯信息科技有限公司

版权所有©2025 产品网