测试方法:
1)响应能力测试:测试App中的各类操作是否满足用户响应时间要求。
App安装、卸载的响应时间
App各类功能性操作的响应时间
2)压力测试,反复/长期操作下,系统资源是否占用异常。
App反复进行安装卸载,检查系统资源是否正常
其他功能反复进行操作,检查系统资源是否正常
专项测试
APP启动快不快?跑起来是不是常常Crash?是否有卡顿?这些问题可以靠专项测试来解决。专项测试包括CPU、内存、帧率、流量、电量等;这块有很多工具和方法,如果能做好专项测试,那在业界是很受欢迎的。在大公司,如果APP有一个大的版本要发布,通常是需要做全面的专项测试的。
a) 兼容性测试
手工测试:操作系统,分辨率,rom,网络类型
云平台:testin,脚本编写,Android。
测试方法
主要测试内部和外部兼容性
1)与本地及主流App是否兼容
2)与各种设备是否兼容,若有跨系统支持则需要检验是否在个系统下,各种行为是否一致。
不同手机屏幕分辨率的兼容性
不同手机品牌的兼容性
b) 流量测试
Android自带的流量管理,
iOS自带的Network
tcpdump抓包
WiFi代理抓包:Fiddler
流量节省方法:压缩数据,json优于xml;WebP优于传统的JPG,PNG;控制访问的频次;只获取必要的数据;缓存;
c) 电量测试
基于测试设备的方法,购买电量表进行测试。
GSam Battery Monitoe Pro
iOS基于Instrument Energy工具
d) 弱网络测试
手机自带的网络状况模拟工具
基于代理的弱网络的模拟:
工具:windows:Network Delay Simulator
Mac:Network Link Conditioner
实地测试
e) 稳定性测试
Android:Monkey
模糊测试
f) 安全测试
安装包:反编译,签名,完整性校验,权限。
敏感信息测试:
键盘劫持
账户安全
数据加密
组件安全测试
服务端接口测试:SQL注入,XSS跨站脚本攻击,CSRF跨站请求伪造,越权访问。
g) 环境相关的测试
干扰测试
权限测试
边界情况
定位测试
辅助测试方法
a) 代码静态扫描
Android工具:FindBugs,Lint,
iOS工具:Analyze
b) 代码覆盖率测试
现有框架:emma,jacoco
c) 接口Mock方法
接口异常模拟
d) AOP测试方法
AspectJ
Aspects
总结:
由于移动互联网的应用太多,更新频繁,无论如何不是个人经验所能覆盖完全的。以上几点,仅从我测试过的APP进行总结,仅为APP应用测试新人提供思考方向。希望看完本文,您对于移动应用的测试多了一些了解。