移动应用测试总结
(一)启动:
1.启动入口:桌面正常启动,最近运行启动,所有程序列表中启动,锁屏快捷启动
2.其他入口:从其他程序开启应用,从外部以文件形式打开应用
3.退回:从其他程序退回时回到被测应用,被测应用打开其他应用再从桌面图标启动
(以上需要交叉组合测试)
4.异常启动:崩溃后启动,写文件时被强制杀进程后启动,网络请求未收到回包强制杀进程后再启动,网络超时时启动(启动需要有超时机制)
(二)功能介绍、引导图、流量提示等:
1.全新安装程序第一次启动:会有些初始化,或者弹框提示,功能介绍。当外部打开,比如第三方打开(一般不算做第一次启动)后,再启动程序,检查该有的动作是否都有。
(三)权限:
1.当某些权限被安全软件或者系统禁止时,是否可以正常使用,需要注意的权限:麦克风/摄像头/定位/短信息等权限
2.再做兼容性测试时,需要特别注意权限管理较严的ROM,比如魅族再摄像头等权限为默认关闭
3.第三方安全软件弹框请求禁止权限时,选择后,是否会影响到被测应用的正常流程
(四)文件错误
1.使用错误的文件类型(担忧正确的后缀名),替代被测应用使用的文件
2.adb push从pc上传到设备的文件如果有中文名,会生成一个错误的文件,被测应用需要适应这种错误情况
(五)屏幕旋转:
1.确认哪些界面是需要允许横屏或者禁止横屏的
2.将屏幕锁定为竖屏或者横屏,在几个界面跳转,界面是否正常
3.当适应横屏时,是否对横屏进行了适配
(六)流量:
1.首次启动应用的流量是否符合预期
2.在主界面有很多图片时,是否已经达到图片文件大小与显示效果的平衡
3.当需要使用较大的网络流量时(加载大图片,视频播放缓冲,下载更新包),显示出当前网速或者进度,对用户来说更友善
(七)缓存(/sdcard/data/com.your.package/cache/):
1.卸载后将删除缓存,其中是否存在不应该删除的文件(下载文件,用户资料)
2.缓存易被360手机卫士,猎豹清理大师等清理,徐检查该文件夹是否放了适合的文件
(八)正常中断:
1.在所有界面执行锁屏操作,解锁后观察是否正常运行
2.在所有界面执行长时间锁屏操作,解锁后观察是否正常运行
3.在所有界面,和所有过程,按home键切后台,再切回时观察是否正常
4.在所有的loading过程中,按back键
5.在所有的loading过程中,按home键
6.界面切换动画时尝试多次按back键
7.正常的点击动作,尝试快速按两次
8.后摄像头和前摄像头无法同时启动,后摄像头启动还包括打开闪光灯(与手电筒应用的兼容性)
9.检查键盘展开和收起的时机,与home、back、锁屏组合测试
10.从第三方启动后,home键回到桌面,再从桌面打开被测应用,显示是否正确(应确定是显示第三方启动界面,还是显示程序正常启动界面,前者如微信,后者如QQ)
(十一)异常中断:
1.断电后重启
2.当界面被意外崩溃,是否可以重启界面,并且恢复到崩溃之前的状态
3.来电结束后,返回被测应用界面
4.在某些特殊情况下,来电后,移动网络会被切断
(十二)用户体验:
1.以最挑剔最无理的用户角度来使用应用的主打功能
2.是否每个动作都有反馈
3.每个按钮都有按下的状态
4.当界面有返回按钮时,back将执行同样的操作
5.当图片需要网络拉取,或者无图片时,是否有默认图片代替
6.开启开发者选项,勾选显示布局边界,检查每一个按钮的可点击范围是否合理
(十三)多语言
1.其他语言的语言习惯(如繁体)
2.英文注意复数
3.多语言下,需要特别检查以图片形式展示的文案(如功能引导页,启动引导图等)
4.一致性。(一方面是代指的一致性,一方面如果有系列应用共用功能的文案也需要保持一致)
5.如果在简体下载了一个文件或者创建了一个快捷方式,或者进行了一笔购买,马上切换语言去做一次同样的动作
6.检查英文语言下的切断、断行是否正确
7.当文字长度不一致时,UI界面是否能正常适配
(十四)升级
1.是否有完整的升级策略(强制升级,灰度发布)
2.下载升级包过程中是否可以取消
3.升级包下载是否可以续传
4.升级过程是否可以中断(取消按钮,back键)
5.Android系统第一次安装非官方市场应用,需要手动取消限制,此过程是否会影响到apk包安装(正对预装应用的测试)
6.在没有更新或者没有网络时,需要给予用户正确的信息表达
7.如果升级有忽略本次版本升级,那么当有新的升级版本时,是否还有提示升级
8.收到升级提示后,下载了apk并未安装,同名替换该apk,下次再收到升级提示后,是否正常升级
(十五)应用外部升级
1.应用如果是跳网页下载安装包升级,需要在文件名加版本号或者标识,防止浏览器下载时有缓存,而无法安装最新版本
2.交由系统下载升级安装包,尝试进行两次版本升级
(十六)列表
1.列表中的文字长度超过限制
2.点击列表项返回后的列表项的状态变化(尤其在有多个进度条存在时,需要注意状态)
3.上下滑动时,是否可接受卡顿(帧率)
(十七)双卡双待
1.当手机为双卡双待时,影响到的功能有:需要获取手机号码的功能,如支付,自动读取短信息
(十八)网络
1.是否以较好的体验从网络问题导致的数据问题中恢复界面展示数据
2.是否每个需要网络请求的动作,都有做超时处理,并且测试出他的超时时间
3.检查每一个需要网络请求的动作在网络延迟,服务器发生错误时,界面的响应
(十九)Monkey测试:
1.必跑monkey,不要仅跑一次,不要到测试后期才跑
2.更换不同的界面和不同的参数跑monkey
3.记得记录所有日志,如果能有日志筛选的工具更好
(二十)性能测试
1.CPU占用,内存,流量,耗时等数据,必须有标准和参考值(可以是市场上同类应用的类似操作的表现,或者同应用的不同版本测试)
2.特定操作(一般为主打功能)的压力测试,一般长时间大批量执行某个动作或者组合,尤其为该动作是通过JNI实现,或者使用了其他第三方sdk。一般写脚本或者录制脚本。
(二十一)病毒检测
1. apk文件在PC上检测(http://virscan.org/)
2. 手机杀毒软件检测(http://www.3533.com/news/14/201403/99325/ 其中Avast为静态扫描dex对比特征值,易误杀)
(一)启动:
1.启动入口:桌面正常启动,最近运行启动,所有程序列表中启动,锁屏快捷启动
2.其他入口:从其他程序开启应用,从外部以文件形式打开应用
3.退回:从其他程序退回时回到被测应用,被测应用打开其他应用再从桌面图标启动
(以上需要交叉组合测试)
4.异常启动:崩溃后启动,写文件时被强制杀进程后启动,网络请求未收到回包强制杀进程后再启动,网络超时时启动(启动需要有超时机制)
(二)功能介绍、引导图、流量提示等:
1.全新安装程序第一次启动:会有些初始化,或者弹框提示,功能介绍。当外部打开,比如第三方打开(一般不算做第一次启动)后,再启动程序,检查该有的动作是否都有。
(三)权限:
1.当某些权限被安全软件或者系统禁止时,是否可以正常使用,需要注意的权限:麦克风/摄像头/定位/短信息等权限
2.再做兼容性测试时,需要特别注意权限管理较严的ROM,比如魅族再摄像头等权限为默认关闭
3.第三方安全软件弹框请求禁止权限时,选择后,是否会影响到被测应用的正常流程
(四)文件错误
1.使用错误的文件类型(担忧正确的后缀名),替代被测应用使用的文件
2.adb push从pc上传到设备的文件如果有中文名,会生成一个错误的文件,被测应用需要适应这种错误情况
(五)屏幕旋转:
1.确认哪些界面是需要允许横屏或者禁止横屏的
2.将屏幕锁定为竖屏或者横屏,在几个界面跳转,界面是否正常
3.当适应横屏时,是否对横屏进行了适配
(六)流量:
1.首次启动应用的流量是否符合预期
2.在主界面有很多图片时,是否已经达到图片文件大小与显示效果的平衡
3.当需要使用较大的网络流量时(加载大图片,视频播放缓冲,下载更新包),显示出当前网速或者进度,对用户来说更友善
(七)缓存(/sdcard/data/com.your.package/cache/):
1.卸载后将删除缓存,其中是否存在不应该删除的文件(下载文件,用户资料)
2.缓存易被360手机卫士,猎豹清理大师等清理,徐检查该文件夹是否放了适合的文件
(八)正常中断:
1.在所有界面执行锁屏操作,解锁后观察是否正常运行
2.在所有界面执行长时间锁屏操作,解锁后观察是否正常运行
3.在所有界面,和所有过程,按home键切后台,再切回时观察是否正常
4.在所有的loading过程中,按back键
5.在所有的loading过程中,按home键
6.界面切换动画时尝试多次按back键
7.正常的点击动作,尝试快速按两次
8.后摄像头和前摄像头无法同时启动,后摄像头启动还包括打开闪光灯(与手电筒应用的兼容性)
9.检查键盘展开和收起的时机,与home、back、锁屏组合测试
10.从第三方启动后,home键回到桌面,再从桌面打开被测应用,显示是否正确(应确定是显示第三方启动界面,还是显示程序正常启动界面,前者如微信,后者如QQ)
(十一)异常中断:
1.断电后重启
2.当界面被意外崩溃,是否可以重启界面,并且恢复到崩溃之前的状态
3.来电结束后,返回被测应用界面
4.在某些特殊情况下,来电后,移动网络会被切断
(十二)用户体验:
1.以最挑剔最无理的用户角度来使用应用的主打功能
2.是否每个动作都有反馈
3.每个按钮都有按下的状态
4.当界面有返回按钮时,back将执行同样的操作
5.当图片需要网络拉取,或者无图片时,是否有默认图片代替
6.开启开发者选项,勾选显示布局边界,检查每一个按钮的可点击范围是否合理
(十三)多语言
1.其他语言的语言习惯(如繁体)
2.英文注意复数
3.多语言下,需要特别检查以图片形式展示的文案(如功能引导页,启动引导图等)
4.一致性。(一方面是代指的一致性,一方面如果有系列应用共用功能的文案也需要保持一致)
5.如果在简体下载了一个文件或者创建了一个快捷方式,或者进行了一笔购买,马上切换语言去做一次同样的动作
6.检查英文语言下的切断、断行是否正确
7.当文字长度不一致时,UI界面是否能正常适配
(十四)升级
1.是否有完整的升级策略(强制升级,灰度发布)
2.下载升级包过程中是否可以取消
3.升级包下载是否可以续传
4.升级过程是否可以中断(取消按钮,back键)
5.Android系统第一次安装非官方市场应用,需要手动取消限制,此过程是否会影响到apk包安装(正对预装应用的测试)
6.在没有更新或者没有网络时,需要给予用户正确的信息表达
7.如果升级有忽略本次版本升级,那么当有新的升级版本时,是否还有提示升级
8.收到升级提示后,下载了apk并未安装,同名替换该apk,下次再收到升级提示后,是否正常升级
(十五)应用外部升级
1.应用如果是跳网页下载安装包升级,需要在文件名加版本号或者标识,防止浏览器下载时有缓存,而无法安装最新版本
2.交由系统下载升级安装包,尝试进行两次版本升级
(十六)列表
1.列表中的文字长度超过限制
2.点击列表项返回后的列表项的状态变化(尤其在有多个进度条存在时,需要注意状态)
3.上下滑动时,是否可接受卡顿(帧率)
(十七)双卡双待
1.当手机为双卡双待时,影响到的功能有:需要获取手机号码的功能,如支付,自动读取短信息
(十八)网络
1.是否以较好的体验从网络问题导致的数据问题中恢复界面展示数据
2.是否每个需要网络请求的动作,都有做超时处理,并且测试出他的超时时间
3.检查每一个需要网络请求的动作在网络延迟,服务器发生错误时,界面的响应
(十九)Monkey测试:
1.必跑monkey,不要仅跑一次,不要到测试后期才跑
2.更换不同的界面和不同的参数跑monkey
3.记得记录所有日志,如果能有日志筛选的工具更好
(二十)性能测试
1.CPU占用,内存,流量,耗时等数据,必须有标准和参考值(可以是市场上同类应用的类似操作的表现,或者同应用的不同版本测试)
2.特定操作(一般为主打功能)的压力测试,一般长时间大批量执行某个动作或者组合,尤其为该动作是通过JNI实现,或者使用了其他第三方sdk。一般写脚本或者录制脚本。
(二十一)病毒检测
1. apk文件在PC上检测(http://virscan.org/)
2. 手机杀毒软件检测(http://www.3533.com/news/14/201403/99325/ 其中Avast为静态扫描dex对比特征值,易误杀)