我们的自动化测试团队一直以来被编写脚本工作量大的问题所困扰,所以萌生了开发一个自动生成脚本系统的设想。让功能测试们可以加入到脚本开发工作中;降低脚本编写门槛,使没有代码基础的同学也能方便使用脚本生成工具。
1. 开发目的
降低脚本编写门槛,使没有代码基础的同学也能使用工具生成测试脚本。
2. 已有竞品工具痛点
2.1 只能以固定时间间隔执行操作
2.2 缺少操作结果检验
3. 系统原理
3.1 脚本录制时:
A. 记录客户端操作(鼠标键盘输入、GM指令)
B. 自动对比每个操作产生的客户端状态变化(比如界面被 打开、经验发生变化等)
3.2 脚本运行时:采用状态机机制回放客户端操作,直到状态与记录值一致。
4. 系统优势
4.1 脚本编写门槛低,无需编程基础
4.2 脚本编写时间短,只需执行一遍
5. 适用场景
5.1 任务测试
操作比较固定:寻路、NPC对话、打怪等等
目的性很明确:完成当前任务步骤
操作可重复高:任务未完成之前可以一直重试
操作结果具有收敛性:寻路会越来越接近、打怪会越打越少等等
判断操作成功标准清晰:任务状态变化
5.2 数值监控
通过自动化手段确保游戏数值正确性,防控线上事故。普通流程为:
A. 编写脚本(根据测试内容决定)
B. 已测试的外放版本->采样得到正确数值
C. 运行开发版本->数值采样对比
使用本系统 => 将A+B一次性完成,边录制边采样正确数值
了解我们团队对于脚本自动生成系统的研究,并获得一些思考。