前言
除了测试平台工具,业务测试的总结和思考同样重要,笔者这里总结了一些 Android 测试知识点,可以辅助业务测试快速形成测试用例和检查点,当作抛砖引玉分享给大家。如有思考不全面的地方,欢迎大家指出来。
一. 安装启动卸载
- 在各个操作系统上(Android>=2.3,ios>=7.0,根据各个应用要求的最低系统)能安装成功,分别安装在手机内存或者 sd 卡上都能成功。app 安装完成后的运行,可正常打开软件。app 打开后,是否有加载状态进度提示,引导页是否正常。
- 启动的方式分为:首次启动,热启动,冷启动,应用管理器强行停止后启动,应用管理器中清缓存启动。
- 正常卸载
二.网络测试
-
网络类型
运营商覆盖
目前有中国移动,中国联通,中国电信和虚拟运营商
运营商接入点覆盖
net 接入和 wap 接入
wifi 类型
普通 wifi, guest 登录需要用户名密码的,路由器断网假热点,代理网络
-
网速模拟
- 弱网络状态下的功能
均在 2G,3G,4G,高延时,高丢包,假热点的状态下,弱网状态的功能正常
- 弱网络状态下的体验
- 中间的转态例如菊花或进度条正常;
- 异常反馈的文案正常,样式正确。
- 弱网络状态下的响应时间
- 强网络状态下的功能
- 安全策略如登录 ip 变换,变换后是否需要有相关提示,并有相应的操作;
- 大流量操作如应用升级,应用内 html5 包升级或其他大流量操作,如下载有断点续传功能,验证是否正常,若没有,是否能重新下载。
- 无网络状态下的测试
- 页面 UI 呈现是否正常,数据是否完整,toast 提示是否正确。
-
网络切换
- wifi 切换到 2g,3g,4g;
- 2g,3g,4g 切换到 wifi;
- wifi 切换到无网络;
- 无网络切换到 wifi;
- 2g,3g,4g 切换到无网络;
- 无网络切换到 2g,3g,4g;
- 飞行模式到无网,到 wifi,到 2g/3g/4g 之间的切换;
- 双卡双待手机的网络切换(如果和定向省流量有关的)。
-
异常机制
- 异常信息正确,容错机制正常,重连机制正常,超时机制正常。
三.输入框测试
- 字符型
- 字符型输入框:英文全角,英文半角、数字、空或者空格、特殊字符如~!@#$%&*()_+<>:"{}|`特别要注意单引号和&符号。禁止直接输入特殊字符时,使用 “粘贴、拷贝” 功能尝试输入。
- 长度检查:最小长度、最大长度、最小长度-1、最大长度 +1、输入超长字符比如把整个文章拷贝过去。
- 空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
- 多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示)
- 安全性检查:输入特殊字符串输入特殊字符串 NULL,null,JavaScript,输入脚本函数
- 数字型
- 边界值:最大值、最小值、最大值 +1、最小值-1
- 位数:最小位数、最大位数、最小位数-1、最大位数 +1、输入超长值、输入整数
- 异常值、特殊字符:输入空白(NULL)、空格或"~!@#$% 等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交。输入负整数、负小数、分数、输入字母或汉字、小数、科学计数法是否支持 1.0E2、全角数字与半角数字、数字与字母混合
- 安全性检查:不能直接输入就复制然后粘贴
- 对于必填项,先录入再删除是否可以提交成功;或者先录入错误数据再改为正确数据是否可提交成功 。
- 录入小数然后全选,直接录入新值,是否可正常录入;(可能出现小数全选后无法直接填写新值)
- 日期型
- 合法性检查:输入 0 月,13 月,32 日等,闰年 2 月的处理方式等,考虑开始日期与结束日期的比较,特别是在查询的时候。
- 异常值、特殊字符:输入空格或空、输入~!@#¥%……&*(){}[] 等可能导致系统错误的字符
- 安全性检查:不能直接输入,就 copy,是否数据检验出错
- 信息重复
- 在一些需要命名,且名字应该唯一的信息输入重复的名字或 ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。
四.兼容性测试
- 适配范围
- 操作系统兼容(Android>=2.3,根据各个应用要求的最低系统)
- 品牌 rom 兼容(主流厂商华为,小米,魅族,三星,OPPO,vivo)
- 分辨率兼容(各种不同的分辨率)
- 数据兼容(不同版本之间的数据兼容)
- 文字或者图片需要适同分辨率的机型,如果有比较特殊的分辨率手机,那每次关于 UI 的测试都需要用到该手机进行适配。
- 适配策略
- 选择占比大的机型优先覆盖,可以从 Google Play 排行,数据中心获得
- 线上容易出问题的版本、rom 优先覆盖,
- 低版本格外留意(有的业务需要兼容 2.* 版本,低端机容易 crash)
五.手机存储 RAM 空间测试
我们在下载时的关于 ram 空间,测试用例上需要考虑执行的操作有:
- 无 SD 卡时的存储提示是否有
- 有 SD 卡但无存储空间时存储提示是否有
- 内置 SD 卡,存储是否正确
- 外置 SD 卡,存储是否正确
- SD 卡被使用时移除,存储是否正确,提示是否有
- 将 SD 卡的内容删除后操作(如,下载的内容,删除下载的文件,在下载管理对该文件操作)
六. 事件打断与资源冲突的中断和交互测试
当前的被测试应用被另外的应用打断当前的功能执行。在用例上主要考虑执行某些操作时的系统打断,中断测试比如:
- 界面被手机其它事件覆盖恢复后是否有影响
- 电话、短信、闹钟提醒、日历提醒,蓝牙提醒
- 插拔数据线,插拔耳机
- 待机,锁屏,音量键,置后台,强行关闭
- 低电量提醒
应用与应用之间的调用,以及不存在应用层面的调用,但存在更低一层的资源抢夺以及公用,交互测试比如:
- 音频资源
- 相机视频资源
- 页面占用, 打开多个页面窗口,然后进行切换
- 内存占用
七. 升级相关测试
- 升级覆盖安装是否数据保留
- 用户设置项状态是否保留
- 新版上移除老版的功能是否正常
- 升级后的版本各功能正常
- 不同渠道包覆盖安装
- 版本跨度较大的覆盖安装
- app 端有新版本时有更新提示,主动升级验证
- 版本为非强制升级时,用户可以取消升级,老版本正常使用,用户下次启动时,仍出现更新提示(根据客户端策略是下次还是搁多长时间)
- 版本为强制升级时,给出强制更新提示后用户没有更新就退出客户端,用户下次启动时,仍出现强制更新提示
- 升级过程中中断网络,是否支持断点续传或重新下载机制
八. 界面友好性测试
- 风格.样式.颜色是否协调
- 界面布局是否整齐、协调。例如搜索栏上面应该显示三个按钮,实际上只显示了两个或者显示折行
- 界面操作、标题描述是否恰当。例如应该是气泡提示的却显示成方框提示,提示语应该是密码格式错误,请重新输入,实际上却提示:账号错误,请重新输入。
- 操作是否符合人们的常规习惯,右上角分享菜单等
- 界面中各个控件是否对齐
- 日期控件是否可编辑
- 信息比较长的文本,文本框有没有提供自动垂直滚动条
- 是否支持 Tab 键,跳转顺序是否条理,键的顺序是否有条理,不乱跳
- 用滚动条移动页面时,页面的控件是否显示正常
- 页面是否有多余按钮或标签
- 执行风险操作时,是否有确认提示,如删除、移除、注销确认提示吗
- 控件的提示语描述是否正确
- 操作顺序是否合理
九. 旋转屏幕测试
横竖屏切换响应 G sensor 后,页面需要重新加载,UI 是否正确,重新加载的页面可能会发生内存无法释放的情况。同一页面横屏后再竖过来是否能和之前显示一致。在横屏情况下做一系列操作看看是否正常
十. 其他
多点触控,同时点击 2 个不同的按钮,同时响应 2 个操作是否会引起导致页面显示异常,或者程序崩溃。
单点连续点击是否会响应多次请求。