SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率, 降低风险, ***终开发更好的软件。SONARSOURCE 的产品和服务被世界各地的客户所使用。
思科系统 (NASDAQ: cisco) 是***领xian的网络技术。思科拥有73460名员工和 Q2 FY13 121亿美元的收入, 在各种技术领域, 包括安全、网络会议、路由: 边缘/***/接入、语音等方面都是市场的***。思科 IT 代表公司的工程部门, 负责提高开发人员的生产率, 并在持续交付、构建管理、代码审查和部署方面实施***jia做法。思科的目标是设计、实施和宣传***的软件质量和维护工具。然后,它可以充当代码分析工具的中心中心,从而为多个项目提供历史洞察力和趋势分析。软件质量面临的关键挑战
今天, 思科将成为世界上 1 it 组织的轨道, 但有一段时间, 它无法管理软件质量可能是一个绊脚石。根据思科 it 工程师 Dhairya Sanghvi 的数据, 使它进入和通过 QA 的代码的质量是一个问题。过去有许多与代码相关的问题, 随着时间的推移而不断升级, 花费了我们很多钱。部分问题是缺乏标准。"我们曾经有开发团队以一种杂乱无章的方式进行代码审查和非功能分析," Sanghvi 说。"没有信息存储或对缺陷数量有清晰的了解", 也无法看到质量随时间变化的方式。此外, "代码评审所采用的系统和流程没有标准化, 因为没有用于执行 (审查) 的通用工具或规则集"。在这个数字消费化和流动性的时代,项目变得更具挑战性和管理的关键。开发团队正在使用各种工具进行静态分析和单元测试, 但他说, "思科需要将其***转移到一个具有更成熟报告能力的工具上, 开发人员和管理层都可以对其进行解释。SONARQUBE 是一致的选择
Sanghvi 说, 在寻找能够满足思科需求的工具的同时, 研究团队也在尝试将敏捷实践融入到思科 it 开发环境中。他说, 这支球队是以 SonarQube 的特点出售的, 但整合是关键的。"SonarQube 是一个代码分析工具, 与詹金斯集成好, 我们去了, ' a-哈, SonarQube 它是这样的!SonarQube 是一致的选择。Sanghvi 说, SonarQube 有 "很多伟大的特点", 但这些突出:可自定义的规则集-"SonarQube 中的可定制的质量配置文件是一个非常有用的灵活性, 考虑到我们的平台上有各种不同的粉笔和奶酪的团队," Sanghvi 说。"此外, 将 xml 规则 (从一个 SonarQube 实例转移到另一个) 和这些配置文件的继承能力都很容易使其成为***的产品。项目组合管理-思科公司正在使用投资组合管理插件, 在整个企业中提供管理友好、个性化的质量指标。这给整个组织提供了很大的激励, 可以定期检查他们的进度, 跟踪改进并采取行动来修复质量缺陷。时间机器– "趋势分析报告是 SonarQube 中***da量的使用能力之一, 帮助我们说服许多项目团队采用该工具" Sanghvi 说。"能够看到我们的项目在很长一段时间内的质量改善是***关键的项目之一, 在您的阿森纳。连续检查很好地适应了敏捷和瀑布开发环境,并解决了传统方法的缺点。当与项目组合管理插件结合使用时, 此功能为组织的性能提供了一个完整的窗口。在代码审查和功能集成中节省了大量的资源时间
根据 Sanghvi 的数据, 思科公司采用 SonarQube 的方法, 对这家企业来说是一个巨大的胜利。"SonarQube 已经触发了三倍的业务影响, 我们已经看到了在每一个项目团队, 我们已经登上-交付*** (时间到能力减少), 工程*** (质量改进) 和业务价值 (成本节约)。通过将代码分析转移到开发阶段并每天运行它, Cisco it 大大提高了代码质量, 并因此减少了紧急 bug 修复, 这 "为组织节省了大量成本", Sanghvi 说。"在 PLC 的早期阶段遇到的缺陷比以后被发现的要便宜得多。下一次大胜利是在代码审查领域。现在, 每个团队都在同一个地方进行代码评审, 使用相同的工具和度量, SonarQube 提供了对关键缺陷度量的清晰和基于时间的可见性。一体化的地方分析和报告是一个加号,即使组织选择不对发送的报告采取行动。由于 SonarQube 的日常代码分析, 在代码审查和功能集成中节省了大量的资源时间。此外, "SonarQube, 与其相关的质量概况和他们的客户
关于SonarSource连续检查
我们 SonarSource 的创始人, 非常熟悉传统模式的缺点,在其范围内工作多年。但随着持续集成的兴起, 我们设想了一个不同的模式是可能的。正如不断整合的变化多个开发人员防止集成头疼, 我们意识到不断应用质量门标准防止准时审计模型的问题。连续检测是代码质量管理的新范式, 旨在使内部软件质量是软件开发生命周期的一个组成部分。这是一个整体的, 完全实现提高项目内部软件质量和软件可视性的过程所有利益相关者的质量。连续的检查提供连续代码质量管理, 并且大大提高了开发项目的 ROI。连续检测的关键概念是发现early–when 修复它们的问题仍然是便宜和容易的。在这个模型下, 自动代码审核是每天执行并在组织内提供。这些客观、自动化的审计沿多个可维护性轴分析项目代码, 测试 bug, 并将其与团队进行比较编码标准。审核是通过工具来完成的, 它们直接在开发人员的环境, 很像微软 Word 中的拼写检查器。新的团队成员将尽快收到通知问题被发现, 所以他们可以尽快解决 ***sible–while 的代码仍然是新鲜的开发人员的想法。及时的这些警报有额外的好处, 培训程序员的坏习惯, 并引导他们到好的。持续的检查在开发团队中得到了基层的采纳, 因为它的协作自然导致真正的集体代码所有权, 并帮助团队提供更好的软件。开发人员倾向于从准时审核中产生的行动计划,因为他们:√是在团队之外生成的,在日常工作中被视为一种新的约束√是主观的。与它的小,快速的问题识别和处理周期, 它已被证明增加开发团队效率, 通过促进高质量代码的开发来提高应用程序的使用寿命。持续检查的***方面可以归纳为十原则。
SonarQube和JaCoCo的个人测试代码覆盖率
本文介绍了如何使SonarQube收集单个测试的测试代码覆盖率指标。代码覆盖工具通常产生一个报告,显示在给定测试会话期间执行的所有测试的组合效果的代码覆盖率(按行,分支等)。例如,当您在持续集成中运行单元测试时就是这种情况。在SonarQube和JaCoCo的帮助下,可以在单个测试用例级别(JUnit或TestNG中的测试方法)中收集覆盖度量。为了实现这一点,我们在这篇文章中显示了一些特殊的配置。在某些情况下,引入技术债wu是可以的,但团队需要了解他们所创建的问题的权衡和存在的程度。
环境
以下过程已经使用SonarQube 4.1.2和4.3.2版本进行了验证,但它也适用于SonarQube 3.7.x(***xin的LTS版本)。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分析时执行。我们一起来描述pom.xml文件中所需的更改。生成的问题将在"SonarLint报告"视图中报告,您可以在其中双击要带到编辑器中相关代码行的问题。
版权所有©2024 天助网