通过前期对各业务的测试场景基础调研,从场景覆盖和自动化测试流程两个维度对业务的自动化测试需求进行分析归纳,以下需求为归纳的,一个成熟自动化测试平台应该具备的基本能力。
2.1 场景覆盖需求
2.1.1 客户端支持
需支持客户端范围:
- web
- android
- iOS
- 小程序
- H5
- PC
2.1.2 交互场景支持
需支持以下业务场景:
- 单端执行
在所支持的单客户端上执行自动化测试,最普遍、基本的测试场景。
-
多端执行(数据驱动)
在不同客户端执行相同的自动化测试,一般用于不同账户数据的同时测试或不同设备的兼容性测试。 -
多端交互
支持多个相同或不同的客户端间进行业务流程交互,典型场景如:智学项目教师、学生、家长三端的业务场景串流(3个android端);课堂项目教室场景中单教师和多学生的场景互动(1个PC端,多个android端);司法项目中的庭审场景(多个小程序端)等。 -
滑块或字符验证码识别
支持当前集团公共的验证码场景识别,典型的如:极验的滑块验证码;多字符型验证码等。
2.1.3 操作行为支持
基础操作
- 点击:针对各客户端进行坐标点的点击行为
- 长按:针对各客户端某坐标点的单次持续按击
- 滑动:针对各客户端单次从某坐标点滑动到另一指定坐标点
- 字符输入:对中英文标点特殊符号的文本输入
高级操作
- 轨迹滑动:针对各客户端的连续触摸指令模拟
- 手势操作:针对各客户端的多点触摸指令模拟
- 拖拽:针对各客户端单次按击某坐标并进行滑动到另一指定坐标点后释放
- 语音交互:通过语音输入进行交互,如语音文本转换场景、语音指令执行场景等
- 视频交互:通过视频输入进行交互,如视频文本转换场景、人脸识别场景等
2.2 测试过程需求
2.2.1 测试准备
静态数据
基础的测试数据,如配置数据、可复用的静态账户数据、可复用的文件资源等;主要有以下需求:
- excel、yaml、json等主流文件类型的读取支持
- 静态资源文件路径的解析支持
存量数据
测试前根据具体业务规则从存量数据池中读取的数据,如测试中需要的用户信息、课程资源等;主要有以下需求:
- mysql、oracle等主流数据库的连接、读取支持
- http等主流协议的请求、响应解析
实时数据
测试前需要进行动态生成或测试过程中需要进行动态读取的数据,如短信验证码、队列任务等;主要有以下需求:
- redis、memcached等内存操作的nosql型数据库或内存对象缓存系统的连接、读取、写入支持
2.2.2 用例编写
开发能力
- 非代码用例描述:采用非代码形式描述用例,如关键字形式、自然语言形式等
- 自动生成用例:具备自动生成用例能力,如录制回放、视频文件用例提取等
- 逻辑点支持:具备常用逻辑点能力,如ifelse、while等
- 代码段插入:具备多种主要语言的代码段插入能力,如python、java、js等
- 用例辅助:可对被测客户端进行元素解析和实时显示,将被测元素以控件或视觉模式提供展示
驱动能力
- 元素驱动:可通过控件定位方式驱动各客户端
- 视觉驱动:可通过视觉定位(ocr文字、图标识别等)方式驱动各客户端,且该方式兼容各设备
2.2.3 用例调试
真机调试
- 单步调试:支持对某一步骤单独重复更改运行,运行全程可视化
- 全流程调试:支持对某一用例单独重复更改运行,运行全程可视化
日志调试
- 实时错误提示:可对当前运行失败的原因进行实时提示,并给出修复建议
- 实时日志预览:可实时预览设备日志
- 任务日志保存:任务完成后可查阅设备运行过程日志
操作回溯
- 实时操作预览:可在执行步骤时实时观察到单条步骤执行和设备显示情况
- 任务过程截图/视频:可在任务执行完后会看执行过程的显示情况
2.2.4 用例执行
执行方式
- 分发执行:支持对用例进行不同设备的分发执行
- 定时执行:支持对用例的定时执行
2.2.5 用例维护
用例复用
- 元素复用:可在新建用例时复用历史记录元素
- 步骤复用:可在新建用例时复用历史记录步骤
关联更新
- 元素关联更新:可在更新元素后,关联的用例自动同步更新
- 步骤关联更新:可在步骤更新后,关联的用例自动同步更新
2.2.6 测试管理
资源管理
- 静态资源:支持静态资源如媒体文件、信息表格的管理
- 元素管理:支持对元素的记录和管理
- 配置管理:支持对配置信息如环境地址、数据库连接方式、测试账户的管理
- 变量管理:支持对运行时的变量管理
任务管理
- 任务执行统计:统计任务的整体执行次数
- 用例数统计:统计用例的整体数量
- 执行结果统计:统计用例执行结果的整体情况
项目管理
- 权限分配:支持项目维度下,不同角色分配不同权限
设备管理
- 云端设备管理:支持对公共设备进行管理
- 本地设备挂载:支持本地私有设备挂载







网友评论