APP端测试,常见功能测试点汇总
安装和卸载
应用的安装和卸载在任何一款APP中都属于最基本的功能,一旦出错,就属于优先级为紧要Critical的权限。因此APP的安装和卸载应作为一个测试点多加重视。主要关注于以下几个方面:
-
应用是否可以正常安装(命令行安装;豌豆荚/手机助手等第三方软件安装;apk/ipa安装包安装)
-
应用是否可以在iOS和Android不同系统,版本,机型上进行安装(有的系统版本过低,应用不能适配)
-
安装过程中是否能暂停,再次点击,是否可以继续安装
-
安装控件不足时如何表现,是否有相应提示,提示是否友好
-
安装过程中断网或网络不稳定的情况下,是否有相应提示,以及恢复网络后是否能继续安装
-
是否可以正常删除应用(桌面删除;第三方删除;命令行删除)
-
应用卸载后所有的安装文件夹是否全部删除
-
卸载过程中出现死机、断电、重启等意外情况,待环境恢复后是否可以继续正常卸载
-
卸载是否支持取消功能,单击取消后软甲卸载情况是否正常
运行
-
软件安装后需要检查应用是否能正常运行
-
APP安装完成后,是否可以正常打开。稳定运行
-
APP的速度是否可以让人接受,切换是否流畅
-
网络异常时,应用是否会崩溃;在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生闪退
注册和登录
用户注册和登录时很多APP产品最基础的构成之一,而主流的登录界面大致分为三种:
-
账号密码注册登录
-
手机号注册登录
-
第三方授权登录
账号密码注册登录
-
输入正确的账号密码,可正常注册和登录
-
已注册用户再次注册
-
未注册用户注册
-
密码是否密文显示
-
密码是否可选择显示方式
-
账号输入框最大长度和格式应有校验(比如邮箱账号需要邮箱格式等)
-
账号或密码输入错误时建议提示“账号或密码错误”,而不是“账号错误”或“密码错误”
-
密码是否加密传输(可抓取请求查看)
-
密码更改后,登录时是否做到了有效数据的校验;修改前的密码失效
-
未登录时对一些页面的操作,是否做了控制
-
切换账号登录,检验登录的信息是否做到及时更新
-
对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新
多设备同时登录同一账号时(iOS+iOS,Android+Andiord,iOS+Android),检查是否将原用户剔除,弹出异地登录提示,且对一些需要登录后才能使用的页面无操作权限
手机号登录
-
手机号输入框格式校验检查
-
验证短信的接收是否及时
-
用验证码可正常登陆
-
验证码错误时,登陆失败+友好提示
-
操作频繁作验证码发送,应有操作限制
-
验证码有效期校验(超过有效期无法登陆)
日历控件
目前很多包含购票功能的APP中都会设置日历控件方便选票,那么对日历控件的测试我们需要关注那些呢?
-
月份和日期对应(比如2月有28天,7月有31天)
-
闰年2月,应有29天
-
跨年时,年份应有增加
权限设置
当很多APP的使用依赖于位置,通知,网络等用户去哪先。例如杭州公交APP,在首次启动时会询问用户是否同意启用定位,通知,网络权限。针对用户权限,我们可以多关注以下几点:
-
首次启动APP询问是否同意启用权限
-
消息权限开启时,消息推送是否正常接收(iOS系统应用和后台关闭时都应该可以收到;Android系统在后台关闭进程后就不会推送)
-
消息权限关闭后,APP客户端接收不到消息推送
-
位置权限开启后,APP需要定位到当前位置
-
位置权限关闭后,APP需定位才可用的功能,是否有提示引导用户开启权限,比如“请打开系统设置中“隐私—定位服务””,允许xxx使用您的位置
-
网络权限关闭时,APP是否有提示(服务器或网络错误,请稍后重试),是否有提示引导用户开启权限
软件更新
-
强制更新(APP开启后要求必须更新,否则无法使用APP)
-
多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭
-
点击更新是否正确跳转至后台配置的更新页面
-
-
非强制更新(只提示一次更新)
-
可正常关闭更新弹窗
-
重启APP更新提示按照需求再次显示,或者不再显示
-
点击更新是否正确跳转至后台配置的更新页面
-
-
取消版本更新时,老版本可以正常使用
-
APP更新后版本号应有更新
-
APP更新后新增功能和老功能可正常使用
-
当有版本时,不删除客户端的情况下,直接更新是否成功
-
删除APP后更新
网络环境
-
3G、4G、WiFi网络环境下应用的各功能可正常运行
-
网络异常时,数据交互失败是否会有提醒
-
有网到无网再到有网环境时,数据是否可以自动回复。正常加载;
-
只允许内网访问的APP,在连接到外网时是否有友好提示
兼容性测试
-
尽量覆盖该产品的主要用户(建议选取产品自己的数据,具体技术方案可以采取APP内部埋点的方法。如果是新发布的产品,可以选取竞品类产品的数据)
-
从不同系统、版本,分辨率,机型(不同厂家ROM)等纬度进行适配测试
-
通常选择在少数主流设备上执行全向的用例,在其他兼容性范围内的设备上覆盖主要功能的测试用例
-
关注各功能界面在不同分辨率下是否存在UI展示问题(如果代码没有对不同分辨率做适配处理,久了能会出现错位,遮挡,留白,拉伸和模糊等问题)
-
基于UI自动化脚本的云测试方案(基于轻量级的UI自动化脚本,以及借助云平台大量的真机资源)
异常测试
-
没有内存空间时,APP能否正确响应
-
横竖屏切换展示
-
APP运行时网络中断
-
反复操作某个功能(一般是比较重要的功能),不断点击和刷新,是否会出现闪退;
-
APP运行时接入电话、短信、微信、或其他消息
-