本文主要是介绍优酷如何构建覆盖全网的播放白盒测试体系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、背景
随着移动端业务的持续发展,移动测试技术也从最初偏黑盒的手工测试转变为基于各类 UI 自动化测试框架,开发适合自身业务特点的自动化 case,一定程度解放了测试人力。
播放器作为优酷的核心基础模块,为点播、直播、短视频等业务提供基础播放能力,播放质量保障过程涉及到众多业务方和大量回归适配工作,因此迫切需要自动化能力。经过一系列调研,我们认为传统的 UI 自动化方案在播放场景下存在一系列弊端:
无法有效覆盖各类播放策略的正确性和有效性;依赖相对固化的 UI 元素层级,与优酷快速迭代的节奏不 match;case 开发维护成本高,投入产出低;播放场景强依赖网络环境,UI 自动化在可控网络方面不够灵活。
为解决以上问题,优酷测试团队自研出一套基于 AFrame 的白盒自动化测试方案,并在此基础上构建出基于实验室环境的播测验证体系和基于外网环境的动态拨测体系。
二、工欲善则利其器,移动端白盒自动化方案
基于 AFrame 的白盒自动化测试框架由 5 个核心模块组成:AFrameSDK、AFrameServer、CaseClient、PKAT 和 AFrameService;其中 AFrameSDK 作为移动端侧模块,已集成到优酷 app,其余 4 个模块均可脱离移动端,支持单独部署,各模块通过 WebSocket 或者 Http 进行交互,整体交互关系如下:
- AFrameSDK:自动化测试的移动端入口模块,该模块包含与 AFrameServer 长连的 WebSocket
Client,用于接收和解析 AFrameServer 下发的测试指令、调度执行、过程同步、数据收集和转发; - CaseClient:通过改造 JUnit 测试框架为每个用例创建一个 WebSocket Client,向 AFrameServer
发送执行指令,并接收其中转的测试结果,完成行为分析和数据判断; - AFrameServer:框架的数
这篇关于优酷如何构建覆盖全网的播放白盒测试体系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!