ZTestMonkey软件包括:测试记录、设备管理、应用安装、命令执行、帮助中心、设置等多个模块,右侧展示内容跟随当前左侧选中模块进行切换。
一、发起测试
1、选择测试设备 仅可在当前已连接且在线设备中选择1个。支持关键词检索。
2、选择测试应用 下拉查看已选中设备的安装应用列表,选择其中任意1个应用。支持按“关键词”检索和展示历史选择记录。
3、发起单设备测试 点击右侧“发起测试”按钮可根据已选设备和应用发起测试。(需在右侧弹窗配置测试参数)
4、测试参数 设置如下图测试参数后,点击“发起测试”即完成发起此测试任务。 以“智能Monkey模式”为例,其各项测试参数配置说明如下:
- 测试时间:建议30分钟~120分钟,最长不超过10小时
- 遍历深度:可以自定义遍历的深度,默认为0表示不限制。深度是以activity名称定义的,不同的activity名称为一个深度层次。
- 动作间隔时间:即遍历时每次操作的间隔时间。值并非越小越好(要预留APP界面响应时间),通常建议500毫秒
- BackHome时间:可以设置自定义尝试回到mainactivity的时间,通常建议10分钟。合理设置backhome的时间,会让测试及时回到主页重新进行新的分支进行遍历,增加测试的覆盖率。
- 功能开关:开关开启后,测试执行时才会运用相应的功能。功能项包括动作截屏、Logicat日志、性能数据、异常捕获、忽略WebView页面
- 测试脚本:测试脚本非必须项。其作用是测试开始时,用来引导APP至某特定界面后再开始执行智能Monkey测试。
- Activity黑白名单:支持设置activity的黑名单与白名单。黑名单的activity在测试中会直接back回去,白名单的activity在测试中如果当前不是在白名单的将back(需要慎重使用白名单,因为设置了白名单后只会围绕白名单进行遍历)。
5、测试模式说明 包括智能Monkey、原生Monkey、人工模式,三种模式的对比如下表所示测试模式:包括智能Monkey、原生Monkey、人工模式,三种模式的对比如下表所示:
测试模式 | 主要选项 | 适合场景 | 描述 |
---|---|---|---|
智能Monkey | 测试设备、目标APP包名、测试时间、功能开关(截屏、日志、性能采集等) | 需要更多留痕的测试过程数据与更多测试条件的场景 | 智能Monkey模式是根据一种比较智能的自动遍历算法规则对APP所有功能页面进行有序高效的模拟人工操作的一种测试模式,支持丰富的限定条件设置,支持过程截屏留痕等。 |
原生Monkey | 测试设备、目标APP包名、事件数、原生monkey命令的参数以及功能开关 | 不太关注测试过程数据、原生monkey命令即可满足的场景 | 原生Monkey模式基于Android原生自带的monkey命令进行遍历测试,增加了异常数据捕获与性能数据采集等能力,增加了可视化的测试报告展示。属于加强版Monkey命令行工具。 |
人工模式 | 测试设备、目标APP包名、测试时间以及功能开关 | 人工复现与定位异常问题、有流程的功能测试的场景 | 人工测试模式最主要的目的是针对一些有一定流程的功能覆盖测试时与在发现有稳定性问题时复现与定位问题时使用,需要人工操作APP进行测试,工具负责采集与记录性能数据、异常问题数据等。 |
6、批量执行多设备测试 点击按钮即可发起多设备批量测试,在弹窗中选择多个测试设备,并选择目标应用包名。其余参数与单设备测试时的参数设置一致。
7、刷新测试记录:点击测试记录页面“刷新”图标,展示最新列表数据。
二、测试采集数据
ZTestMonkey稳定性测试主要支持采集以下数据指标:(数据指标以网页报告形式在本机浏览器中查看)
数据类型 | 主要指标 | 描述 |
---|---|---|
应用信息 | 应用图标、名称、包名、版本号、MainActivity等 | 测试目标应用的信息 |
设备信息 | 品牌、型号、系统版本、内存、CPU等 | 测试设备的信息 |
截屏 | 屏幕图片、点击的元素信息、动作时间等 | 每一个动作事件前的截屏图片,支持描绘点击区域 |
Logcat日志 | 测试过程所有logcat日志 | Logcat日志 |
性能数据 | CPU(AppCPU、SysCPU)、内存(PSS、VSS、RSS、Swap等)、FPS(FPS、Jank、BigJank、Stutter)、Network(Send、Recv) | 记录测试过程的所有性能数据 |
Activity | 所有Activity列表、已覆盖Activity列表、覆盖率 | 记录测试覆盖到的Activity,计算覆盖率 |
Process | Pid、进程名 | 记录测试过程中的进程变化 |
异常问题 | Crash、Anr、Stutter | 主要采集Crash、Anr与Stutter类别的异常数据,以及问题发生时的时间、日志信息等 |
三、测试报告
测试报告模块以网页形式在本机浏览器中打开,包括动作截屏、测试概况、基本信息、性能数据、Activity、Process、异常问题等信息。
四、设备管理
1、设备管理:设备管理模块以列表形式展示所有已接入本机的移动设备,可查看设备状态和相关测试记录。
2、设备接入:支持USB连接和远程连接2种方式接入设备。
USB连接 将设备用 USB 线连接电脑,打开设备开发者模式后,在开发人员选项里打开USB 调试开关即可自动连接。有些设备在连接时,会弹出选择连接模式的提示,需选“传输文件”选项。 连接成功后软件界面将弹出设备已接入提示。
注:测试时需保证 USB 连接正常,以免导致测试停止。
远程连接 使用 USB 连接设备和电脑,打开设备的 tcpip 5555 端口;在设备管理界面点击按钮,在弹窗中输入设备的IP 地址与端口后点击“连接”按钮,添加成功后拔掉 USB 线即可。
注:请勿同时通过 USB 和远程连接同一台设备,批量执行测试时会冲突!
五、应用安装
支持将PC本机的APK安装包安装至已连接设备,并且支持多选设备批量安装。 安装完成后,软件界面将提示安装成功。
六、命令执行
命令执行模块,支持将在软件界面输入命令发送至已连接设备执行,并显示执行返回信息,支持多选设备批量执行命令。
七、设置
设置模块,展示软件日志保存路径和测试记录目录;支持设置测试默认的参数,包括:截屏图片质量、截屏图片扫描区、Stutter检测阀值。