- 发布
- 苏州华克斯信息科技有限公司
- 电话
- 0512-62382981
- 手机
- 13862561363
- 发布时间
- 2023-04-05 01:07:53
SonarSource 的产品和服务被世界各地的客户所使用。所有规模的组织都在使用来自 SonarSource 的产品和服务提高生产率,中国sonarqube报价, 降低风险, 终开发更好的软件。ThalesRaytheonSystems 使用 SonarQube 作为 "集成解决方案, 在开发项目的每个级别都易于使用"。ThalesRaytheonSystems 是一个跨大西洋的合资企业, 专门从事监视雷达, 空中操作指挥和控制系统, 和地面武qi定位雷达。公司是雷神与 ThalesGroup 之间的50:50 家合资企业, 通过将传感器、操作中心和电信网络集成到空中作战和战场系统, 为复杂的任务提供关键的 decision-making 解决方案。其活动;它包括系统集成、复杂的程序管理、实时软件和人机界面, ThalesRaytheonSystems 必须依赖于强大、高质量和可维护的软件应用程序的组合。软件质量是跨技术和工作包的必须
在部署 SonarQube 之前, ThalesRaytheonSystems 评估了几个软件质量工具, 但没有一个符合条例草案。有些还没有集成到开发环境中, 有些颁发了许可问题, 还有一些则缺乏涵盖的技术和可用的功能。结果, 只分析了一些组件和项目, 结果没有被利用。由于该过程的 "重重量" 性质, 对 ThalesRaytheonSystems 的应用组合的长期可持续性和可维护性构成了真正的挑战, 因此很少出现质量改进。ThalesRaytheonSystems 正在走向持续集成, 包括软件质量分析的过程。考虑到环境的复杂性, ThalesRaytheonSystems 需要一个能够很好地集成其现有基础结构的解决方案, 并且能够灵活地在整个软件组合中使用, 包括多种技术和广泛的应用程序。SonARQUBE 与工具集合
ThalesRaytheonSystems 选择了 SonarQube, 并要求从 SonarSource 行政培训会议, 以加快通过和上岗过程。乔塞纳丹尼斯记得她的第yi印象: "SonarQube 解决方案是非常容易使用, 它是集成在詹金斯管理的工作。它符合 ThalesRaytheonSystems 的需要, 因为我们有许多组件, 许多工作包, 在不同的语言, 和 "意见" 的概念是的。在的培训和演示之后, ThalesRaytheonSystems 比较了以前使用工具集 (免费软件和商业与每用户许可证) 的方法, 与它使用的自由和商业 SonarSource 产品的组合: c/c 、投资组合管理 (视图) 和技术债务计算 (SQALE)。丹尼斯说: "这显示了在实施解决方案和成本方面所需时间的显著增长, 因为许可证模型更适合我们的需要。由于其功能、技术覆盖面和许可模式, SonarSource 解决方案为 ThalesRaytheonSystems 提供了更佳的投资。丹尼斯还赞扬了 SonarSource 团队在集成 ThalesRaytheonSystems 的 c/c 语言的规则方面的支持和响应能力, 这是适用于更广泛的 c 社区的 c 插件。ThalesRaytheonSystems 的另一个引人注目的特性是将 SQALE 方法集成到 SonarQube 中, 从而使组织能够精que地跟踪其技术债务的补救成本。成功实施端到端软件质量过程
现在,新疆sonarqube价格, SonarQube 已完全融入 ThalesRaytheonSystems 的环境和文化, 开发团队定期审查软件质量结果, 并采取具体行动, 根据里程碑和成本提高代码质量, 而项目组合管理功能允许软件配置管理人员在项目和整个软件组合中获得结果。展望未来, ThalesRaytheonSystems 有进一步的计划, 以改善其软件质量的过程。它将在分析中添加单元测试和集成测试的控制。它还计划部署 SonarQube Eclipse 插件, 以使开发人员能够在开发环境中直接在本地检测和更正问题。丹尼斯说, 她会推荐 SonarQube 和 SonarSource, 因为 "SonarQube 是一个集成的解决方案, 易于在开发项目的每个级别使用。SonarSource 有一个很好的支持和 ThalesRaytheonSystems 受益于良好的合作与 SonarSource。
SonarLint 与开发人员集成的 z 系统
从 v14.0.0.5 开始, IBM z 系统开发人员 (IDz) 支持 SonarLint v3.2.0, 并在其主机 COBOL 和 PLI 代码中针对 bug 和质量问题向开发人员提供动态反馈。一旦将 SonarLint Eclipse 扩展并安装到您的 IDz 客户端中, 您就可以使用 SonarQube 服务器视图连接到 SonarQube 服务器,代理商sonarqube价格, 然后使用子项目的上下文菜单将一个模块的子项目绑定到 SonarQube 服务器和项目。现在, 当使用 cobol 或 PLI 编辑器打开绑定子项目中的 cobol 或 PLI 文件时, 将在文件中标记任何违反在 SonarQube project 中设置的规则之一的代码, 并通过悬停帮助来显示解释。文件中发现的所有问题的列表都可在 SonarLint 的 "动态" 视图中找到。
从绑定的 SonarLint 子项目中打开 COBOL 或 PLI 文件会触发一项分析提示: 如果编辑器中没有出现问题注释, SonarLint 可能无法成功解析该文件。您可以在 Eclipse 控制台视图下检查 SonarLint 控制台, 以查找任何问题, 如缺少包含文件 (抄写)。如往常一样, 使用子项目的关联属性组中的 SYSLIB 字段来解析包含文件引用。您可以选择一个或多个文件, 甚至是子项目本身, 然后单击 SonarLint 分析, 而不是打开单个文件。生成的问题将在 "SonarLint 报告" 视图中报告, 您可以在其中双击要带到编辑器中相关代码行的问题。或者, 您可以右键单击某个问题, 然后选择要带到 SonarLint 规则说明视图的规则说明, 以及具有兼容和不兼容代码示例的规则的详细说明。
可以同时分析多个文件, 并在 SonarLint 报告视图中检查结果问题提示: 当使用分析函数时, 可能找不到近在编辑器中打开的文件的抄写, 因为 SonarLint 使用的是只在其中一个 IDz 编辑程序中打开文件或其依赖项时才会填充的本地文件缓存。
SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,这是我们正在写的参考POM的相关部分:
lt;建立gt; lt;插件gt;
...
lt;插件gt;
lt;的groupIdgt; org.apache.maven.plugins lt;/的groupIdgt;
lt;artifactId的gt;行家-万无一失-插件lt;/ artifactId的gt;
lt;版本gt; 2.13 lt;/版本gt;
lt;结构gt;
lt;argLinegt; -XX:-UseSplitVerifier lt;/ argLinegt;
lt;包含gt;
lt;包括gt; ** / * Test.java lt;/包括gt;
lt;包括gt; ** / * Tests.java lt;/包括gt;
lt;/包括gt;
lt;排除gt;
lt;排除gt; ** /它/ * IT.java lt;/排除gt;
lt;/排除gt;
lt;/配置gt;
lt;/插件gt;
...
lt;/插件gt; lt;/建造gt;
这种配置告诉Surefire:1)排除执行单元测试的集成测试(Surefire的双插件,Failsafe涵盖了集成测试);和2)禁用字节码验证器,防止类被调试时的运行时错误(即添加mocks或Toplink增强功能时)。
依赖部分
在本节中,不需要进行任何更改。我们只想注意到,如果您的项目已经在利用JaCoCo收集整合测试覆盖率指标,并且明确地指出了本部分中的JaCoCo伪像,中国sonarqube价格,那么可以将其留下 - 至今没有确定任何冲突。无论如何,它不应该在这里需要,所以从这个部分删除它可能更安全。
档案部分
所有必需的更改都在本节中。而且它们都非常干净,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,我们将在此保持与POM的构建部分中显示的相同配置。,配置文件将为包含侦听器代码的伪zao添加新的依赖关系。结果是这样的:
lt;轮廓gt;
lt;! - 使用SonarQube和JaCoCo计算每个测试的覆盖率指标
lt;IDgt;覆盖每次测试lt;/ IDgt;
lt;建立gt;
lt;插件gt;
lt;插件gt;
lt;的groupIdgt; org.apache.maven.plugins lt;/的groupIdgt;
lt;artifactId的gt;行家-万无一失-插件lt;/ artifactId的gt;
lt;版本gt; 2.13 lt;/版本gt;
lt;结构gt;
lt;! - 与常规测试执行目标相同的配置 - gt;
由JaCoCo prepare-agent - gt;配置的lt;! - 加argLine参数
lt;argLinegt; $ {argLine} -XX:-UseSplitVerifier lt;/ argLinegt;
lt;包含gt;
lt;包括gt; ** / * Test.java lt;/包括gt;
lt;包括gt; ** / * Tests.java lt;/包括gt;
lt;/包括gt;
lt;排除gt;
lt;排除gt; ** /它/ * IT.java lt;/排除gt;
lt;/排除gt;
lt;! - 每个测试覆盖所需的新配置 - gt;
lt;性能gt;
lt;属性gt;
lt;名称gt;听者lt;/名称gt;
lt;值gt; org.sonar.java.jacoco.JUnitListener lt;/值gt;
lt;/属性gt;
lt;/属性gt;
lt;/配置gt;
lt;/插件gt;
lt;/插件gt;
lt;/建造gt;
lt;依赖性gt;
lt;依赖性gt;
lt;的groupIdgt; org.codehaus.sonar-plugins.java lt;/的groupIdgt;
lt;artifactId的gt;声纳-jacoco-听众lt;/ artifactId的gt;
lt;版本gt; 2.3 lt;/版本gt;
lt;范围gt;测试lt;/范围gt;
lt;/依赖性gt;
lt;/依赖gt;
lt;/简档gt;