知名 app 测试实战 2

by 飞儿

目录

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

app 测试思路总结

app 测试思路

app测试思路总结

测试角度看 Android 和 iOS 区别

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

app 测试与 web 测试区别

仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的

  • 架构不同
  • 性能关注内容不同
  • 兼容方案不同
  • app 多了专项测试
  • 界面操作不同
  • 测试工具不同
  • 上线方式不同

Android 模拟器

emulator

https://ceshiren.com/t/topic/4012

  • 查看帮助:emulator -help
  • 查看模拟器列表:emulator -list-avds
  • 启动模拟器:emulator @avd_name

mumu(推荐)

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

mumu模拟器

genymotion(不推荐)

Android 开发者选项

开启开发者选项

设置 -> 关于手机 -> 连续点击 N 次 MIUI 版本

常用选项

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

adb 常用命令

adb 使用场景

  1. 连接设备
  2. 指定设备
  3. 安装 apk
  4. 进入设备内部
  5. 查看包名
  6. 启动应用
  7. 强制停止应用
  8. 清除应用数据
  9. 获取界面布局信息
  10. 截图/录屏
  11. 抓取日志

压力测试

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”

课后任务

在自己本地搭建好Android环境

  1. 搭建 java
  2. 安装 android studio
  3. 安装 android sdk
  4. 配置环境变量

参考帖子:https://ceshiren.com/t/topic/4001

课后作业

设计测试用例(使用思维导图)

  • 微信发朋友圈功能