我们日常购物、旅游、支付等活动都离不开手机,由此衍生了很多APP。

比如每天使用频率非常高的微信、支付宝、微博、抖音、王者荣耀等等。

APP测试主要进行功能测试、性能测试、自动化测试、安全性测试、兼容性测试、专项测试。

01APP测试流程

APP测试流程与web测试流程类似,分为如下七个阶段:

1.根据需求说明书编写测试计划;

2.制定测试方案,主要是测试任务、测试人员和测试时间的分配;

3.测试准备,包括搭建测试环境,准备测试数据,确定测试方法;

4.测试用例的设计与编写,进行用例评审及补充完善;

5.执行测试时首先进行冒烟测试,然后对主功能流程进行测试,包括客户端的单个功能模块,及功能业务逻辑功能交互,回归测试;

6.提交测试结果,包括测试用例,测试计划;

7.日常维护性测试;

02APP测试思路

一、首先我们拿到一个app的apk包 或者是在testflight下载的app安装包,需要进行安装测试

1.软件安装前:空间不足是否有相应的提示

2.软件安装中:安装过程中是否可以取消、暂停;安装是否可以正常进行;安装空间不足是否给予提示

3.软件安装后:是否可以卸载应用,通过桌面卸载或者通过软件设置卸载;卸载是否支持取消功能,取消后是否影响软件的正常卸载;安装完成后是否自动删除安装包;重复安装提示版本已存在、或者是直接覆盖安装,但是能正常使用。

二、安装后的app 需要随着迭代版本的更新需要进行升级测试

1、升级之前:当客户端有新版本时,是否有更新提示

2、升级之后:立即更新当前版本,正常升级,升级之后,新版本正常使用

3、非强制升级版本:用户可以取消更新,老版本能够正常使用,用户在下次启动app时,仍能出现更新提示

4、强制升级版本:用户不更新app,则无法使用此app;下次用户如果再次登录app,则仍然进行强制升级。强制升级后,新版本正常使用。–主要用于游戏app

5、在线跨版本升级:通过运营数据分析用户使用量最多的版本,没有则可以选择最近5-6个版本;升级之后,新版本正常使用

6、版本升级测试覆盖的范围有哪些——老功能+新需求;1)新需求,详细测试;2)保证老功能正常使用

三、app功能测试,也就是app产品设计所需要实现的功能业务逻辑

1.根据产品的需求文档进行用例设计并评审后,执行测试用例验证业务逻辑的正确性

2.依据业务逻辑验证数据的正确性,比如订单数据、支付数据、提现数据等

四、app的安全测试

1.安全性测试–权限测试,登录鉴权,界面敏感数据加密

2.扣费风险:包括发送短信、拨打电话、连接网络,没有网络时能否提醒===友好提示

3.隐私泄露风险:包括访问手机信息、访问联系人信息等

4.是否允许访问相册、拍照开放权限+不权限权限、是否允许录音、是否允许定位、是否允许接收通知推送

五、app兼容性测试

1.应用是否可以在不同的操作系统上使用(Android和ios),每个系统还有不同的版本

2.应用是否能够适配各种屏幕尺寸、分辨率的适配,分辨率影响图标、文字大小、保证主流分辨率下页面显示完整,文字不被遮挡

3.总结:选取市面上主流的机型的进行兼容性测试

六、app弱网测试

1.测试2G/3G/4G/5G/WIFI网络的切换,从wifi环境切换到4G环境,提示是否启用4G网络,会产生扣费是否有提醒

2.测试有网/无网切换:有网到无网再到有网,数据是否可以自动恢复,正常加载;无网络时,各种提示信息是否友好

3.弱网测试(延时+丢包):关注弱网场景下超时是否有合理的提示,且是否有重发机制;提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒;数据多次提交(支付类app),是否只能被执行一次

七、app性能测试

1.app各类功能性操作的响应时间(后台服务器的性能)

2.压力稳定性测试(例如:monkey)

3.cpu占用情况

4.内存占用情况

八、app的push消息测试

1.开关设置:默认状态全部打开状态/安装后弹窗提醒选择,客户端可以接受到推送信息;设置开关可以打开、关闭;app设置开关关闭时,客户端接受不到消息推送

2.手机客户端未锁屏时:app应用后台运行,消息推送是否可以正常接受,且可以点击查看;主界面或者正在使用别的app,点击消息,跳转到app;应用前台使用,可以收到消息提醒,点击可以查看

3.手机客户端锁屏时:消息推送是否正常接受,提示音、亮屏、中间列表展示;点击消息推送,先解锁,解锁后跳转到app等

4.登录状态:退出登录后,是否接受消息推送(根据需求来看消息是否推送。

总结一下,在我们的app测试日常中,其实最重要的是app的功能测试、app的兼容性测试(因为世面上的机型众多是需要去覆盖主流机型及操作系统),另外一点就是重点关注app的性能。