优酷如何构建覆盖全网的播放白盒测试体系

2024-02-08 04:30

本文主要是介绍优酷如何构建覆盖全网的播放白盒测试体系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景

随着移动端业务的持续发展,移动测试技术也从最初偏黑盒的手工测试转变为基于各类 UI 自动化测试框架,开发适合自身业务特点的自动化 case,一定程度解放了测试人力。

播放器作为优酷的核心基础模块,为点播、直播、短视频等业务提供基础播放能力,播放质量保障过程涉及到众多业务方和大量回归适配工作,因此迫切需要自动化能力。经过一系列调研,我们认为传统的 UI 自动化方案在播放场景下存在一系列弊端:

无法有效覆盖各类播放策略的正确性和有效性;依赖相对固化的 UI 元素层级,与优酷快速迭代的节奏不 match;case 开发维护成本高,投入产出低;播放场景强依赖网络环境,UI 自动化在可控网络方面不够灵活。

为解决以上问题,优酷测试团队自研出一套基于 AFrame 的白盒自动化测试方案,并在此基础上构建出基于实验室环境的播测验证体系和基于外网环境的动态拨测体系。

二、工欲善则利其器,移动端白盒自动化方案

基于 AFrame 的白盒自动化测试框架由 5 个核心模块组成:AFrameSDK、AFrameServer、CaseClient、PKAT 和 AFrameService;其中 AFrameSDK 作为移动端侧模块,已集成到优酷 app,其余 4 个模块均可脱离移动端,支持单独部署,各模块通过 WebSocket 或者 Http 进行交互,整体交互关系如下:
在这里插入图片描述

  1. AFrameSDK:自动化测试的移动端入口模块,该模块包含与 AFrameServer 长连的 WebSocket
    Client,用于接收和解析 AFrameServer 下发的测试指令、调度执行、过程同步、数据收集和转发;
  2. CaseClient:通过改造 JUnit 测试框架为每个用例创建一个 WebSocket Client,向 AFrameServer
    发送执行指令,并接收其中转的测试结果,完成行为分析和数据判断;
  3. AFrameServer:框架的数

这篇关于优酷如何构建覆盖全网的播放白盒测试体系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/alienttech/article/details/104527947
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/689900

相关文章

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python FastMCP构建MCP服务端与客户端的详细步骤

《PythonFastMCP构建MCP服务端与客户端的详细步骤》MCP(Multi-ClientProtocol)是一种用于构建可扩展服务的通信协议框架,本文将使用FastMCP搭建一个支持St... 目录简介环境准备服务端实现(server.py)客户端实现(client.py)运行效果扩展方向常见问题结

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen