Fork me on GitHub

【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 百分比:触摸事件
注意:百分比可书写为7070%,多种事件百分比相加不能大于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

posted @   橘子偏爱橙子  阅读(573)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示