技术干货 | ToB 业务场景下自动化测试的实践及探索
导读: 在 ToB 业务快速迭代与新版本发布过程中,开发和 QA 提测面临着大量人工测试场景。那么如何实现智能回归测试,实现测试用例到代码逻辑的精准记录和双向追溯?如何能更高效的提升测试效率?这都是自动化测试平台的重点探索。
文章图片
?
文|赵冲
网易云信资深移动端开发工程师
文章图片
?
背景 业务场景的复杂化
随着 B 端方案交付场景增多,版本需要快速迭代。单端平台的自动化已经无法做到效率上的提升,人工回归更多的是在主观上去评价改动的影响面,为了确保版本的稳定性,全量回归测试的挑战会拉长 B 端 SDK 和方案发布规划。传统的自动化测试校验结果只是单一性的校验。移动端的 API 和 UI 自动化场景复杂,新旧版本兼容性用例管理,脚本化实现用例管理效率较低。因此对于网易云信来说,基于移动端较全场景的多端互通平台的测试是必不可缺的。
文章图片
?
文章图片
文章图片
?
文章图片
?
思考与挑战 通过平台抽象基础能力,以插件化能力的方式支撑全流程自动化测试。
文章图片
【技术干货 | ToB 业务场景下自动化测试的实践及探索】
执行器链路环境
- 用于运行测试用例的执行器信息;
- 用于运行测试用例的执行产物的构建链路;
- 用于运行测试用例的挂机测试设备被调度;
- 执行结果的校验根据规则全字端对比;
- 统一执行结果的比较规则定义,以关键词方式支持;
- 持久化断言参数,根据多端数据计算校验结果;
- 根据自动化生成接口元数据属性,进行基础用例和 AI 用例推荐标识;
- 根据碎片化复用组合和自定义用例,构建业务场景模型;
- 多端多平台用例参数上下游基于平台持久化数据进行;
- 执行集模块化配置资源包;
- 执行任务结果缺陷定位分类报告;
- 覆盖率分析;
- 历史数据聚合模型分析;
文章图片
?
解决方案 结合背景和思考,自动化平台的设计策略中包含了:执行器链路环境、云断言规则、元用例上下游,场景建模、覆盖率分析、缺陷定位及报告。
平台架构方案
文章图片
?
元用例提取过程 代码自动化提取,映射对应的基础用例。
通过配置资源包和规则文件,结合工具解析待测产物,自动生成测试代码和对应的接口用例。在平台上选择待测元素的方法和自定义的属性,组合成元用例。元用例的方法属性是不可编辑的,它是精准测试代码的映射产物,后续构建业务模型的基石就是基于用例的元数据。客户端的接口无法像服务端这样热更新接口行为。发布出去的版本 API 一定是固定的接口行为。
文章图片
?
构建业务模型
细化场景业务,做基线沉淀,提取测试执行集。
文章图片
?
运行链路流程
结合 QA 本地调试的流程,本地调试用例的链路是需要支持自定义设备资源进行调试用例。
文章图片
?
智能用例推荐
真实用户的持久化数据日志,通过关键词日志锁定用例链路执行轨迹,生成对应的用例。
文章图片
文章图片
?
实践 缩短代码完成和用户反馈之间的时间,最大限度地降低正在进行的工作的成本,这也是呈现代码到客户最终价值,需要更快更安全的交付版本,达到版本的最大收益。
自动化的成本与收益(ROI) 自动化的收益与迭代次数成正比,以下是个新产品的简化公式:
自动化的收益 = 迭代次数 * (全手动执行成本 - 维护成本) - 首次自动化成本
落地项目 目前在工程线解决方案和即时通信(IM1 和 IM2)落地实行。
文章图片
?
文章图片
每日挂机测试 通过上游 Job 完成构建任务,下游 Job 进行自动化任务。不阻塞打包工程任务如果不能触发上下 Job,可以在业务执行 Pipeline 中写入 node 节点执行
文章图片
?
文章图片
?
未来展望 前期只是针对 ToB 业务解决方案领域中移动端多平台探索实践落地,后续希望能够做到真实提效的同时,提高平台的易用性和扩展性。希望通过本文,能对其他团队有所启发,接下来的时间里一起继续前行探索。
作者介绍
赵冲,网易云信资深移动端开发工程师,热衷于研究跨平台开发技术以及工程提效,目前主要负责视频会议组件化 SDK 的相关研发工作
推荐阅读
- 人工智能|干货!人体姿态估计与运动预测
- GIS跨界融合赋能多领域技术升级,江淮大地新应用成果喜人
- 深入浅出谈一下有关分布式消息技术(Kafka)
- 干货来袭(自我管理(来几款撩人的APP))
- 2月2日日课总结(基因技术)
- NAT(网络地址转换技术)
- 云原生微服务技术趋势解读
- 国家重点支持的高新技术领域(一)
- 数据技术|一文了解Gauss数据库(开发历程、OLTP&OLAP特点、行式&列式存储,及与Oracle和AWS对比)
- Python爬虫技术要学到什么程度才可以找到工作()