目录
- app 测试思路总结
- Android 模拟器
- Android 开发者选项
- adb 常用命令
- app 压力测试
app 测试思路
测试角度看 Android 和 iOS 区别
- 物理按键
- 安装
- 兼容
- 手势操作
- 系统底层运行机制
- 程序后台运行机制
- 消息推送渠道
- 页面渲染机制
- 系统的开源
- 扩展
app 测试与 web 测试区别
- 仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的
- 架构不同
- 性能关注内容不同
- 兼容方案不同
- app 多了专项测试
- 界面操作不同
- 测试工具不同
- 上线方式不同
genymotion
开启开发者选项
- 进入设置
- 进入关于手机
- 连续点击 N 次 MIUI 版本
常用选项
- 开启开发者选项
- 不锁定屏幕
- USB 调试
- 选择模拟位置信息应用
- 显示触摸操作
- 指针位置
- 调试 GPU 过渡绘制
- 显示所有“应用程序无响应”
adb 使用场景
- 连接设备
- 指定设备
- 安装 apk
- 进入设备内部
- 查看包名
- 启动应用
- 强制停止应用
- 清除应用数据
- 获取界面布局信息
- 截图/录屏
- 抓取日志
Monkey 介绍
- Monkey 是 Google 提供的一个用于稳定性与压力测试的命令行工具
- 可以运行在模拟器或者实际设备中
- 向系统发送伪随机的用户事件对软件进行稳定性与压力测试
为什么要用 Monkey
- Monkey 就是像猴子一样上蹿下跳地乱点
- 为了测试软件的稳定性,健壮性
- 随机点击比顺序点击更容易发现问题
Monkey 基本用法
- 在命令提示符中输入
adb devices
查看有无连接的设备
- 确认有设备连接
- 获取 app 的包名
adb shell monkey [参数] {随机发送事件数}
Monkey 常用选项
- -v :用于指定反馈信息级别,总共分 3 个级别
- -s :用于指定伪随机数生成器的 seed(种子)值
- -p: 用于约束限制,用此参数指定一个或多个包
- –throttle :每个事件结束后的间隔时间
- –ignore-crashes:忽略崩溃
- –ignore-timeouts:忽略超时
- –ignore-security-exceptions:忽略安全异常
- –ignore-native-crashes:忽略本地代码导致的崩溃异常
- –monitor-native-crashes:跟踪本地方法的崩溃问题
Monkey 事件选项
- –pct-touch:触摸事件
- –pct-motion :滑动事件
- –pct-appswitch:activity 之间的切换
- –pct-pinchzoom:缩放事件
- –pct-rotation:屏幕旋转事件
- –pct-flip:键盘事件
- –pct-anyevent :任意事件
实例
对雪球进行压力测试
- 确定测试 app 的包名
- 执行 8 小时
- 日志级别
- 确定雪球中常用的操作类型和比例
- 确定 seed 值
- 确定调试选项
- 重定向日志到文件中 >
Monkey 日志分析
- 程序无响应,ANR 问题:在日志中搜索 “ANR”
- 崩溃问题:在日志中搜索 “CRASH”
- 其他问题:在日志中搜索 “Exception”