0807 APP测试方法与技术训练营

课堂 ppt

PPT地址

实战内容

雪球发讨论

分析场景

构造场景

  1. 基本流 (正向用例已覆盖)
  2. 基本流 + 备选流1(未登录已覆盖)
  3. 基本流 + 备选流2(发布浮层关闭按钮,已覆盖)
  4. 基本流 + 备选流3(发布讨论页没内容直接取消,已覆盖)
  5. 基本流 + 备选流4(发布讨论页有内容,取消,取消,已覆盖)
  6. 基本流 + 备选流5(发布讨论页有内容,取消,不保存,已覆盖)
  7. 基本流 + 备选流6(发布讨论页有内容,取消,保存草稿,已覆盖)
  8. 基本流 + 备选流7(网络异常,未覆盖)
  9. 基本流 + 备选流8(包含敏感词,未覆盖)
  10. 增加几个最长的路径:基本流 + 备选流6 + 备选流8 (未覆盖)

测试角度看 Android 和 iOS 的区别

  • 物理按键:Android 需要测试是否支持物理返回按键
  • 安装:不同安装渠道
  • 兼容:兼容方案不同,Android 要考虑的要更多
  • 手势操作:手势操作支持的功能不同
  • 系统底层运行机制:Android 为虚拟机运行机制,iOS 为沙盒运行机制
  • 程序后台运行机制:Android 所有程序都可以在后台运行,iOS 会记录退出时的状态再启动会恢复到对应状态
  • 消息推送渠道:Android 可以使用第三方平台,iOS 只能使用官方渠道
  • 页面渲染机制:底层框架不同,所以页面渲染机制也不同
  • 系统的开源:Android 开源,iOS 非开源
  • 扩展:Android 支持 sd 卡扩展,iOS 不支持

web 测试与 app 测试的区别

  • 功能测试方面区别很小
  • 架构不同:web 为 B/S 架构,app 为 C/S 架构
  • 性能关注内容不同:web 关注响应时间,app 关注响应时间、流量、电量、CPU内存占用率
  • 兼容方案不同:web 更关注浏览器兼容,app关注分辨率、设备的厂商型号、系统版本
  • app 多了专项测试:健壮性、安装、卸载、更新
  • 界面操作不同:app 使用手势操作,web 使用鼠标
  • 测试工具不同:web 自动化使用 selenium,app 自动化使用 appium
  • 上线方式不同:app 需要发版

app 测试执行

  • 接口校验:代理工具(charles、fiddler)
  • bug 定位:代理工具
  • 安装、获取日志:adb 工具
  • 健壮性测试(压力测试):monkey 工具

adb 命令演练

  • 安装雪球 app
// adb 服务出错,杀掉服务
adb kill-server
// 连接移动设备
// windows 系统
adb connect 127.0.0.1:7555
adb devices
// 安装雪球 app
adb install -r xx/xueqiu.apk
  • 获取雪球包名
// 获取移动端安装的所有第三方的应用
adb shell pm list packages -3
// 获取当前前台展示应用的包名和对应页面的 Activity 名
adb shell dumpsys activity | findstr mFocusedActivity
  • 启动雪球 app,执行测试用例
adb shell am start -n com.xueqiu.android/.common.MainActivity
  • 确定雪球日志存放地址
// 进入设备
adb shell
// 找到日志存放目录
cd /data/data/com.xueqiu.android/app_crashrecord
  • 将设备内部日志信息拉取到本地
// 退出移动设备
exit
// 拉取日志信息到本地当前目录中
adb pull /data/data/com.xueqiu.android/app_crashrecord/1004 .
  • 通过 adb logcat 获取日志信息
adb logcat -v time > log.txt
  • 清除雪球 app 缓存数据
adb shell pm clear com.xueqiu.android
  • 关闭雪球 app
adb shell am force-stop com.xueqiu.android

课堂资料

链接: 百度网盘 请输入提取码 提取码: iru2

课后调查表单

adb install F:\com.xueqiu.android_12.5_255.apk
adb shell dumpsys activity | findstr mFocusedActivity
adb shell am start -n com.xueqiu.android/.common.MainActivity
adb logcat ActivityManager:I | findstr “cmp”
修改为:adb pull /data/data/com.xueqiu.android/app_crashrecord/1004 F:\Test_Study
adb shell pm clear com.xueqiu.android
adb shell am force-stop com.xueqiu.android