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