如何从开发阶段提升代码质量,加速迭代发布?

简介: 云效平台的单测集成功能,是通过对项目仓库地址(git、svn),进行代码变更监控,然后得到静态扫描,单测用例执行结果,代码覆盖率等集成结果。包括单元测试、静态扫描、单测报告和邮件报告,开发能快速知道本次代码提交的白盒级别的质量情况,并且质量信息分等级,开发可优先关注高等级的质量风险。
 引言:一个 bug 被隐藏的时间越长,修复这个bug 的代价就越大。在《快速软件开发》一书中已引用了大量的研究数据指出:最后才修改一个 bug 的代价是在 bug 产生时修改它的代价的10倍。

       很多开发工程师很不喜欢测试的工作,他们更希望能够开发新功能,但在日常研发过程中,测试的重要性想必也不言而喻。单测集成系统,可以从开发阶段提高质量,加快代码发布。

       云效平台的单测集成功能,是通过对项目仓库地址(git、svn),进行代码变更监控,然后得到静态扫描,单测用例执行结果,代码覆盖率等集成结果。包括单元测试、静态扫描、单测报告和邮件报告,开发能快速知道本次代码提交的白盒级别的质量情况,并且质量信息分等级,开发可优先关注高等级的质量风险。对于业务发展快、研发进度慢的公司,可以尝试单元测试系统,从开发阶段提高质量,加快代码发布。

        1.单测集成是动同步云效平台的配置管理系统,对代码主干以及各个项目的分支进行单元测试持续集成主干结果通知到负责人,分支结果通过邮件的方式通知到代码提交人员,如果在一小时内有多人多次提交,将合并成一次构建并一起发送到每个代码提交人员。

       代码主干的持续集成频率为每天凌晨2点检测一次svn是否有变更,如有则触发一次集成构建;项目分支的持续集成频率为1小时检测一次svn是否有变更,如有则触发一次集成构建;

        2.全自动对项目开发仓库地址(git、svn)进行代码变更监控,自动扫描代码中已有的缺陷,自动监控,实时反馈代码质量;

        3.提供多维度测试集成结果:单元测试用例集成结果(用例总数、成功、失败及通过率);单元测试代码覆盖率结果(包括代码全量和SVN变更增量覆盖率),覆盖率分全量覆盖率和增量覆盖率:全量覆盖率=(被单元测试覆盖的代码行数/总代码行数);增量覆盖率(一次构建)=(新增代码被单元测试覆盖的代码行数/新增代码行数)。在集成参数配置中可以配置过滤不统计的方法正则表达式;静态扫描Findbugs(按扫描规则区分必修、建议);Sonar代码分析(代码静态扫描,包括PMD扫描、代码统计、注释率统计、代码重复度统计、代码复杂度统计)。

        4. 提供多维度看板,可以自定义团队代码模板看板,通过邮件订阅的方式定时接收团队的主干应用集成情况,监控代码主干的持续集成结果,还可以操作对比主干的集成结果变化情况,有效降低开发在项目中单元测试的持续集成成本。

       云效建议企业在单元测试不多的情况下,可以选择优先修复静态扫描的必修部分,来减少因代码不规范、粗心而带来的质量问题;如果进行单元测试,则需要减少外部依赖,使用Mock进行单元化测试,在这打个广告云效也即将发布上线Mock平台。

        如果企业有需要接入单测集成功能,可以点击http://ali-aegis.aliyun.com/help/help.html 查看使用帮助。
        云效平台 官网地址:http://yunxiao.aliyun.com

相关文章
|
应用服务中间件 网络安全 nginx
Nginx配置WebSocket 【支持wss与ws连接】
Nginx配置WebSocket 【支持wss与ws连接】
11206 1
|
开发框架
osharp集成Yitter.IdGenerator并实现分布式ID
本文介绍了在 osharp 框架中集成 Yitter.IdGenerator 实现分布式 ID 的方法。osharp 是一个基于 .NET Core 的快速开发框架,而 Yitter.IdGenerator 是一种高效的分布式 ID 生成器。通过实现 `IKeyGenerator<long>` 接口并创建 `YitterSnowKeyGenerator` 类,结合 `YitterIdGeneratorPack` 模块化配置,实现了分布式环境下唯一 ID 的生成。
295 0
|
Kubernetes 网络协议 Linux
Cilium 系列 -5-Cilium 替换 KubeProxy
Cilium 系列 -5-Cilium 替换 KubeProxy
|
存储 Swift
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
Swift 语言:什么是闭包(Closure)?它们与函数的区别是什么?
466 1
|
XML 开发框架 JavaScript
【web 开发基础】php 开发基础快速入门 (3)-PHP程序符号标记和程序注释的使用及空白符详解
以<?php开始和以 ?>结束的标记是标准风格的标记,属于xml风格,这也是PHP推荐使用的标记形式,服务器管理员不能禁用这种风格的标记,如果将PHP嵌入到XML或者XHTML中,则需要使用<?php?>以保证符合标准,如果没有特殊要求,在开发过程中一般默认使用此风格. 以<script language="php">开始和以</script>结束是长风格标记,这种标记是最长的,这种用法就是javascript和vbscript等脚本语言的写法,如果你使用的html编辑器无法使用其他风格的标记可以使用这个标记来界定PHP代码,不过这在日常开发中是比较少用的. 以<?开始和以?>结束的标记是最简
535 1
|
Web App开发 算法 JavaScript
如何用正则表达式来检测一个数是否是素数
这里还不足以下定论,因为这里还判断不了3n……,其实我们只要在/1后+就可以了。 这个正则表达式可以表示为以下代码。
270 0
|
算法 Python
回文数的判断
回文数的判断
331 0
|
机器学习/深度学习 传感器 算法
【湍流】基于傅里叶变换实现大气湍流随机相位屏,增加了低频次谐波补偿附matlab代码
【湍流】基于傅里叶变换实现大气湍流随机相位屏,增加了低频次谐波补偿附matlab代码
|
机器学习/深度学习 传感器 算法
【图像分割-阈值分割】基于灰狼算法二维oust图像分割附matlab代码
【图像分割-阈值分割】基于灰狼算法二维oust图像分割附matlab代码
【图像分割-阈值分割】基于灰狼算法二维oust图像分割附matlab代码
|
Android开发
PS二值化
牙叔教程 简单易懂
1196 0

热门文章

最新文章