APP稳定性测试
概念
指软件长时间的持续运行,系统版本是否稳定,是否能否持续的为用户提供服务
测试指标
异常的次数
异常的频率
测试工具
Monkey
Monkey是向系统发送随机的用户事件流(如按键输入、触摸屏输入和手势输入等),实现对正在开发的应用程序进行稳定性测试。可以更好的模拟用户操作,确保App的稳定性。
通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常
Monkey原理
Monkey 程序是由 Android 系统自带,使用 Java 语言写成,其本身是安卓系统下的一个monkey.jar文件。在Android文件系统中的存放路径是: /system/framework/monkey.jar;
- Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;
- Monkey 启动方式:在 cmd 命令提示符里面输入命令行来启动 monkey 测试。
- 命令行:adb shell monkey——monkey.shell——monkey.jar——安卓进程——设备上执行测试
Monkey支持的参数 | ||
基础参数 |
|
|
Key | 参数含义 | 示例 |
-v | 日志级别 | -v Level0,除启动提示、测试完成和最终结果外,提交较少信息 |
-s | 指定伪随机数生成器的seed值 | -s 8888 |
--throttle | 动作间隔时间 | --throttle 300 |
-p | 包名 | -p com.yingsoft.ksbao.Activity |
-c | 入口 |
|
>d:\wuba.txt | 管道符输出日志到目录 |
|
发送的事件类型(注意:各事件类型的百分比和不能超100%) | ||
Key | 参数含义 | 示例 |
--pct-touch | 触摸事件百分比 | --pct-touch 30 |
--pct-motion | 滑动事件百分比 | --pct-motion 25 |
--pct-appswitch | Activity启动事件百分比 | --pct-appswitch 10 |
--pct-majornav | 主要导航事件百分比 | --pct-majornav 10 |
--pct-nav | 基本导航事件百分比 | --pct-nav 10 |
--pct-trackball | 轨迹球事件百分比 | --pct-trackball 5 |
--pct-pinchzoom | 缩放事件百分比 |
|
--pct-flip | 键盘翻转事件百分比 |
|
--pct-syskeys | 系统事件百分比 |
|
--pct-anyevent | 其他事件百分比 |
|
调试选项 | ||
Key | 参数含义 | 示例 |
--hprof | 在发送事件序列的前、后,生成性能分析报告 |
|
--ignore-crashes | 忽略崩溃 |
|
--ignore-timeouts | 忽略超时 |
|
--ignore-security-exceptions | 忽略程序发生许可异常 |
|
--kill-process-after-error | 杀死出错进程 |
|
--monitor-native-crashes | 监控本地崩溃 |
|
示例命令
adb shell monkey -p com.yingsoft.ksbao.Activity -s 2000 -v 5000 --pct-touch 100 --pct-motion 0 --pct-trackball 0 --pct-nav 0 --pct-majornav 0 --pct-syskeys 0 --ignore-crashes --ignore-timeouts --monitor-native-crashes >monkey.log
ADB命令
1.查看adb设备,当前打开的应用包名/activity
adb shell "dumpsys activity | grep -i run"
或
adb shell dumpsys activity | grep -i run
2.查看设备当前页面的Acitvity
adb shell "dumpsys activity | grep "mFoc""
或
adb shell dumpsys activity | grep "mFoc"
3.在com.yingsoft.ksbao.Activity中,随机执行2000个动作
adb shell monkey -v -v -v -s 8888 --throttle 300 --pct-touch 30 --pct-motion 25 --pct-appswitch 0 --pct-majornav 0 --pct-nav 0 --pct-trackball 0 -p com.yingsoft.ksbao.Activity 2000 --ignore-crashes --ignore-timeouts --monitor-native-crashes >monkey.txt