利用Monkey进行APP测试
APP测试策略
-
功能测试
- 安装、卸载测试
- 升级测试(跨版本) 数据丢失 版本兼容
- 业务逻辑测试
- UI测试
- 异常测试
-
适配测试 软件 兼容性测试 硬件
-
性能测试
- 效率测试 启动时间 响应时间 页面流畅度
- 极限测试 在各种边界压力情况下,电池存储网速 能否正确响应 内存满时安装APP 运行时手机断电 运行APP时断掉网络
- 压力测试 反复/长期操作下,系统资源是否占用异常 反复安装卸载 其他功能反复使用
-
专项测试
- 电量电流测试or耗电测试 正向耗电 逆向耗电 后台耗电
- 流量测试 流量占用 后台流量
- 内存泄漏测试 内存占用 内存泄漏 内存不足时的情景
- 网络专项测试
- 蓝牙专项测试
- SIM卡专项
- T卡专项
-
安全性测试
- 应用程序级别安全性,包括对数据或业务功能的访问
- 系统级别的安全性,包括对系统的登录或远程访问
-
稳定性测试 在一定负载下长时间运行后的表现 一般使用工具 monkey
稳定性测试
- 指软件长时间的持续运行,系统版本是否稳定,能否持续的为用户提供服务
- 指标:
- 异常的次数 参考数据 同类型软件的数据,前一次数据进行参考
- 异常的频率
- APP的稳定性测试如何实施?
- 首选monkey
- monkey是系统发送随机的用户事件流(如按键输入、触摸屏输入和手势输入等),实现对正在开发的应用程序进行稳定性测试,可以更好的模拟用户操作,确保APP的稳定性
monkey操作
网易mumu模拟器端口号:7555
adb connect 127.0.0.1:7555
模拟器安装apk
apk放入adb系统文件夹进入cmd adb install 2048.apk
- adb devices
- 手机设备:显示设备的序列号
- 模拟器:显示ip地址和端口 即127.0.0.1:7555
- device:已识别的设备,连接成功
- unauthorized:没有授权,需要手机上授权后才能连接
- unknown:未识别的设备
- offline:离线设备
- 命令
- 基本参数
- 调试参数
- 事件参数
- 必填项 COUNT事件数
-
查看软件包
adb shell pm list packages -3
-
对指定软件进行操作
adb shell monkey -p com.nelease.cloudmusic 100
-
每次操作后间隔1s
adb shell monkey -p com.xzgdjt.smartmetro --throttle 1000 100
-
设置时间需要对次数进行转化
-
日志设置:
- -v: level0 除启动提示、测试完成和最终结果之外,提供较少信息
- -v-v:level1 提供较为详细的测试信息,如逐个发送到Activity的事件
- -v-v-v:level2 提供更加详细的设置信息 如测试中被选中或未被选中的Activity
adb shell monkey -p com.wuba -v 100 adb shell monkey -p com.wuba -v-v 100 adb shell monkey -p com.wuba -v-v-v 100
- 日志导出到本地
adb shell monkey -p com.wuba -v 100 >d:\wuba.txt
-
指定sed值
adb shell monkey -p com.xzgdjt.smartmetro -s 1001 --throttle 1000 100
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!