SonarSource
如果您想知道项目使用的内部或外部库,则可能需要查看项目的内容,包括pom.xml文件。如果您使用SonarQube,则不再是这种情况,因为库是一种组件,它会招募您的应用程序所依赖的组件,并且比手动搜索。
(以上是示例应用程序的截图)
也可以在任何仪表板上添加任何Widget(Widget是组成仪表板的组件),如下所示。
(以上是示例应用程序的截图)
问题向下钻
只是被告知某事是错误的,这里的分数是多少错误或不正确的东西,没有帮助。一个更有建设性的反馈是,这里有什么问题,这是你可以做些什么来解决它。
问题钻取是一个这样的仪表板,sonarqube,我们可以找到这样的信息或足以知道什么是错误,以及如何去修复它(有时)。它还存档较旧的和封闭的问题,并通过给出各种严重程度来表明问题是多么糟糕,即阻止信息。
(以上是nemo.sonarsource.org上的示例应用程序的截图)
任何Dashboard页面右上角的“管理信息中心”选项(如下)用于创建可以放置小部件的新的信息中心页面。
同样,中国sonarqube安全审计,每个“仪表板”页面上的“配置”窗口小部件链接允许在“仪表板”页面的任何位置添加,删除或更改窗口小部件的位置。
(以上是Apache Comm Collection的截图)
标签或词云是一种非常受欢迎的概念,被大量用作可视化形式来传达指标 - 如上所示,这是Apache Comm Collection库的一个例证。
商业组件 - SQALE
SQALE是一个专有组件,社区版本不可用,尽管SonarQube的Nemo项目[07]提供了演示版本。 SQALE是一项技术债wu评估工具,更多细节可以在[08]找到。





SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,这是我们正在写的参考POM的相关部分:
<建立> <插件>
...
<插件>
<的groupId> org.apache.maven.plugins </的groupId>
<artifactId的>行家-万无一失-插件</ artifactId的>
<版本> 2.13 </版本>
<结构>
<argLine> -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
</配置>
</插件>
...
</插件> </建造>
这种配置告诉Surefire:1)排除执行单元测试的集成测试(Surefire的双插件,Failsafe涵盖了集成测试);和2)禁用字节码验证器,防止类被调试时的运行时错误(即添加mocks或TopLink增强功能时)。
依赖部分
在本节中,不需要进行任何更改。我们只想注意到,如果您的项目已经在利用JaCoCo收集整合测试覆盖率指标,并且明确地指出了本部分中的JaCoCo伪像,那么可以将其留下 - 至今没有确定任何冲突。无论如何,它不应该在这里需要,所以从这个部分删除它可能更安全。
档案部分
所有必需的更改都在本节中。而且它们都非常干净,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,我们将在此保持与POM的构建部分中显示的相同配置。后,配置文件将为包含侦听器代码的伪zao添加新的依赖关系。结果是这样的:
<轮廓>
<! - 使用SonarQube和JaCoCo计算每个测试的覆盖率指标
<ID>覆盖每次测试</ ID>
<建立>
<插件>
<插件>
<的groupId> org.apache.maven.plugins </的groupId>
<artifactId的>行家-万无一失-插件</ artifactId的>
<版本> 2.13 </版本>
<结构>
<! - 与常规测试执行目标相同的配置 - >
由JaCoCo prepare-agent - >配置的<! - 加argLine参数
<argLine> $ {argLine} -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
<! - 每个测试覆盖所需的新配置 - >
<性能>
<属性>
<名称>听者</名称>
<值> org.sonar.java.jacoco.JUnitListener </值>
</属性>
</属性>
</配置>
</插件>
</插件>
</建造>
<依赖性>
<依赖性>
<的groupId> org.codehaus.sonar-plugins.java </的groupId>
<artifactId的>声纳-jacoco-听众</ artifactId的>
<版本> 2.3 </版本>
<范围>测试</范围>
</依赖性>
</依赖>
</简档>
SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, 终开发更好的软件。通过每天对 575万 SonarQube 的分析,中国sonarqube报价, 斯里巴加湾市 (业务解决方案构建者) 成功地提高了其整个软件产品套件的质量。斯里巴加湾市为金融人士和人寿保险公司提供商业解决方案和 IT 服务。它的软件框架在三不同的地点被广泛使用: 比利时、卢森堡和爱尔兰。斯里巴加湾市的开发和质量团队一直在寻找you秀的软件质量工具, 以获得更深层次的洞察力, 更好地管理内部代码质量, 考虑到拥有一个强健的框架, 以此为基础进行产品开发的战略意义。如何提高软件质量和开发人员的工作效率?
直到 2009, 斯里巴加湾市依赖于不同的开源工具, 如 Cobertura、Checkstyle 和 Findbugs, 来识别和管理 in-house 软件框架中所有主要产品的质量问题。斯里巴加湾市面临着这些工具的重大挑战, 显著的是缺乏统一的界面来查看和跟踪质量问题。这些工具也缺乏衡量质量演变的能力随着时间的推移, 使评估斯里巴加湾市框架质量的改进变得困难。总的来说, 这种方法导致了零散的质量指标, 并没有给斯里巴加湾市的开发团队提供他们所需要的产品质量洞察力。由于斯里巴加湾市的框架被80多个不同地点的广泛使用, 因此对于公司来说, 确保框架的实施符合jia做法和尽可能高的质量, 具有战略意义。研究和技术小组找到了一个客观的系统来确定构成高质量代码的因素, 以确保这些因素得到适当的跟踪, 并随着时间的推移来衡量这些因素的演变。解决方案: 统一度量、自定义仪表板和连续检查
在 2009年, 斯里巴加湾市的研究和技术小组决定尝试与 SonarQube 平台的概念证明, 以验证其功能, 并验证它将满足斯里巴加湾市的需要。在三月内, 很明显, SonarQube 很容易满足所有的要求, 并可以允许斯里巴加湾市客观地测量和验证代码质量。特别是, 该团队对 SonarQube 的连续检查功能印象深刻, 这使得他们能够在每两周的发布周期内和之后测量质量的变化, 从而加深对质量问题的理解。这使得开发人员和管理人员能够更轻松地相互合作,代理商sonarqube开源代码质量管理软件, 了解并解决质量问题。斯里巴加湾市能够推动创新并维护其软件组合
除了简单地解决现有的质量问题, SonarQube 帮助更好地在他们的工作, 根据斯特凡·德勒克 Nicoll, 框架开发的负责人。"SonarQube 平台是一种独yi无二的连续检测工具。诸如差异仪表板、时间线和历史表等功能使每一个团队成员都能提高其技能。有关规则违规、包缠、重复、代码覆盖率和 API 文档的报告帮助我们向其他开发人员提供了坚如磐石的库。简而言之, SonarQube 平台帮助我们编写了更好的代码。但更重要的是, 它也帮助我们作为一个团队互相学习, 提高我们的技能。今天, 斯里巴加湾市运行两个 SonarQube 实例, 分析了31多个项目和575万行代码。斯里巴加湾市的技术架构师和质量经理广泛使用 SonarQube 的历史和自定义仪表板来关注已被确定为重要的度量标准。迷你图用于验证进度, 警报阈值用于快速识别需要立即注意的事件。SonarQube 的插件库对斯里巴加湾市也具有极大的价值, 因为它使该公司能够轻松地将 SonarQube 平台与现有的 it 和应用程序生命周期管理 (ALM) 基础结构集成在一起。SonarQube LDAP 插件减轻认证和授权斯里巴加湾市的现有权限基础结构, 詹金斯插件集成 SonarQube 现有的连续集成基础结构, 和 SCM 活动插件, 帮助架构师和 QA 经理确定团队成员, 以联系有关代码质量问题。此外, SonarQube 的 extens
华克斯-sonarqube由苏州华克斯信息科技有限公司提供。“Loadrunner,Fortify,源代码审计,源代码扫描”选择苏州华克斯信息科技有限公司,公司位于:苏州工业园区新平街388号,多年来,华克斯坚持为客户提供好的服务,联系人:华克斯。欢迎广大新老客户来电,来函,亲临指导,洽谈业务。华克斯期待成为您的长期合作伙伴!