开发者社区> 问答> 正文

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

       引言:一个 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




展开
收起
技术小菜鸟 2016-05-26 23:27:12 7100 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista
    学习了。有机会试试
    2016-05-31 17:22:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何实现应用的持续发布 立即下载
无人值守自动化测试的实践之路 立即下载
灵雀云持续集成和持续交付功能实践 立即下载