1.1安装与卸载测试
1)软件安装后是否可以正常运行
2)安装过程中是否可以取消
3)安装空间不足时是否有相应提示
4)是否可以卸载应用(可通过桌面卸载,也可以通过软件卸载安装。曾发现在ios手机上有个应用安装时未完全安装,终止安装后,未完成安装的应用图标一直显示在手机上,并且无法成功删除)
5)卸载是否支持取消功能额,单击取消后软件卸载功能是否正常---不可逆
6)卸载后文件是否全部删除所有的安装文件夹
7)安装到本地还是sd卡,有选项可以提供
8)安装完自动删除安装包
9)从不同的应用市场下载进行安装?---安卓端
10)重复安装
11)待覆盖更新成功后,是否保存之前的登录信息,收藏信息等内容
1.2软件升级测试
1)当客户端有新版本时,是否更新提示;
2)当版本为非强制升级版时,用户可以取消更新,老版本能正常使用,用户在下次启动app时,仍能出现更新提示;
3)当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端,下次启动app时,仍出现强制升级提示。
4)检查更新后各个功能是否能正常使用
5)在线跨版本升级后能否正常使用
版本升级会升级什么内容?
- 修复bug
- 开发新功能
- 优化
1.3登录测试
1)登录用户名和密码错误时,界面有提示信息---Toast
2)用户主动退出登录后,下次启动app时,应该进入登录界面
3)密码更改后,登录时是否做到了有效数据的检验。
4)对于未登录状态时,一些页面的操作,是否做了控制
5)切换账号登录,检验登录的信息是否做到及时更新
6)对于多个端(web、ios、android等)进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新
7)一个账号只允许登录一台机器的软件,需要账号登录多个手机时,是否将原用户踢下线,且能给给出提示信息---单点登录
8)用户登录状态太久,sessionid会过期,会出现“虽然是登录状态,系统会提示用户没有登录”---sessionis—会话
1.4离线测试
是应用程序在本地客户端会缓存一部分数据以供程序下次调用,对于一些程序,离线状态下可以浏览本地数据。
1) 对于离线(无网络)时,刷新获取新数据时,不能获取数据时能给出友好提示
2) 对于外界的数据不提供离线察看,需要给出相应提示且界面更新后无任何数据
3) 离线下,退出app再开启app时能正常浏览
4) 离线下,切换到后台再切回app应用时可以正常浏览
5) 离线下,锁屏后再解锁回到应用前台可以正常浏览
1.5ui测试
1)确保产品ui符合产品经理制定的原型图与ui设计效果图/切图
2)一般设计界面(如菜单、对话框、窗口和其他可视控件)布局、风格、文字是否正确,页面是否美观,操作是否友好
3)如:安装app后的加载页显示,分享页面的产品logo显示
1.6兼容性测试
APP测试大部分都是兼容测试
分辨率越高越耗电
版本可以从5.0测起
1) 应用是否可以在不同操作系统正常使用,如果开发有Android和iOS两个平台的软件,那么在这两个平台都要做兼容测试。如Android版本有5.1 6…8,iOS版本有7.1.2、8.3、9.1、10等;
2) 能否适配各种屏幕尺寸。
Android系列:4.x、5.x市场占有率最高
iOS系列:iphone:3.5英寸、4英寸、4.8英寸、5.5英寸
3) 分辨率适配
分辨率 不同,界面图标,文字大小会不同。保证主流分辨率下图标展示完整,文字不被遮挡。
一般测试兼容性想Android系统手机,选取市面上主流手机就行。例如:小米,华为,vivo,oppo等,ios系统手机就是5、6、6s、6plus、7
1.7安全性测试—权限测试
1)扣费风险:包括发送短信、拨打电话、连接网络、没有网络时能否提醒
例如当网络状况很差的时候,用户在支付界面的多次确认操作必须只能被执行一次。
2)隐私泄露风险:包括访问手机信息,访问联系人信息等
3)是否允许访问相册,拍照
4)是否允许录音
5)是否允许定位
6)是否允许接收通知推送
一般对于大多数非支付类App来说,安全并不是一个特别大的问题,只需要保证登录鉴权的安全性既可。
1.8消息推送测试
1)默认开关应该是全打开状态
2)设置开关可以自由打开关闭,设置开关关闭时,客户端接收不到消息推送
3)未锁屏时,应用后台运行,消息推送是否可正常接收
4)手机消息栏是否可以接收到消息提醒。且点击可查看。点击后消息栏消失。
5)当push消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其他人的消息推送过来
6)Push推送消息是是否能有针对性的推送,如相应内容推送给相应用户(精准推送)
7)退出登录后,是否接收push推送(根据需求来)
1.9前后台切换测试
1)app切换到后台,在回到app,检查是否停留在上一次操作界面;检查功能及应用状态是否正常;程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候
2)手机锁屏解屏后进入app注意是否会崩溃,功能状态是否正常
3)当app使用过程中有电话进来中断后再切换到app,功能状态是否正常
4)当关闭app进程后,再开启app,app能否正常启动。
对于有数据交换的页面,每个页面都必需要进行前后台切换,锁屏,网络切换,app切换,电话切换,断电切换等中断的测试,这种页面最容易出现崩溃
1.10异常中断测试
1)交互异常性测试:客户端作为手机特性测试,包括被打扰的情况:如来电、来短信、低电量测试等,还要注意手机端硬件上,如:待机,插拔数据线,耳机等操作不会影响客户端
2)异常性测试:主要包含了断网、断电等情况下,客户端能否正常处理,保证数据正确性。
1.11网络环境测试
1)测试3G、4G、wifi,有网/无网/弱网情况下应用的运行
2)网络不好时(弱网),提交数据是否一致处理提交中,是否会有延迟,数据交换失败是否会有提醒。
3)有网到无网再到有网环境时,数据是否可以自动恢复,正常加载(网络中断重连)
4)无网络时,各种提示信息是否友好,数据本地化是否正确(比如提示当前已断开网络请检查网络设置;还有从wifi环境切换到4G环境提示是否启用4G网络,会产生扣费)
1.12性能测试
1)响应能力测试(例如:loadrunner/jmeter工具)
App安装、卸载的响应时间
App各类功能性操作的响应时间(后台服务器的性能)
2)压力稳定性测试(例如:monkey)
App反复进行安装卸载
其他功能反复进行操作
3)app性能监控
cpu的占用
内存的占用
流量的耗用
电流的耗用
专门的性能测试小工具,例如GT、Instrunments、emmage(Android)、还有OneApm这种平台可以
2.一些关于APP测试的问题
1)APP的测试资源准备?
IOS设备、Android设备(选取市面上主流手机产品),支付宝/银联支付的项目,需要提前申请支付宝/银联账户等等。有秒杀专题的题目,需要规划秒杀时间表;有优惠劵使用的项目,需要添加优惠券数据;
2)APP测试的稳定性?
了解什么是稳定性,这项工作一般是在软件产品基本功能无缺陷后进行的一项测试工作,一般使软件系统满足持续运行模式,进行正常情况,临界情况的测试,看系统是否有异常。
一般使用monkey工具,向系统发送随机事件流,如按键输入,手势输入等,实现对软件的稳定性测试。
3)APP测试与web测试的区别?
相同点:
同样的测试用例设计方法;
同样的测试方法;都会依据原型图或者效果图检查UI;
测试页面载入和翻页的速度、登录时长、内存是否溢出等;
测试应用系统的稳定性
不同点:
App的中断测试:来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机重启)
App的安装卸载:全新安装、升级安装、第三方工具安装、第三方工具卸载、直接删除卸载、消息推送测试、手机授权测试、前后台切换、网络环境(wifi/2G/3G/4G/无网络)
兼容性测试:web项目考虑不同浏览器的兼容;app需要考虑手机不同操作系统、不同机型、不同屏幕等。
Web自动化测试工具较常用QTP,而手机自动化monkey、monkeyrunner、appium