【APP专项】APP专项测试方法和工具的使用
APP专项测试
1、网络测试
可使用抓包工具辅助网格测试推荐:fiddler,Charles
1 2 3 4 | (1)网络切换 2G-3G-4G-wifi-网络信号差--无网 (2)网络信号弱 关注是否出现ANR、crash |
2、中断测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | (1)意外中断 a、来电 b、短信 c、闹铃 d、断网 e、断电 f、视频聊天 g、语音聊天 h、无响应 i、系统更新提醒 j、内存不足提醒 k、其他app的消息通知 (2)任务切换 a、锁屏 b、切换到其他应用 |
3、兼容测试
1 2 | (1)不同的机型 (2)不同的操作系统版本 |
注意:app兼容测试方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | (1)手工测试(一般适用于用户量小、且对兼容测试要求不高的项目) (2)云测试平台(一般适用于用户量大、且对兼容测试要求高的项目) 目前市场上主流云测试平台包括: (1)腾讯云测: http: //wetest.qq.com (2)百度云测: http: //mtc.baidu.com (3)阿里云测: http: //mqc.aliyun.com/ (4)testin云测: https: //www.testin.cn/ |
4、性能测试
1 2 3 4 5 6 | (1)客户端性能测试 a、流量消耗 b、耗电量 c、CPU d、内存消耗 (2)服务器端性能测试 |
5、UI测试
(1)横竖屏切换
(2)手势操作
1 2 3 | a、长按呼出菜单 b、双手捏合放大放小 c、滑动 |
(3)输入信息界面自适应键盘遮挡
(4)其他UI测试要点与web基本相同
6、安全测试
1 2 3 4 5 6 7 | (1)密码不明文显示 (2)密码框不支持复制 (3)敏感信息加密传输 (4)多次登录失败,锁定账号 (5)登录成功后,长时间不操作软件,session是否丢失,提示重新登录 (6)权限控制 (7)SQL注入 |
7、稳定性测试(使用monkey完成)
8、安装测试
(1)安装前
1 2 3 4 5 6 | a、干净的安卓系统 b、装有旧版本的安卓系统 c、装有本版本的安卓系统 d、装有最新版本的安卓系统(需要安装旧版本) e、装有杀毒软件的安卓系统 f、装有同行业其他软件的安卓系统<br>g、内存不足的安卓系统 |
(2)安装过程中
1 2 3 | a、意外中断 b、许可确认提示 c、是否显示安装进度 |
(3)安装后
1 2 3 4 | a、软件是否可以正常启动 b、检查安装文件是否齐全 c、检查许可权限 d、统计安装总时长 |
9、升级测试
1 2 3 4 5 6 7 | (1)自动升级 (2)弹出是否升级的提示,人工选择 (3)升级过程中意外中断 (4)升级过程中内存不足 (5)升级后数据是否同步 (6)app运行状态下升级 (7)跨版本升级测试 |
10、卸载测试
1 2 3 4 5 | (1)大型app考虑卸载过程中意外中断 (2)app处于运行状态下进行卸载 (3)app卸载后,对应的文件是否删除 (4)卸载后,重新再次安装该版本app (5)是否弹出卸载确认提示 |
11、接口测试(需求抓包工具辅助)
1 2 3 | (1)系统内模块间的接口 (2)系统外第三方接口(有界面,主调) (3)系统外被调接口(无界面,需要接口测试工具模拟发送请求) |
12、其他测试
(1)支持文件格式
1 2 3 | a)图片上传 b)视频上传 c)文件上传 |
APP测试需要的工具
一、adb测试工具
adb:android debug bridge,安卓调试桥梁,一款用于连接电脑与安卓手机的工具
1、adb get-serialno 获取序列号:
2、adb devices:用于查看电脑当前连接的安卓设备
3、adb install apk文件包:在安卓设备上安装app
注意:若当前电脑连接的安卓设备2台及以上,可通过以下命令完成安装:
adb -s 设备序列号 install apk文件包
install -r 覆盖安装,保留数据和缓存文件 -d 解决低版本version问题 -s 安装apk到sd卡
4、adb uninstall app软件包名:卸载app
uninstall 可选参数-k的作用为卸载软件但是保留配置和缓存文件
5、adb shell:进入adb运行环境
5.1、adb [-d|-e|-s <serial Number>] <command>
-d:真机(多个设备中只有一个真机时适用)
-e:模拟器(多个设备中只有一个模拟器时适用)
-s:序列号
5.2、adb shell ls [-al] 列出目录下的文件和文件夹,可选参数-al可查看文件和文件夹的详细信息
5.3、adb shell cd <folder> 进入文件夹
5.4、adb shell cat <filename> 查看文件
5.5、adb shell rename path/oldfilename path/newfilename 重命名文件
5.6、adb shell rm -r <folder> -r 可选参数用于删除文件夹及下面的所有文件
5.7、adb shell mv path/1 path/2 移动文件
5.8、adb shell cp file path/1 拷贝文件
5.9、adb shell mkdir path/1 创建目录
5.10、adb shell chmod 777 filename 设置文件最高读写权限
6、adb push 电脑端路径及文件 手机端路径:将电脑端指定的文件传输到手机指定的路径中
7、adb pull 手机端路径及文件 电脑端路径:将手机端指定的文件传输到电脑端指定的路径中
8、adb logcat 查看log:
安卓系统中生成的日志,有哪些级别?
I:信息
V:冗(rong)余 (最低优先级)
D:调试
W:警告
E:错误
F:严重错误
S : 静默 (最高优先级,不会打印任何信息)
日志格式:adb logcat -s 过滤指定参数log -v time 保留日志时间 >> 追加写 > 覆盖写
日志过滤:adb -e logcat 标签名:级别>1.txt 或者使用grep过滤adb logcat | grep "SEARCH_TERM"
如:adb -e logcat taobao:w>11.txt
将w级别及其以上级别日志,且含taobao标签的所有日志保存到11.txt中
如:adb -e logcat *:w>11.txt
将w级别及其以上级别日志,所有日志保存到11.txt中
使用来清除旧的日志
adb logcat -c
9、adb reboot 重启机器:
10、adb reboot [bootloader|recovery] 重启设备,可选参数进入bootloader(刷机模式)或recovery(恢复模式)
11、adb shell am start -n package_name 启动应用
12、adb kill-server 终止adb服务进程:
13、adb start-server 重启adb服务进程:
14、adb help 获取帮助 里面有adb的各种命令和参数的介绍
15、adb version 查看adb版本
16、adb root 以root权限重启adb
17、adb remount 将system分区重新挂在为可读写分区,此命令在操作系统目录时很重要
18、adb shell pm path <package_name> 查看app的路径
18.1、adb shell pm list packages 查看所有App的名称查看手机上的APP名称。可以在后面加上 -f
19、adb shell dumpsys package <package_name> | grep version 查看apk的版本信息
20、adb shell pm clear <PACKAGE> 删除与包相关的所有数据:清除数据和缓存
21、adb shell ps <package_name|PID> 【 adb shell ps | grep <package_name>】 查看某个app的进程相关信息
22、adb shell kill pid Number杀掉某个进程,一般用于模拟某个bug复现
23、adb shell dumpsys meminfo <package_name|PID> 查看某一个app的内存占用
24、adb shell getprop | grep heapgrowthlimit 查看单个应用程序的最大内存限制
25、adb shell dumpsys batterystats ><package_name> > xxx.txt 获取单个应用的电量消耗信息
26、adb shell wm size【adb shell dumpsys window | grep Surface】 查看手机分辨率
27、adb shell getprop | grep version 查看手机sdk版本
28、adb shell getprop | grep product 查看手机型号信息
29、 adb shell cat /proc/meminfo 查看系统当前内存占用
30、adb shell top 查看设备上进程的cpu和内存占用情况
31、adb shell screencap /sdcard/screen.png 命令来进行手机屏幕截图
32、adb shell screenrecord /sdcard/demo.mp4 命令来录制屏幕视频
33、adb shell input 模拟按键/输入
33.1、adb shell input text "insert%stext%shere" 命令向屏幕输入框输入一些信息%s表示空格
33.2、adb shell input tap 500 1450 模拟屏幕点击事件
33.3、adb shell input swipe 100 1500 100 450 100 模拟手势滑动事件表示从屏幕坐标(100,1500)开始,滑动到(100,450)结束,整个过程耗时100ms. 【adb shell input swipe 100 500 100 500 500】模拟长按事件
33.4、adb shell input keyevent 模拟点按实体按钮的命令
常用几个命令汇总:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1 、连接设备 adb connect ip 2 、查看连接的设备 adb devices 3 、安装 / 卸载Android 应用 adb install packagesname adb uninstall packagesname 4 、aapt解析包信息 aapt d badging C:\Users\ 86158 \Desktop\ 4.9 . 0_PDA_543_030410 .apk > C:\Users\ 86158 \Desktop\ 1111 \govee_info.txt aapt d badging packagename 5 、查看package和launchable - activity aapt dump badging * * .apk |findstr "package" aapt dump badging * * .apk |findstr "launchable-activity" 示例: aapt d badging C:\Users\ 86158 \Desktop\ 4.9 . 0_PDA_543_030410 .apk |findstr "package" aapt d badging C:\Users\ 86158 \Desktop\ 4.9 . 0_PDA_543_030410 .apk |findstr "launchable-activity" |
二、monkey
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 1 、使用场合:主要用于app的稳定性测试。安卓系统自带的一款工具。 2 、原理:通过发送大量的随机事件,测试手机或某app的稳定性。 3 、adb shell monkey 事件数>日志文件:测试手机的稳定性 4 、monkey命令的基本参数 ( 1 ) - p app软件包名 注意:若需要同时往多个app发送随机事件,增加 - p app软件包名 2 即可 如: adb shell monkey - p 软件包名 1 - p 软件包名 2 事件数>日志文件 ( 2 )日志详细级别: - v:详细级别为 1 等级 - v - v - v - v - v ANR:应用程序无响应,application not responding 数 ( 3 )增加事件延迟 - - throttle 毫秒数 ( 4 ) - s 种子数 5 、monkey的事件类型 ( 1 ) - - pct - touch 百分比:触摸事件 注意:百分比可书写为 70 或 70 % ,多种事件百分比相加不能大于 100 % ( 2 ) - - pct - motion 百分比:滑动事件 如:adb shell monkey - p 软件包名 - v - v - v - - pct - touch 60 - - pct - motion 20 5000 >日志文件 ( 3 ) - - pct - trackball 百分比:轨迹事件 ( 4 ) - - pct - nav 百分比:上下左右方向键 ( 5 ) - - pct - majornav 百分比:Home键,菜单键,返回键 ( 6 ) - - pct - syskeys 百分比:声音键、锁屏键等系统键 6 、monkey的调试选项 ( 1 ) - - hprof:在 / data / misc目录下会生成profiling报告,该报告文件容量较大,小心使用 ( 2 ) - - ignore - crashes:忽略崩溃。monkey执行过程中,遇到崩溃,不停止,继续执行下去 ( 3 ) - - ignore - timeouts:忽略超时错误(ANR)。monkey执行过程中,遇到ANR,不停止,继续执行下去 ( 4 ) - - ignore - security - exceptions:忽略许可错误。monkey执行过程中,遇到许可错误,不停止,继续执行下去 ( 5 ) - - kill - process - after - error:程序出错后结束进程。 |
转载:https://blog.csdn.net/weixin_43613890/article/details/106527486
本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/15928436.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?