从 DevOps 试点到全面推广,我行持续交付能力已实现大幅提升,在逐步完善持续交付能力的过程中涌现了许多最佳实践,制品与自动化测试报告双向追溯便是其中之一。
本文主要介绍如何实现制品与自动化测试报告的双向追溯。
软件制品是软件企业持续交付的目标产物,其质量是制品交付的重要属性。只有依次通过了代码检查、单元测试、测试(自动化、手工)等多重质量门禁,制品方可由开发库逐步晋级至测试库、待投产库,最终晋级至投产库部署生产。
图1 制品生命周期过程
制品与测试报告双向追溯,一方面,可以通过制品查看对应的测试报告;反之,根据测试报告也可以追溯所测制品的信息。将两者关联起来,实现透明化,让每个制品都拥有自己的“身份证”--测试报告,实现制品质量可视化。
通过为制品定义测试报告相关属性,我行实现了通过制品追溯对应的测试报告。
通过流水线完成自动化测试任务后,由自动化测试平台将测试报告链接地址回传给流水线工具。
在流水线工具中,自动化测试任务相关流水线执行成功后可直接查看测试结果并通过点击“执行进度”跳转至自动化测试平台相关页面。
图2 流水线中测试结果的展示
图3 测试平台中测试案例信息页面
流水线工具通过调用制品库接口,将测试报告链接写入制品属性。
在制品库中,可在制品属性页查看测试报告链接地址,点击可跳转至自动化测试平台相关页面。
项目管理平台测试准出流程生成手工测试报告(功能、性能、安全)过程中,调用制品库接口实现测试制品以及自动化测试报告链接的关联选择。手工测试报告内容包含测试制品信息、自动化测试报告链接。基于上述功能我行实现了通过测试报告追溯所测制品的信息。
图4 手工测试报告的生成
DevOps 中的可追溯性为减少产品缺陷、增强合规性提供了有力保障,并可在不牺牲质量的前提下提高交付速度。制品与测试报告的双向可追溯是其中不可或缺的一部分。