关键词:专项测试 APP
概述
APP专项测试包括兼容性测试、流量测试、电量测试、弱网络测试、安装更新卸载测试、界面操作测试、稳定性测试、安全性测试和环境相关测试。
1 适配兼容测试
APP在经过功能测试后,需要进行适配兼容测试,主要涉及一下测试点:
在不同品牌的机型上安装、拉起、点击和卸载是否正常
在不同操作系统上安装、拉起、点击和卸载是否正常
在不同分辨率上安装、拉起、点击和卸载是否正常
测试方法:
第三方测试平台,如腾讯wetest、testin等平台
2 流量测试
从用户使用的相关角度分两类:
一类是用户的操作直接导致的流量消耗;
另一类是后台,即用户没有直接使用下的流量消耗。
由于目前Android的消息推送机制不是借助统一的管道,而是各个APP定时启动后台进程到自己的服务器去询问是否有新的消息,有则拉取到客户端,所以后台易出现流量消耗。
测试方法:
一种使用第三方工具GT, emmagee,itest,fiddler, spy-debugger等
一种使用Android提供的adb命令
adb shell cat /proc/uid_stat/uid/tcp_rcv 接受
adb shell cat /proc/uid_stat/uid/tcp_snd 发出
或者
首先获得进程PID 命令: adb shell "ps | grep com.ifend.news2"
然后获得流量 adb shell cat /proc/pid/net/dev
receive是当前进程接收的数据;transmit是进程发出请求的数据,流量为二者之和。
测试范围:
1)应用首次启动流量情况;
2)应用后台连续运行2小时的流量值;
3)应用高负荷运行的流量峰值;
4)应用中等负荷运行时的流量均值。
3 电量测试
测试方法:
一种是基于硬件的测试;
一种借助第三方APP,如GT, CsAM Battery Monitor Pro、耗电管家、电池管家等
一种基于Android提供的powerManager.WakeLock来进行
一种使用Android提供的adb命令:
adb shell dumpsys battery 查看手机电池信息
adb shell dumpsys batterystats | more 获取整个设备耗电量信息
adb shell dumpsys batterystats compackage.name | more 获取apk耗电量信息
加上 >D:\xxx.txt 可将信息输出到文件中查看。
测试范围:
测试手机安装目标APK前后待机功耗无明显差异;
常见使用场景中能够正常进入待机,待机电流在正常范围内;
长时间连续使用应用无异常耗电现象。
WiFi连接测试电量:
1)无线连接手机adb connect 192.168.1.8
2)清除已有的耗电量数据 adb shell dumpsys batterystats -enable full-wake-history
3)设备耗电量数据重置adb shell dumpsys batterystats --reset
4)寻找包名的UID adb shell ps | grep "com.ionicframework.iems123456"
5)确定包名和UID adb shell dumpsys batterystats "com.ionicframework.iems123456" | grep "10108"
6)然后执行业务场景,结束之后杀死进程
7)杀完进程,把耗电量信息导出 adb bugreport>test.txt
4 弱网络测试
APP在遇到弱网络环境,如在公交车上,地铁里,电梯里,会出现网络抖动、上行或下行超时,导致应用出现丢包。此外,需保证在WiFi, 5G,4G, 3G,2G网络下APP正常的切换效果。
常用弱网络环境场景:
3G弱网络信号场景模拟;
市区低速运动场景模拟;
郊区高速移动场景模拟;
请求回应超时-上行超时场景模拟;
请求回应超时-下行超时场景模拟;
网络抖动场景模拟;
网络切换模拟;
测试方法:
腾讯wetest平台, Windows下的network delay simulator,Mac下network link conditioner。
5 安装、更新、卸载测试
安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况
卸载:需考虑卸载后是否删除APP相关的文件
更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新。
6 界面操作测试
关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换。
7 稳定性测试
测试方法:monkey test
8 安全性测试
安装包测试:能否反编译代码、安装包是否签名、完整性校验、权限设置检查;
(1)安装包是否签名:使用JDK中的jarsigner.exe检查安装包的签名
命令:打开CMD输入jarsigner -verify APK文件绝对路径 -verbose -certs
(2)完整性校验:
1)用apktool将目录apk文件解包
命令:java -jar apktool_2.4.0.jar d -f apk 文件路径 -o 解包目标文件夹
2)随便找一个解包目录里的资源文件,修改;(推荐找到启动logo图进行修改,因为容易确认结果)
3)用apktool,将解包目录重新打包为未签名的apk文件
命令:java -jar apktool_2.4.0.jar b -f 待打包的文件夹 -o 输出apk的路径
4)用signapk,对未签名的apk文件进行签名
5)将签名的apk安装,运行,确认是否存在自校验。
敏感信息测试:数据库是否存储敏感信息、日志中是否存在敏感信息、配置文件是否存在敏感信息;
软键盘劫持:敏感信息最好使用应用内软键盘;
账户安全:密码是否明文存储在后台数据库、密码传输是否加密、账户锁定策略、同时登陆;
数据通信安全:是否校验数据合法性;
组件安全测试:测试方法:drozer工具;
服务端接口测试:SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造、越权访问。
9 环境相关的测试
干扰测试:收到电话、短信、通知栏信息、无电提示框弹出、第三方安全软件告警弹出;
权限测试:选择性的开启和关闭权限,当权限关闭时,有友好提示信息;
边界测试:可用存储空间过少、没有SD卡/双SD卡、飞行模式、系统时间有误(晚于或早于标准时间)、第三方依赖(第三方APP未安装和版本过低的情况)
定位测试
网友评论