SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, 终开发更好的软件。SonarQube 在欧洲的三不同地点的开发团队每天都在使用。质量结果显示在墙上显示器!Kapsch TrafficCom (理事会) 是智能交通系统的提供商。它的系统采用信息和通信技术来支持和优化公路运输, 包括基础设施、车辆、用户和工业。它在各种交通应用领域的解决方案有助于减少道路交通造成的拥堵和环境污染, 提高交通安全和安全。理事会集团在33国家设有子公司和代表处, 并有3000多名员工。软件质量很重要, 因为 Kapsch 需要向其客户提供jia的软件解决方案, 同时遵循行业标准, 如汽车行业的 MISRA 准则。即将失去对软件质量的关注
Kapsch TrafficCom 因快速扩张而失去了对软件质量的关注。这种扩展导致了一些新的编程语言的使用, 并雇用了许多新的开发人员。理事会预见到需要更好地控制, 遵循编码准则, 并确保它开发的应用程序在发布之前达到了定义的质量目标。此外, 技术债务的趋势需要更加明显, 以帮助决策者达成关于重构与引入新特性的知情决策。由于理事会在静态代码分析中使用了几种不同的解决方案, 因此很难同时将整个代码库的这一概述放在一起。SonARQUBE 的自下而上采用
然后, 瑞典理事会办公室的开发者遇到了 SonarQube。这一收养初是由管理层和其他理事会的开发网站所采纳的自下而上的方法。在年内, 它将被采用在更多的地点, 并作为理事会的主要解决方案, 跟踪代码质量。在这一收养中, 关键是 SonarQube 使用相同的度量标准来衡量每种语言。理事会使用几种不同的语言, 现在它们都可以以统一的方式呈现。可以很容易地看到当前的度量状态, 以及它们是否在正确的方向上移动。此外, 项目组合管理 (视图) 插件允许理事会从多语言应用程序中聚合质量度量, 将每个应用程序的质量统一起来, 并将应用程序进一步聚合到产品、项目和部门质量的统一演示中。更美好的是, "由于我们每夜都在分析我们的大部分产品, 所以现在每个人都可以按需获取xin的结果 (在每个聚合级别)", 瑞典理事会的测试组长约翰 Esbjörner 说。Kapsch TrafficCom 使用的主要功能包括:时间机器-跟踪关键代码质量度量的进度。视图-将多种语言聚合到产品/项目/部门中。差异视图-检查遗留项目中是否引入了新问题。Java API-创建自己的集成插件, 因为它已经做了宝丽来 ALM。SonARQUBE 结果显示在墙上显示器上
SonarQube 目前正被用于检查超过30应用程序和700k 代码行的代码质量, 并且这些数字预计会随着全年的采用而不断增加。它每天都被开发团队使用, 它们遍布欧洲三不同的开发站点。Esbjörner 表示, "我们可以利用我们现有的詹金斯基础结构来触发静态分析, 从而缓解了向 SonarQube 的过渡, 因此无需额外的服务器。让所有利益相关者通过 web 浏览器轻松地访问结果, 并显示在人们走过的墙壁监视器上, 从而提高了对代码质量的认识。这些指标已成为一种帮助, 以可视化需要做什么。早些时候, 开发人员知道代码需要重构, 但是很难得到标准的数据来向决策者展示。现在, 他们可以通过打开 web 浏览器并显示度量和代码来做到这一点。今天, 质量门是为所有语言定义的, 因此新功能并不总能战胜重构。在发布前始终满足di质量级别要求。
类别档案:SonARQUBE - PL / SQL
使用SonarQube进行PL / SQL分析 - 评估质量(3/3)
发表评论
PLSQL_TechnicalDebtLast在我们的系列文章中分析了使用SonarQube的PL / SQL代码的质量。
评估应用程序的质量不只是进行代码分析:任何人都可以做到这一点。质量顾问的工作是基于以下问题:什么,为什么,如何,多少。
什么:分析结果。大小,复杂性和重复性,这是我们以前的帖子中看到的。我们检查总体数字,还有平均和差异,以及有多个版本的时间趋势。那么我们来看看主要违反jia做法的行为,主要侧重于阻止和批评。
为什么这些结果:调查分析措施的原因,寻找结果的起源。
如何补救:提出行动计划。其实,提出几个建议。我们将在下面看到,我提出了短期,中期和长期的不同计划。
花费多少:评估每个计划的成本。继续阅读→
此条目发布于2014年3月10日由Jean-Pierre FAYOLLE发行的SonarQube - PL / SQL。
SonarQube和JaCoCo的个人测试代码覆盖率
本文介绍了如何使SonarQube收集单个测试的测试代码覆盖率指标。代码覆盖工具通常产生一个报告,显示在给定测试会话期间执行的所有测试的组合效果的代码覆盖率(按行,分支等)。例如,当您在持续集成中运行单元测试时就是这种情况。在SonarQube和JaCoCo的帮助下,可以在单个测试用例级别(JUnit或TestNG中的测试方法)中收集覆盖度量。为了实现这一点,我们在这篇文章中显示了一些特殊的配置。
环境
以下过程已经使用SonarQube 4.1.2和4.3.2版本进行了验证,但它也适用于SonarQube 3.7.x(xin的LTS版本)。我们用于验证设置的应用程序代码是熟悉的Spring Pet Clinic应用程序,增强功能可支持Tomcat 7和Spring 3(请参阅此篇文章,以了解有关宠物诊suo需要更新的信息:https://deors./ 2012/09/06 / petclinic-tomcat-7 /)该代码可以从存储库中的GitHub下载:https:///deors/tclinic
说明
一旦你知道如何连接所有的点,这些说明很简单。所有这些都是为Maven Surefire插件添加一些特定的配置(Surefire是插件,它是单元测试执行的任务,它支持JUnit和TestNG)。由于此具体配置不应影响常规单元测试执行,因此建议将所需配置包含在单独的配置文件中,仅在执行SonarQube分析时执行。我们一起来描述pom.xml文件中所需的更改。