Android app测试方案
2016-04-06 本文已影响3570人
白天才痴
1、功能测试
- 新需求的测试及原有功能的回归
除了我们熟知的新旧功能的测试,还要验证升级,主要检查app升级后原有用户状态数据是否保存(用户的下载记录、观看记录、登录状态等)。由于升级本质上是覆盖安装,所以可以通过adb 覆盖安装新版本的方式进行测试。
tips:正常安卓安装器都不会提供降级的安装(adb install时加-d参数),所以通常不需要验证降级覆盖安装情况的app运行。
功能测试经常用到抓包工具,windows上推荐使用Fiddler,Fiddler有以下特性:
1)、只能用于抓http、https的包,tcp的抓不到
2)、可以用于请求模拟、返回修改,限制网速等操作。
使用小技巧:
1)、设置过滤器,过滤掉不关注的请求
2)、通过脚本设置session颜色,进一步提升
3)、stream模式会破坏脚本中的返回修改
4)、左下角capture控制是否抓取pc请求
还有一类环境构建辅助工具,可以快速构建测试环境,典型工具如下:
淘宝易测、搜狗哆啦A梦
几个比较好的易测功能:
1)、弱网模拟,用于测试app在网络环境较差(2g等)时app的网络功能
2)、快速执行monkey测试
3)、待机测试
哆啦A梦
1)、root手机截图发送到邮箱
2)、清理app数据(创造一个全新安装的环境)
3)、root手机app anr 和crash监控
4)、快速查看设备信息cpu型号、android版本,手机名称
5)、设置代理,root手机,非root手机支持部分机型
2、专项测试
- 专项测试,指对app某个特定的指标进行评测
评测步骤:
1)、指定测试技术指标,比如测试资源占用,以内存、CPU作为指标
2)、确定测试方案,
a、常用的场景都是基于用户的习惯,比如待机下,或者功能主路径
b、确认测试内容,横向竞品对比,纵向和之前的版本对比。
3)、选择或者编写测试工具
4)、执行测试
5)、整理测试数据,发布测试报告,与产品、开发沟通测试结论
目前主流的安卓测试专项指标有,app的内存、CPU、流量、耗电量(包括待机和使用过程中两种场景)、流畅度。及新兴的安全测试,页面加载速度测试,启动速度测试。
典型工具:
腾讯GT,GSM LAB BATTERY MONITOR
3、稳定性测试,
- 目前主要指monkey测试,monkey测试时可以通过adb logcat获取其输出日志,日志中会记录app的崩溃堆栈信息,结合脚本处理日志,可以实现崩溃自动上报bug
4、兼容性测试(分辨率、CPU型号、android版本及主流的第三方rom)
- 分辨率:同样的分辨率,有没有虚拟导航栏的也不导致不同的显示效果,因为开发中经常会用到dpi和sp这两个单位,所以需要综合考虑屏幕尺寸与分辨率。还要考虑一种屏幕可用空间的动态变化,比如打电话时退出到主页时,通知栏会变宽。另外还有横竖屏时的UI
- CPU型号:arm架构的32位、64位,intel架构的64位(貌似intel没有32位移动处理器),CPU架构主要会影响native 代码的执行
- android不同版本,主要是api的变化,可以通过android lint静态代码扫描工具检查。另外不同的android版本会有新的特性,比如6.0的动态权限、休眠模式,android n最新的多屏幕显示等。
- 第三方rom,miui、eui等,这些rom对快捷方式、通知、悬浮窗进行了管理,所以相关的功能及统计信息测试时需要注意。
5、上线验证
- 验证各个渠道包是否已经更新了,版本号、versioncode,渠道号等,通常可以做自动化验证
- 服务端接口上线后,验证相关功能正确性