服务端质量保证体系 (三) CI 原子能力建设
在确定了整体研发流程规范及流水线的标准化建设后,我们针对于服务端质量保证建设相当于有了行动指南及适用于各种场景的线,而接下来要做的就是在各种场景线当中,增加各种各样 CI 原子,这样才能真正将线变为珍珠串,发挥出真正价值。CI 原子能力建设主要从:RD 研发阶段、RD 合入代码阶段、部署主干流水线阶段、上线阶段、日常任务阶段进行介绍。
研发阶段
单元测试
对软件中的最小可测试单元进行检查和验证。
单元测试是在软件开发过程中要进行的最低级别的测试活动。
软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
接口测试
用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
测试的重点是要检查数据的交换,传递和控制管理过程
以及系统间的相互逻辑依赖关系等。
合码阶段
单元覆盖率卡点
覆盖率或测试覆盖率是用来衡量单元测试对功能代码的测试情况,通过统计单元测试中对功能代码中行、分支、类等模拟场景数量,量化说明测试充分度。
静态代码检查
静态代码检查是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序正确性。
发布主干阶段
白盒安全扫描
漏洞是在软件、协议的具体实现或系统安全策略上存在的缺陷,可以使攻击者能够在未授权的情况下访问或破坏系统。而漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。接口测试
接口测试
与研发自测阶段进行接口测试相比,此阶段更加注重原有 Case 的回归,保证已有功能的稳定性。
代码覆盖率
是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。
在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到 n%
上线阶段
观察时长控制
需要小流量->单机房->全流量观察的方式上线,并保证观察时间。可根据服务树配置小流量的最小观察时长。
npm 版本 diff
保证前端依赖代码库测试版本和上线版本一致,防止出现‘测试完成没有问题,上线使用其他版本导致线上事故’。
日常任务
Coverity 扫描
Coverity 是唯一位列 IDC 前 10 名软件质量工具供应商的静态分析工具厂商,被第三方权威调查机构 VDC 评为静态源代码分析领域的领导者,市场占有率处于绝对领先地位。
优点:可以检测二进制文件,分析能力较强
自动创建流水线
在批量接入 Devops 后,随着新服务不断增加,服务接入 Devops 比率在不断减少,为降低业务接入流水线的使用成本,新增自动创建流水线节点。建立完成后将信息 lark 通知到对应同学
通过研发规范制定、研发流水线标准化、CI 原子能力建设,将整体流程和各阶段能力已经部署打通,而能否真正是有价值的,还需要落地到业务当中,度量统计对效能和质量保障的提升促进情况,这就涉及到度量指标体系建设,我们将在下一篇来跟大家详细介绍。
版权声明: 本文为 InfoQ 作者【homber】的原创文章。
原文链接:【http://xie.infoq.cn/article/bccb4bff6780925b67ebbbf3d】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论