Part 01
从一封感谢信谈起
近日,中国移动研究院基础设施自动化团队收到一封来自服务器供应商技术团队的感谢信,信中提到:
近期,我司在新一代服务器的研发测试过程中,使用中国移动研究院自动化验证工具作为快速测试的手段,对服务器进行迭代测试验证。双方共同配合,开展了100+轮次的自动化测试验证,解决了约100个设备质量和管理接口问题,使我司服务器的国产化固件日趋稳定。
这封感谢信的起因要从半年前,中国移动与合作伙伴启动的服务器研发前置验证项目说起。中国移动云网资源池已建设数期,在每期建设开始阶段,各厂商亦如往期询问中国移动什么时候开始做预集成验证以保证厂商在交付阶段的产品测试验收达到更高的通过率。出于要对现网工期、保质保量交付等多个要求的满足,后来中国移动结合现网实际工作和厂商的研发实现机制,基于“测试左移”技术理念实现CI-CT-CD前置验证敏捷流水线来解决厂商研发和交付阶段的高频错误率问题。这封信是其中一个厂商给中国移动该方案提供团队发来的感谢信,感谢中国移动相关团队提供自动化工具在研发阶段经过数百轮的测试,自动化发现问题、自动化分析、提出指导建议等等。下面我们结合测试左移来详细介绍一下该方案。
Part 02
什么是“测试左移”?
一款产品的快速规模化应用往往取决于对用户变动需求的快速满足,即产品的上线速度。而产品的上线速度体现在产品研发阶段就需要产品迭代周期短、频次高,这也是敏捷研发或者敏捷交付在产品阶段流行的主要原因,传统的产品研发以“需求—设计—研发—测试—发布”为主要流程,即测试在产品研发后才开始,如果即要保证产品质量又要敏捷交付就会给测试人员带来很大的时间压力。同时,产品测试阶段发现问题的修复成本远高于研发阶段的修复成本,如何尽快尽早地发现软件产品中所存在的各种问题?这个难题“测试左移”可以给出答案。
图片
测试左移旨在将测试从产品研发过程的末端转移到产品研发的初始阶段,让测试与产品研发同步进行,可以更快地发现产品中存在的问题,并及时修复,能够缩短测试周期,提高研发质量,减少测试成本。同时,测试左移需要持续频繁地在整个产品研发过程中开展,实现持续地测试,持续地获取快速反馈,真正实现缺陷的预防。
Part 03
中国移动CI-CT-CD技术体系如何构建测试左移能力?
以服务器为例,中国移动基于“测试左移”技术理念提出服务器固件CI-CT-CD前置验证敏捷流水线,形成以中国移动敏捷工作流为内核驱动的“研发—验证—部署—监控”的闭环反馈模型,真正实现了“中国移动-厂商”闭环协作创新体系,让厂商研发参与到整个工作流中,彻底打通了研发与实际验收问题之间的壁垒,加快持续部署-持续测试迭代频率,持续驱动组件成熟。
首先,在服务器固件(固件)研发阶段,通过在厂商研发环境中引入轻量级自动化测试工具,进行测试极限左移的前置验证,形成从“自动化工具研发适配—服务器固件研发验证—固件验证问题反馈—迭代开发验证”这种不断的迭代研发和验证模型,可在固件研发阶段及时发现问题并进行整改验证,保证了固件版本开发的效率和质量。
其次,在固件预验证阶段,中国移动运用数字孪生技术生成与硬件设备固件接口保持完整映射一致的虚拟设备数据,并通过自动化测试模块对虚拟设备进行全覆盖测试和结果反馈。从而有效地降低测试成本,缩短测试周期,促进组件的快速迭代验证。
最后,通过CI-CT-CD流水线不间断的测试-验证-反馈机制,构筑端到端全程流程自动化能力,实现全流程统一管理,确保组件质量高可靠、过程可追溯,减少人为风险,为实现更好的硬件固件生态奠定坚实的基础。
图片
Part 04
“测试左移”前置验证流水线怎么驱动厂商和中国移动之间敏捷协作?
基于“测试左移”技术的服务器固件CI-CT-CD前置验证敏捷流水线,从厂商研发侧进行自动化测试验证,能够提前发现管理接口与规范要求不一致或接口命令不支持等固件问题,从源头消除接口、模型等参数与标准不符合的问题隐患,解决该类问题整改周期长,效率低的问题,提速优化硬件在中国移动的适用性及生态兼容性。该工作流主要通过以下几个技术特征实现快速、敏捷的协作验证能力:
- 服务器数字化孪生mock信息获取
设备供应商使用中国移动信息提取工具采集设备的基本信息,中国移动将其转换为数字化孪生MOCK,并对该虚拟设备进行验证。
- 用于敏捷验证的低代码框架模板参数适配
低代码敏捷验证测试框架可进行服务器BMC配置、BIOS配置、模型配置、组件健康状态、管理接口等方面的检查。上述检查内容需要设备供应商根据检查模板文件提供服务器的对应参数信息,中国移动根据提供的模板信息结合MOCK完成工具参数的自检验证。
- “测试左移”前置验证敏捷流水线
验证工具自检完成后,可将自动化验证工具开放给设备供应商,设备厂商使用工具在固件研发阶段进行前置测试验证,自动化验证工具采用多线程执行并发测试,能够在资源消耗低的情况下,达到较高的测试效率,工具执行完每轮自动化检查,可以生成和导出检查报告。针对验证报告的失败用例,厂商可及时进行固件错误修复再进行二次验证,直到测试验证全部通过,并将测试通过结果反馈中国移动做最终确认,真正实现测试极限左移,从研发侧优化交付产品,推动实现整体固件高质量化。
图片
Part 05
基于中国移动CI-CT-CD实验室推动产业“测试左移”前置验证
目前,基于“测试左移”技术研发理念形成的服务器固件研发前置验证敏捷流水线已在中国通信标准化协会多样性算力产业及标准推进委员会由我院专家主导完成立项,获得业界运营商、处理器厂商、整机设备厂商等9家单位的支持。同时,该方案在中国移动网络云和IT云项目中全面落地应用,涉及到共计7家服务器厂商的共同配合下,在厂商实验室开展累计300+轮次的自动化测试验证,并依托该能力解决厂商300+个设备质量和管理接口问题。在驱动厂商服务器固件日趋成熟的同时,厂商设备在现网交付阶段验收错误率大幅降低,极大提高了项目整体验收的进度和质量效率。
Part 06
总结
结合“测试左移”理念,中国移动CI-CT-CD敏捷流水线通过硬件前置验证这种方案探索出了一条新的道路,即在组件产品非自研且云网基础设施对组件产品的质量要求较高的情况下,通过CI-CT-CD敏捷流水线可以驱动厂商固件快速迭代及成熟,在提高面向算网基础设备自动化验证能力的同时,也实现了产品敏捷研发与高质量交付之间的高效平衡。目前,该方案也在到网络云云平台、核心网网元等软件平台推广使用。在此,中国移动希望发挥自身在技术研发和产业引领方面的优势,与合作伙伴进一步协同推进研发验证对接,优势互补,实现共赢。