这个中秋节,加班2天,抽一点点时间整理了一下做了几个月android测试的思路,这次只整理了关于功能测试的一点些,后面会慢慢补充上 安全性能兼容性等相关内容。。~~
一、功能测试/用例设计
1.功能模块划分:
以业务模块为单位进行划分,比如淘宝点点主要分为两大子模块:点菜、外卖;
2.用例设计划分:
以页面为单位进行划分,主要包括以下几个方式的用例:
1)数据检验
i.数据请求与返回检验(json格式);
a)入参与返回参数的检验,特别注意入参不能有写死参数;
b)返回参数据检验时,特别注意多种数据返回;
c)注意请求是否有重复发送或者未发送;
ii.数据准确性检验(以接口设计文档为标准);
a)覆盖所有可能的数据返回结果,常见的有各种状态值;
b)特别注意,当返回的结果不在正常范围时,客户端的处理;
2)页面操作
i.用户行为
a)滑动、下拉、翻页
b)点击
c)多点触摸
d)退出、返回、HOME键、菜单
ii.数据刷新
a)从其它页面返回到当前页面,自动刷新;
b)从后台拉到前台,自动刷新;
c)手动刷新;
iii.页面控件
3)交互体验
i.数据长度超出一行或规定的范围;
ii.数据为空的处理;
iii.背景、颜色、字体、文案;
iv.产品体验;
4)异常覆盖
i.无数据(服务端返回为空和服务无返回);
ii.无网络;
iii.异常情况(比如服务端返回的数据不在处理范围内、HSF等服务异常、Session失效等);
3.用户场景覆盖
这里主要测试业务逻辑和用户路径;
1)用户操作路径覆盖
这里需要尽可能地穷举用户可能的操作路径,尽量地进行测试覆盖;
2)代码异常分支覆盖
这里指,有些异常逻辑比较难在客户端中重现,只能通过mock或者调试等方式来检验这部分处理逻辑的正确性;
3)数据一致性
i.多页面交互时,数据的传递过程中值不变;
ii.不同页面,不同接口获取相同数据时,注意检验这类数据的一致性;
二、通用测试
1.Android系统特性
以下是跟手机系统相关的检验,将手机做以下的动作,来检验应用的正常使用:
1)系统语言
简中、繁中、英文,切换三种语言环境;
2)SD卡
有卡,无;
3)转屏
模屏、竖屏模式;
4)GPS
开启、关闭;
5)中断唤醒
i.来电、来消息;
ii.电量不足;
iii.耳机
iv.充电;
v.开合盖;
vi.充电;
vii.闹钟;
viii.动画;
ix.开关机;
6)前后台切换
i.App切换到后台
从后台切换回前台,APP仍停留在切换前的页面并可正常使用;
从后台切回前台,不崩溃;
有处理框时,从后台切回前台,仍有处理框;
ii.锁屏唤醒;
iii.杀进程;
7)时间
设置不同时区(特别是应用有设置timer时,比如自动banner间切换);
8)软键盘
触发弹出与自动隐藏;
9)存储空间
主要是注意当存储空间不足时,应用是否能正常使用(特别是下载更新时,还有应用使用中有用到本地存储的);
2.版本升级
1)强制升级,退出后,再次开启,依然有弹框提示(要么升级,要么退出);
2)提醒升级,点击稍后升级,正常使用APP;
3)提醒升级,暂不升级时,再次开启,依然有弹框提示(暂不升级,立即升级);
4)提醒升级,点击客户端的检测更新,有弹框提示升级信息;
5)立即升级操作后,正常下载新APK,并安装成功,正常使用新版本;
6)不升级(已经是最新版);
7)同一台设备上面,多次连续升级,不崩溃;
3.PUSH消息
1)短信;
2)点击消息,拉起应用;
3)Push弹框模式;
4)应用关闭时,push有效;
5)用户关闭接收消息,不接收push;
6)用户打开接收消息,接收push;
7)用户设置为免打扰模式,不接收push;
4.混淆包
线上包都是经过混淆设置的包,日常环境都是DEBUG包,在发布上线前需要测试混淆包,主要包括:
1)渠道号Ttid;
2)功能正常;
3)日志关闭;
5.安装卸载
正常的安装和卸载;
6.网络
1)差网络;
主要注意,网络差时,数据不能一直处于提交状态,要有超时中断机制;
2)3G/2G/WIFI;
不同网络切换时,应用正常使用;
有网到无网,无网到有网时,应用正常;
不同网络下,特别注意图片的显示,特别是2G(一般应用在3G,WIFI下用高清图片,2G下用普通图片);
3)无网络;
在无网时,查看应用时,是否有友提示消息;
7.数据更新
客户端数据更新方式有:请求服务端数据、缓存数据;
1)请求服务端数据:刷新机制;
2)缓存数据:普通图片、验证码图片(特别注意,每次请求链接一致,但数据不一致,不能用缓存机制);
附加图以说明:
通用测试:
所有文件下载版请查看附件;
本文出自 “Lilier” 博客,转载请与作者联系!