内建质量,你真的了解么?

内建质量,你真的了解么?

内建质量定义

内建质量做用在开发过程当中,要求软件生命周期之间参与的各个角色都须要实时的对软件的质量负责。确保软件在交付到下一环节前已经有了基础的质量保证。其核心目的就是减小由于质量问题致使的返工,而浪费大量人力成本。

1.敏捷中的内建质量api

内建质量是规模化敏捷SAFe的核心价值观,引用下面一段话,咱们看一下敏捷中定义的内建质量在讲什么内容(原文出处:https://www.scaledagileframework.com/built-in-quality/安全

内建质量,你真的了解么?

简单的翻译过来就是,产品一旦被发布以后就有了好坏之分,经过某些检验方式已经没法提升或保证它的质量,因此质量检验必须内置在产品或服务构建的过程当中,而不能在它发布以后。微信

2.DevOps中的内建质量运维

DevOps三步工做法中,第二步就是反馈原则,其中很重要的一个实践就是在源头保障质量,这里主要是指开发部门、测试部门。而在源头保障质量的通俗说法更像是“谁污染谁治理”。 DevOps倡导全部新的功能特性能够像流动的水同样,迭代到用户的终端,而水是不能逆流的,为了保证水流的质量,咱们就必须在水流动的途中治理,直到最终交付到用户的手中。这也就是DevOps建设中一个新的理念“liquid software”ide

内建质量实践

1. 左移工具

左移是内建质量最好的实践,把质量问题从源头开始进行检查。post

由开发侧发起的单元测试就是最典型的测试左移的案例,虽然高单元测试覆盖率须要投入大量的成本,可是对于某些行业,如金融行业,这个实践是必要的。另外测试左移不止是对代码来说的,一样在需求评审阶段,就要对需求质量进行评估,推广到市场后是否真的能实现其价值.性能

随着DevSecOps的兴起,安全左移的重要性也体现出来。咱们经历过不少次相似的状况,每当咱们把通过了开发测试的软件发布到生产线上,常常会被安所有门或者第三方监管单位找麻烦,归根结底仍是由于在开发过程当中引入了某些不安全的开源组件,写了有风险的代码,而这些问题可能都是开发人员技术能力以外的。试想一下,若是在开发人员的IDE中直接提示开发代码的安全问题,引用组件的安全问题,并引导开发人员去解决的话,是否是至关于在开发的源头解决了安全问题呢,不但提升了软件的总体安全质量,一样也节省了效能。单元测试

2. 门禁测试

为了贯彻内建质量是否在开发体系中落实,咱们须要设置一些质量度量标准,因此在软件生命周期的每一个阶段设置质量门禁这种实践孕育而生,在代码提交或集成时,校验单元测试的覆盖率和经过率,检验代码的合规性,验证引用的组件安全性都是质量门禁的实践。若是没有经过质量门禁,说明内建质量没有达到标准,上线后因为质量问题返工的可能性会增长。下述门禁是须要被关注的:

代码质量

单元测试覆盖率

单元测试经过率

测试经过率

基础设施

代码安全性

第三方组件安全性

开源协议扫描

等…

内建质量落地

不少DevOps的建设场景中,最终落地的依旧是工具链,工具链是打通从开发到运维基础。为了保障内建质量的创建,两个方面的工具链是不可缺乏的,下面罗列了一些经常使用的工具,若是你们准备在软件生命周期中增长内建质量的建设,能够参考下述工具

1. 专项工具类,解决特定质量检查场景:

源码质量:SonarQube、checkmarx、fortify

单元测试:Junit

自动化测试:selenium、postman、yapi

性能测试:jmeter

安全:Xray、Dependance-check

2. 集成工具类,打通工具链流程,统一展现:

集成工具:Jenkins、TFS、GitlabCI、tekton、

制品管理工具:Artifactory

总结

内建质量是精益、敏捷以及DevOps的核心原则之一,有助于避免与需求召回、返工及缺陷修复有关的延迟成本。因此内建质量,势在必行。

**更多精彩内容能够专一咱们的在线课堂

微信搜索公众号:jfrogchina 获取课程通知**

相关文章
相关标签/搜索