课堂 ppt
https://pdf.ceshiren.com/jy1/知名app测试实战2
PPT地址
实战
app 测试思路
(思维导图见网盘)
app 测试总结
测试角度看 Android 和 iOS 区别
- 物理按键:andorid 需要测试是否支持返回按钮
- 安装:安装渠道不同,android 支持第三方,iOS 更多的是官方渠道
- 兼容:兼容方案不同
- 手势操作:支持的操作手势不同
- 系统底层运行机制:android 虚拟运行机制,iOS 沙盒运行机制
- 程序后台运行机制:android 所有程序都可在后台运行,iOS 第三方程序不能在后台运行
- 消息推送渠道:android 支持第三方平台,iOS 用官方渠道
- 页面渲染机制:渲染机制不同
- 系统的开源:android 开源,iOS 比较封闭
- 扩展:android 支持 sd 卡扩展,iOS 不支持
app 测试与 web 测试区别
仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的
- 架构不同:web 是 B/S 架构,app 是 C/S 架构
- 性能关注内容不同:web 更多关注响应时间
- 兼容方案不同:web 关注浏览器,app 关于系统,厂商,型号,分辨率
- app 多了专项测试:健壮性,安装,卸载,更新
- 界面操作不同:app 关注手势操作
- 测试工具不同:web 自动化用 selenium,app自动化用 appium
- 上线方式不同:app 需要发版
Android 模拟器
- android studio 配置:Android Studio安装(推荐使用这种方法安装SDK)
emulator
使用方法参考 Android Studio模拟器创建和使用
常用命令
- 查看模拟器列表:
emulator -list-avds
- 启动模拟器:
emulator @模拟器名称
mumu:推荐学习方案,官网下载旧版本
https://mumu.163.com/mac/index.html
genymotion
可以选择不同的系统版本和分辨率,资源消耗小于 android studio,兼容测试的可选方案
Android 开发者选项
打开开发者选项
设置 – 关于手机 – 连续点击多次版本号
常用选项
- 开启开发者选项
- 不锁定屏幕
- USB 调试
- 选择模拟位置信息应用
- 显示触摸操作
- 指针位置
- 调试 GPU 过渡绘制
- 显示所有“应用程序无响应”
adb 命令
- 连接设备(mumu)
win:
adb connect 127.0.0.1:7555
adb devices
mac
adb kill-server
adb devices
- 指定设备
adb -s 设备序列号 命令
- 安装 apk
- 安装:
adb install apk路径
- 覆盖安装:
adb install -r apk路径
- 进入设备内部
adb shell
执行linux命令
exit
- 查看包名
- 查看设备中所有应用的包名:
adb shell pm list packages
- 查看第三方应用包名:
adb shell pm list packages -3
- 查看包名和当前页面的 activity 名:
adb shell dumpsys activity | findstr mFocusedActivity
- 启动应用
adb shell am start -n <包名>/<Activiey名>
- 停止应用
adb shell am force-stop 包名
- 清理数据
adb shell pm clear 包名
- 获取页面布局文件
adb shell uiautomator dump --compressed
- 文件从设备传输到电脑
adb pull /sdcard/window_dump.xml .
- 截图
adb shell screencap 设备中的路径
- 录屏
adb shell screenrecord 设备中的路径
- 抓取日志
adb logcat -v time > log.txt
adb logcat -s 标签名
清除日志(慎重):会清除掉缓冲区的所有日志信息
adb logcat -c
monkey
对雪球进行压力测试
- 确定测试 app 的包名
- 执行 8 小时:
8*60*60*1000/300 = 96000
- 日志级别
- 确定雪球中常用的操作类型和比例
- 确定 seed 值
- 确定调试选项
- 重定向日志到文件中 >
adb shell monkey -p com.xueqiu.android --pct-touch 30 --pct-motion 30 --pct-flip 10 --pct-appswitch 20 --pct-anyevent 10 -s 12345 --throttle 300 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 100 > monkey.log
日志分析
- 程序无响应,ANR 问题:在日志中搜索 “ANR”
- 崩溃问题:在日志中搜索 “CRASH”
- 其他问题:在日志中搜索 “Exception”
课后作业
- 设计测试用例(使用思维导图)
- 微信发朋友圈功能
课堂资料
链接: https://pan.baidu.com/s/1tqe1NksFdYUQ35sZ1DDdfA 密码: c0m0