SonarSource
成功的组织在过程中将质量分析向前移动, 并将其作为整个软件开发生命周期的一部分进行迭代。白皮书开发和测试世界和业务方法以及正在向敏捷模型演进-持续的价值生成/持续改进/连续检查是提高质量的基本战略。IDC 观察到, 传统的代码质量方法通常在开发过程结束时成为检查表项目时失败。此 IDC 技术聚焦讨论了改进软件分析、缺陷管理、安全性和度量的方法的
sonarqube 插件
SonarSource
成功的组织在过程中将质量分析向前移动, 并将其作为整个软件开发生命周期的一部分进行迭代。白皮书开发和测试世界和业务方法以及正在向敏捷模型演进-持续的价值生成/持续改进/连续检查是提高质量的基本战略。IDC 观察到, 传统的代码质量方法通常在开发过程结束时成为检查表项目时失败。此 IDC 技术聚焦讨论了改进软件分析、缺陷管理、安全性和度量的方法的必要性, 以通过主动可见性来获得业务和 IT 好处。通过供应商支持和服务降低风险:为使客户能够从其投资中获得da价值,SonarQube提供了额外的价值和支持。IDC 建议评估和采用自动化的软件分析方法, 如 SonarQube 和 SonarSource 提供的, 以改进软件质量策略。
关闭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'。IDC建议评估和采用这些类型的自动化方法以及组织和过程的变化必要的,以使有效的采用和改进的软件质量战略。目前我刚刚删除了这些手动,所以你仍然可能会看到一些违规。
结论
我提出了一种方法来将您的旧版代码重置为零违例。使用SonarQube 4.0,“切换违规关闭”插件的功能将在内核中使用,因此将更容易使用。我仍然在寻找保持排除模式xin的jia方式。一旦有人必须修复现有文件的违规行为,则应删除该模式。
更新09.01.2014
从SonarQube 4开始,这种方法不再工作了。 SwitchOffViolations插件的一些功能已被移动到核心,但是排除违反行为是不可能的,也不会实现。开发商建议仅查看项目的趋势,而不是总体违规数量。这可以很好地使用差分。

SonarQube和JaCoCo的个人测试代码覆盖率
本文介绍了如何使SonarQube收集单个测试的测试代码覆盖率指标。代码覆盖工具通常产生一个报告,显示在给定测试会话期间执行的所有测试的组合效果的代码覆盖率(按行,分支等)。例如,当您在持续集成中运行单元测试时就是这种情况。在SonarQube和JaCoCo的帮助下,可以在单个测试用例级别(JUnit或TestNG中的测试方法)中收集覆盖度量。SonarQube在更改应用程序代码时降低了额外成本和时间的风险。为了实现这一点,我们在这篇文章中显示了一些特殊的配置。
环境
以下过程已经使用SonarQube 4.1.2和4.3.2版本进行了验证,但它也适用于SonarQube 3.7.x(xin的LTS版本)。sonarqube正版价格,sonarqube报价,sonarqube区代理商我们用于验证设置的应用程序代码是熟悉的Spring Pet Clinic应用程序,增强功能可支持Tomcat 7和Spring 3(请参阅此篇文章,以了解有关宠物诊suo需要更新的信息:http://deors.wordpress.com/ 2012/09/06 / petclinic-tomcat-7 /)该代码可以从存储库中的GitHub:https://github.com/deors/deors.demos.petclinic
说明
一旦你知道如何连接所有的点,这些说明很简单。所有这些都是为Maven Surefire插件添加一些特定的配置(Surefire是插件,它是单元测试执行的任务,它支持JUnit和TestNG)。由于此具体配置不应影响常规单元测试执行,因此建议将所需配置包含在单独的配置文件中,仅在执行SonarQube分析时执行。配置是重复的,而且更糟糕的是,每个功能分支都包含了主分支中的所有问题和债wu。我们一起来描述pom.xml文件中所需的更改。
围绕JaCoCo听众人工制品的一个警告。虽然在文档中不清楚,但是当JaCoCo侦听器版本与SonarQube中安装的Java插件的版本匹配时,似乎获得了jia效果。在这种情况下,由于我们在SonarQube中安装的Java插件是2.3版,我们使用了listener artefact 2.3版本。在那里,准时的审计被嘲笑为迅速过时,并忽略增量软件开发的性质,连续检查提供了一个即时性和清晰的图片软件质量随时间推移。我们还用监ting器1.2测试了同样好的结果,但为了防止任何未来的冲突,我们建议保持版本一致。
运行分析
一旦完成了项目配置的更改,您只需要重新执行SonarQube分析即可查看新的报告。
根据您安装的SonarQube Java版本,配置有所不同。
在旧版本中运行分析
当使用的Java插件版本是2.1或更早的版本时,应该在分析执行时才能启用该配置文件,并且只有当分析执行时。这意味着现在需要发射声纳:声纳目标作为单独的Maven构建(建议这样做,但在许多情况下,您可以在一次运行中执行所有目标)。文件中发现的所有问题的列表都可在SonarLint的"动态"视图中找到。在我们的宠物诊suo版本的情况下:
> mvn清洁验证-P货 - tomcat,硒测试,jmeter测试
> mvn sonar:声纳-P覆盖率测试
如果您的构建是由Jenkins工作触发的,那么新的配置文件应该添加到后期制作操作中,如此屏幕截图中所示:



-->