SonarSource简介
治理产品为 gear-up SonarQube 提供了从团队级部署到企业广泛部署 SonarSource 解决方案的功能。它是组织和管理大型项目组合的基石, 其质量模型基于4关键指标: 性、可维护性、可靠性和安全性。
组织大量的应用程序
治理产品提供了组织和构建大型应用程序组合的能力。这是通过定义树来完成的, 其中节点是项目组和项目的叶子。例如, 可以按应用程序、按团队的应用程序、按部门分组等对项目进行分类。
治理
树的数量没有限制, 树木的深度也没有限制。
评估总体健康状况
治理产品为应用程序组合提供了几个健康因素, 包括可维护性, 又称技术债务, 它代表了应用程序或应用程序组的未来维护成本, 以及性, 它代表了应用程序或应用程序组准备装运到生产的情况。
突出风险领域
治理产品作为散热器, 在应用程序组合中突出显示风险区域。这包括操作风险, 即不同于运行时的预期行为以及安全漏洞风险的应用程序, 即可用于其他目的的应用程序, 而不是它们的设计用途。
治理PDF 文件导出 PDF 报表
治理产品增加了将执行仪表板作为 pdf 导出的能力, 以便能够在 web 应用程序之外共享一个投资组合。还可以安排将 PDF 报告定期发送到预定义的收件人列表, 从而在任何级别的投资组合中进行。查看示例项目转移转移项目历史记录
在大型组织中, 为不同部门、业务线运行多个 SonarQube 的实例非常常见, 但也有历史原因。如果是这种情况, 则需要能够在保留项目历史记录的同时将项目从实例转移到另一项。然而,不良的发展途径即使需要提高代码质量并在周期早期消除缺陷也会发生急剧增加。治理产品提供了这种功能。通过扩展, 此功能允许合并 SonarQube 的两个实例。
债务模型控制调整分析模型
每个代码分析器都包含每个规则的预定义补救成本。这些费用在发现问题时适用, 允许计算技术债务补救费用。尽管这些补救费用已在几百万行代码上进行了调整, 并且可以按目前的情况使用, 但可能需要对它们进行调整, 以反映环境中的某些具体情况。
SonarSource连续检查的10原则:
开发过程中的所有利益干系人 (不仅仅是开发人员或经理) 必须具有现成的访问权限到有关软件质量的有意义的数据。
管理软件质量必须是每个人的关注从开始的发展, 但是开发团队的终ji责任。
软件质量必须是开发过程的一部分, 这意味着满足质量标准是一个的硬要求能够声明开发完成。
软件质量要求必须是客观的, 不需要主观的通过/失败的决定。软件质量要求必须尽可能多地与所有软件产品共同, 无论他们的细节。
软件质量数据必须是***xin的, 即对代码的***近版本进行测量。
软件产品必须不断检查, 以便在容易发现错误时迅速正确.开发人员必须能够发现新的质量缺陷, 一旦他们被引入, 即在IDE 编写代码时, 类似于拼写检查程序突出拼写错误的方式。
无论是通过推还是拉, 在注入新的质量缺陷时, 都必须提醒利益干系人, 无论这是通过发送电子邮件, 打破了构建或其他方法。
必须跟踪新问题的注入,使团队能够快速、明智地决定质量。
软件质量数据必须同时提供绝dui (在所有代码) 和差异 (新的代码)值, 以便开发团队可以完全控制问题的传入流程。
所有新问题和现有关键问题都必须为解决方案指ding明确的路径和时间线。
持续的检验范式是非常有效的, 并已被证明在现实世界中工作从离岸软件工厂到财富100强企业不等。这些公司成功地使用了连续检测模型来管理项目的内部软件质量所有大小。
一个财富100强的公司与超过2万的开发商使用它管理超过6亿行代码, 在每天分析超过5000应用程序的环境中。
在所有情况下, 连续检查帮助这些公司大大提高了软件质量和稳定, 通常节省数百万美元, 否则将花费在根本原因分析和危机管理。
购买 SonarQube 作为测试自动化的质量门由琳达陈在 2017年4月13日 |4分钟阅读1SonarQube (原名声纳) 被广泛用于各种项目的代码质量管理工具, 提供跟踪和提高源代码质量的功能。随着持续的检查,质量的感知成本是零,因为质量是混合无缝地进入开发过程本身。此类功能还可用于测试自动化, 以量化测试脚本的质量, 因为自动检测脚本的本质是代码。
测试自动化的 SonarQube 特性
为不同的利益相关者提供定制的度量标准每个项目都有不同的利益干系人, 如客户、项目经理、架构师、开发人员和测试人员, 他们拥有完成项目的各种技术或知识。因此, 他们对项目质量的关注是多种多样的。这意味着需要代码分析,可以共同访问有关软件问题的信息和定量和跨不同团队的定性指标从未如此巨大。不同群体的利益干系人的质量度量标准是不同的, 这为查看 SonarQube 的价值提供了一个良好的环境, 因为该工具为不同的用户提供了定制的度量标准。 下表显示了针对不同项目角色的 SonarQube 质量度量的一个很好的示例。
支持项目的多种编程语言尽管用 java 编写, SonarQube 可以在大约20多个不同的编程语言 (包括 java、Python、c/c++) 中分析代码。可以自动检测到不同的编程语言, 并调用相应的语言分析器。SonarSource连续检查的10原则:开发过程中的所有利益干系人(不仅仅是开发人员或经理)必须具有现成的访问权限到有关软件质量的有意义的数据。因此, 即使目标测试脚本由多种不同的编程语言组成, 声纳仍然能够跟踪、分析和创建有关代码质量的报告。
使用行业标准 (代码分析器) 提供测试规则在更大的图片中, SonarQube 提供了行业规则模板, 用户可以根据需要自定义质量规则。对于自动测试, 可以应用一堆规则。下面提供了示例规则:
除了检查现有项目的源代码, 为了进行自动测试, 声纳可能需要根据某些要求停用或更新一些规则。
示例规则可以删除, 如下所示:
示例规则可以更新如下:
除了上面给出的特性, SonarQube 还具有诸如 DevOps 集成、聚合仪表板、时间机器等功能, 所有这些都可以帮助测试自动化项目变得更具可追溯性和可见性。
如何通过与数据库 mysql 的集成来设置 SonarQube
设置 SonarQube 是很简单的。但是, 不建议将嵌入在 SonarQube 中的默认数据库 H2 用于生产用途, 因为它无法进行缩放。我们听到了一些适当的技术介绍,从奥利维尔Gaudin,弗雷迪槌,和SonarSource的尼古拉斯秘鲁和邓肯波克林顿从微软。 为了更好的维护和可伸缩性, 我们建议用 mysql 这样的另一个数据库替换 H2。下面是在 windows 平台中为 SonarQube 设置 mysql 的一个示例。
前提
在您的计算机上安装 Java (Oracle JRE 8 开始或 OpenJDK 8 起)。步骤:
1.Install. 用 mysql 建立数据库
a. 从 并安装, 然后启动 mysql
b. 为声纳创建数据库, 包括创建用于访问数据库的管理员帐户。例如, 通过在 sql 下运行, 使用用户帐户声纳和密码声纳创建名为声纳的数据库:
版权所有©2024 天助网