知名 app 测试实战 2

霍格沃兹测试开发学社

ceshiren.com

目录

  • app 测试思路总结
  • Android 模拟器
  • Android 开发者选项
  • adb 常用命令
  • app 压力测试

app 测试思路总结

app 测试思路

测试角度看 Android 和 iOS 区别

  • 物理按键
  • 安装
  • 兼容
  • 手势操作
  • 系统底层运行机制
  • 程序后台运行机制
  • 消息推送渠道
  • 页面渲染机制
  • 系统的开源
  • 扩展

app 测试与 web 测试区别

  • 仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的
  • 架构不同
  • 性能关注内容不同
  • 兼容方案不同
  • app 多了专项测试
  • 界面操作不同
  • 测试工具不同
  • 上线方式不同

Android 模拟器

emulator

mumu(推荐)

下载地址:http://mumu.163.com/

genymotion

Android 开发者选项

开启开发者选项

  1. 进入设置
  2. 进入关于手机
  3. 连续点击 N 次 MIUI 版本

常用选项

  • 开启开发者选项
  • 不锁定屏幕
  • USB 调试
  • 选择模拟位置信息应用
  • 显示触摸操作
  • 指针位置
  • 调试 GPU 过渡绘制
  • 显示所有“应用程序无响应”

adb 常用命令

adb 使用场景

  • 连接设备
  • 指定设备
  • 安装 apk
  • 进入设备内部
  • 查看包名
  • 启动应用
  • 强制停止应用
  • 清除应用数据
  • 获取界面布局信息
  • 截图/录屏
  • 抓取日志

压力测试

Monkey 介绍

  • Monkey 是 Google 提供的一个用于稳定性与压力测试的命令行工具
  • 可以运行在模拟器或者实际设备中
  • 向系统发送伪随机的用户事件对软件进行稳定性与压力测试

为什么要用 Monkey

  • Monkey 就是像猴子一样上蹿下跳地乱点
  • 为了测试软件的稳定性,健壮性
  • 随机点击比顺序点击更容易发现问题

Monkey 基本用法

  1. 在命令提示符中输入 adb devices 查看有无连接的设备
  2. 确认有设备连接
  3. 获取 app 的包名
  4. 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 日志分析

  1. 程序无响应,ANR 问题:在日志中搜索 “ANR”
  2. 崩溃问题:在日志中搜索 “CRASH”
  3. 其他问题:在日志中搜索 “Exception”

课后作业

  • 设计测试用例(使用思维导图)
  • 微信发朋友圈功能