如何构建适合自己的 DevOps 软件测试改进方案
根据 2022 年的 DevOps 全球调查报告显示,主流软件企业采用或部分采用 DevOps 且已获得良好成效的占比已达 70%,DevOps 俨然成为当下软件开发研究的重要方向。
测试作为软件开发的必要过程,是提升软件可靠性、保证软件质量的关键环节。然而,从过往研究文献来看,希望通过 DevOps 提升软件交付效率、保证软件质量的国内企业往往缺乏轻量级的测试改进路径。
本文将从软件研发最关键的质量与效率两个目标出发,对采用 DevOps 的软件测试需要关注的重点因素进行分析并提出改进框架及实践建议。
DevOps 成熟度模型分析
综合对比现有的相关文献,由荷兰乌得勒支大学的 Feijter 教授提出的 DevOps 成熟度模型相对更为全面、系统,共涉及三大模块及 16 个因子,具体如下:
上表中,成熟度按因子等级划分为 1-8 级;每个因子按是否更符合 DevOps 理念划分为 2—6 个等级。以“利益一致性”因子为例,仅与内部产品规划保持一致节奏的团队被划分为能力 A 级,而能与外部利益相关者的需求保持一致发布节奏、适应能力更强的团队为能力 D 级,越贴近 DevOps 理念,等级越高。
为更明确“利益相关者”的概念,可参照“内部开发运营的能力模型”,如下图所示:
构建适合企业自身性能的测试过程改进框架
逐一分析 DevOps 成熟度模型因子中与软件测试相关的内容,并按测试文化、测试过程及测试基础三个方面进行划分,可将 DevOps 模式下的软件测试影响因素划分如下:
影响因素所涉及的各测试因子与不同的 DevOps 成熟度等级相对应,选择其中最为重要的产品质量和测试效率作为评价依据,对测试因子进行重要性分析,得到结果如下:
按照上述结果,可将不同性能组织的测试情况进行如下区分:
并得出 DevOps 模式下的测试改进框架:
在选定适合自己的 DevOps 测试改进框架后,也需要对工具软件进行选择,以确保整体方案的落实。天目全数字实时仿真软件 SkyEye 可与众多工具(如禅道、Jenkins、GitHub、极狐 Gitlab 等)联合打造持续集成全链路一站式平台,专为嵌入式 DevOps 提供解决方案。
在持续集成流水线中,代码提交至仓库后将触发流水线运行,由持续集成服务器自动拉取代码进行静态分析、编译并加载至 SkyEye 仿真环境进行测试,工程师可快速获取测试报告,大大提升嵌入式软件研发效率,助力提高组织性能。
▲DevOps 中的持续集成流水线
参考链接:
[1] Feijter R. Towards the adoption of DevOps in software product organizations: a maturity model approach[D]. 2017.
[2]胡鹏. 面向 DevOps 模式的软件测试优化研究[D]. 战略支援部队信息大学. 2022.
版权声明: 本文为 InfoQ 作者【DevOps和数字孪生】的原创文章。
原文链接:【http://xie.infoq.cn/article/99aeb08f32682a5ae6a4f9a9f】。文章转载请联系作者。
评论