C端音视频测试解决方案
背景
C端音视频测试之前的手动测试需要多人同时上线操作,验证交互内容,费时费力,能够考虑通过自动化的方式替代人工测试。故才有了本文的分析内容。
结论
A方案:完全的自动化测试模拟音视频交互,难度大,无法模拟视频,非常难覆盖图像
B方案:模拟网游,搭建交互测试环境。
A方案:完整的自动化测试
C端ui自动化测试:python + autoit
autoit是一个可以驱动windows操作本地应用的工具
python也已经扩展了该工具的方法
但是由于C端程序不一定覆盖完整流程,所以需要集合ui自动化测试
所以整体下来就是:python + selenium + autoit + pytest
可以完整所有web + c端程序的点点点测试内容。
交互测试自动化的难点:
-
模拟音频测试
1.1 如何使用脚本插入读取一条音频:
https://blog.csdn.net/weixin_33729288/article/details/114441537
python + Audio,读取录制好的wav文件,向声卡写入数据,模拟麦克风输入
同时可以读取声卡数据用于数据验证1.2 如何判断读取的数据为输入数据
https://blog.csdn.net/weixin_33729288/article/details/114441537
使用python对音频进行识别,转换为汉字判断音频内容是否为传入内容 -
模拟视频测试:
python无法模拟摄像头录制视频,只能够驱动摄像头传入视频。
但是驱动摄像头,无法控制输入数据,从而导致无法验证出参 -
多台设备同时运行:
python 多线程机制,编写两套代码同时运行,并分别进行输入,获取验证结果 -
图像内容
python驱动windows完成截图,然后对截图关键部分进行比对
不过需要保证多个设备的分辨率相同;
总结:
完全的自动化:视频无法模拟验证;音频和点点点操作可以模拟,但是代价非常大;
需要团队掌握非常完整的测试开发水品
B方案:人工覆盖优化方案
搭建测试(体验)服务器:
游戏交互测试、性能测试、bug测试的必备环境
将交互测试用例拆出,单独验证。
针对C端,可以在家搭建完整的测试环境。
涉及交互验证可以直接到环境上自行模拟输入输出并验证。
最少需要:
- 1台机箱
- 1副耳机
- 1个麦克风
- 1台显示器
在机箱里安装C端程序,模拟交互方;自己的主机作为另一个交互方