SonarSource
优化质量分析以实现业务价值
复杂性: 代码可见性降低了软件风险
适用于自动化软件质量2014–2018的预测和2013供应商份额: 一些
ASQ 的增长与持续的采用预计移动, 云和嵌入式, IDC 251643 和
建立软件质量分析策略, 帮助解决第三平台复杂性, IDC 253257
主办单位: SonarSource
梅林达-卡罗尔. 卢
2015年1月
简介: 了解质量分析差距的影响
数字世界的转变, 数字转换的影响, 以及对持续性的需求
跨技术平台的部署给 IT 组织带来了巨大的压力, 因为它们
解决动态变化的业务需求。高质量应用的上市时间
变得至关重要, 但提供软件发布和开发新的面向客户的
快速应用是一个越来越大的挑战。对于大型跨国企业来说, 情况尤其如此。
必须与复杂多变的多式技术网络相抗衡的组织
与遗留系统和资源结合在一起的数千个用户的地理
分布式.
对于 CIO 来说, 目标不仅仅是提高 it 的敏捷性--它是关于如何使用它来成功地
跨 "第三平台" 增强业务灵活性、创新性和客户体验,
范围从移动, 社会系统的参与, 到云, 同时合并大数据
分析.在操作层面上, 这种做法增加了公司的压力,
重组、更新和转换软件开发和测试实践。这可以允许
为了更快地交付具有适当质量、风险、速度和
成本水平。
然而, 尽管质量低劣的软件对客户访问、收入和
商业信誉在这些有影响力的移动和其他第三平台环境中, 许多
组织已经陷入了可怜的软件卫生习惯。能见度不足的水平
缺陷的原因及其影响为许多创造了一种文化
他们所创造的缺陷的责任。"在墙上抛出代码" 用于部署仍然是
频繁的, 内脏的问题造成的公司, 部分由迫切的需求立即
这些关键业务环境中的软件交付。然而, 不良的发展途径
即使需要提高代码质量并在周期早期消除缺陷也会发生
急剧增加。
在 IDC 中,中国sonarqube静态安全扫描工具, 我们一直在跟踪重大业务变更项目的成功率
组织在过去的几年里, 和我们的 2014 QA 调查横跨超过200大
企业发现有问题的项目成功率。我们将 "成功" 定义为及时、相关和
个别项目的预算交付。我们的研究表明大约40% 的商业
面向更改的软件开发项目未能满足这些要求。和60%
按时交付和预算通常需要事后调整, 以确保
公司的后期限已经达到 (例如, 需要在项目中投入更多的员工, 或者
©2015 IDC # IDCTS08W 2
项目范围减少)。除了这些预算和及时性挑战, 代码质量
问题.
IDC 的研究显示,sonarqube静态安全扫描工具, 在生产后期发现的缺陷成本指数更高
对组织修复比在周期中发现的更早 (10–100倍或更多,
取决于其他依赖项, 以及在生命周期中发现问题的后期程度)。的
能够发现代码问题,代理商sonarqube静态安全扫描工具, 有共同的访问问题, 并负责修复
这些问题和解决积压成为的环境无情
用户体验不佳和功能失败。客户反馈的即时性
用户参与、用户衰减率和应用程序商店评级带来了新的可视级别和
重要的是推动采用常见的代码问题访问上下文, 以便快速
补救, 以及对安全挑战的可见性。
这些因素与软件项目复杂性的增加相结合。企业采用复杂、
使用内部和外部资源 (如系统) 进行地理分布的开发
集成商 (SIs) 随着各种开发工具的使用而显著增加
(包括开源)、多种语言和敏捷流程。这意味着需要
代码分析, 可以共同访问有关软件问题的信息和定量和
跨不同团队的定性指标从未如此巨大。
在这个数字消费化和流动性的时代, 项目变得更具挑战性和
管理的关键。为什么?





将SonarQube指标集成到TFS构建中 - 简介
所需步骤概述
这里有很多步骤,有很多消化,所以我将分解这几个博客文章主要是:
使TFS输出所需的测试和覆盖结果文件。
设置您的项目使用声纳。
将“Sonar Runner”整合到您的构建中。
所展示的解决方案足以满足我正在尝试实现的目的,但您可能希望重新排列几个步骤来适应您的场景。 将围绕这些步骤进行一些讨论,以帮助您了解我所做的任何决定,并提供一些背景,但如果您感兴趣的是如何做到这一点,然后忽略此文本,只需按照步骤。
祝你好运与你的整合。
部分 - 使TFS输出所需的测试和覆盖结果文件。
第2部分 - 设置您的项目使用声纳。
第3部分 - 将“Sonar Runner”整合到您的构建中。
SonarQube中的旧版代码
虽然我不相信将数字放在源代码质量上,代理商sonarqube静态安全扫描工具,SonarQube(以前称为Sonar)在开发过程中可能是一个非常有用的工具。它对您的团队执行一致的风格,已经发现了几个可能的错误,并且是一个很好的工具:您可以浏览违规行为,看看为什么某个表达式或代码块可能是一个问题。
为了确保您的代码库保持一致状态,您还可以直接执行代码检入的任何违规行为。其中一个问题是很多项目不是绿色项目你有很多现有的代码。如果您的违规号码已经很高,很难判断是否引入了新的违规行为。
在这篇文章中,我将向您展示如何从现有代码的零违反行为开始,而不用触摸来源,Jens Schauder在他的伟大演讲中使用Legacy Teams的灵感来启发它。我们将根据文件中的行忽略所有违规行为,因此如果有人触及该违规行为将再次显示的文件,开发人员将负责修复旧版违规行为。
关闭违规插件
我们正在使用SonarQube的关闭违规插件。可以为问题配置不同的排除模式。您可以为代码块定义正则表达式,这些代码块应该被忽略,或者在所有文件或行基础上停用违规。
对于现有代码,您想忽略某些文件和行的所有违规。这可以通过在文本区域中插入这样的方式来完成排除模式:
de.fhopf.a的kka.actor.IndexingActor; PMD:SignatureDeclareThrowsException; [23]
这将排除在IndexingActor类的第23行中抛出原始异常的违规。再次分析代码时,这种违规将被忽略。
通过API检索违规
除了漂亮的仪表板之外,SonarQube还提供了一个可用于检索项目违规的API。如果您不希望查找代码库中的所有现有违规行为,并手动插入,您可以使用它自动生成排除模式。所有这些违规都可以在/ api /违规找到,例如HTTP://本地主机:9000 / API /违例。
我确定还有其他方法可以做,但是我使用jsawk来解析JSON响应(在Ubuntu上,你必须安装Spidermonkey而不是默认的js解释器。你必须自己编译,而且我必须使用一个特定的版本。叹了口气)。
sonarqube静态安全扫描工具-苏州华克斯由苏州华克斯信息科技有限公司提供。行路致远,砥砺前行。苏州华克斯信息科技有限公司致力成为与您共赢、共生、共同前行的战略伙伴,更矢志成为行业软件具有竞争力的企业,与您一起飞跃,共同成功!