1、安装卸载
1)安装:安装需考虑测试机的系统版本
●安装涉及到的版本兼容: 安卓: 4.0版本 6.0版本 7.0版本 ios:8.0版本 10.0版本 11.0版本
●软件安装后是否可以正常运行,安装后的文件夹及文件是否可以写到指定的目录里。
●安装过程中是否可以取消
●安装空间不足时是否有相应提示
●如果应用需要通过网络验证之类的安装,需要测试一下断网情况下是否有相应提示
2)卸载:测试卸载后文件是否全部删除所有的安装文件夹,卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以正确卸载,卸载是否支持取消功能,单击取消后软件卸载情况是否正常
2、版本更新
更新设置 后台/ZK配置
1)强制更新 不更新无法做其他操作
2)非强制更新 其他更新入口:如设置,个人中心
3)更新规则 :根据产品需求
4)点击【立即更新】后页面跳转
5)弱网更新
6)更新下载进度条
7)杀进程后,重新打开app查看是否提示更新弹框
8)更新过程中暂停,再继续下载更新,能够正常安装,启动
9)在线更新
3、适配
1)手机不同分辨率支持
2)手机不同厂家系统的支持:不同厂家会有不同android系统,例如:小米,华为,vivo等主流手机的支持
3)手机不同尺寸的支持:3.5到5.0屏幕在UI显示有区别,要支持最大到最小
4、登录
1)token失效:重新登录后,页面展示 ;token失效后,更换账号登录,是否出现数据错误模拟token失效 可借助Charles工具,但前提需要开发打接口响应时间较长的安装包
2)app杀进程重新进
5、app权限设置
一般启动app是需考虑app各项权限的使用,例如:相机,通话,声音,通讯录,地理位置,获取imei等权限,将相机权限关闭后,app能够正常启动,启动调用相机时,是否能正常弹框提示
6、交叉事件测试【中断测试】
1)操作软件时,来电话、短信、电量不足提示等外部事件
2)软件运行时,由前台切换到后台,再切回前台后,应仍可正常运行使用。
3)杀进程后重启APP,自动登录用户登录信息;
4)多个应用切换,不会出现异常;
7、操作类型测试
横屏测试,手势测试,home键,音量键,power键等。
8、网络测试
1)断网——重连:断网后提示网络连接不可用,网络恢复后页面正常;
2)网络切换:wifi——4G:不会出现异常;
3)弱网测试–通过代理的方式模拟弱网环境进行测试(fiddler可以设置延迟):接口响应时间超过10S,APP端则按超时处理;
4)热点模拟:连接手机共享热点或者FaceBook开源的ATC(可使用树莓派来搭建 ACT环境)
9、刷新测试
下拉刷新
10、翻页测试
上拉加载下一页
11、分享测试
1)一次分享(在APP内点分享按钮进行分享);
2)二次(多次)分享(从APP分享给微信/QQ好友后,微信好友打开链接后分享给其他人),要注意链接中的用户信息是否正确;
3)在浏览器中打开分享链接;
12、弹窗测试
1)首页弹窗;
2)完成某项操作后弹窗;
3)App更新弹窗;
4)一个页面多种弹窗;
13、Push测试
①检查push消息是否按照指定的业务规则发送 ;
②检查不接受推送消息时,检查用户不会再接收到push;
③如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH。在非免打扰时间段,用户能正常收到push;
④当push消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其它人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。
⑤安卓用户,应用在前台/后台都能收到push。IOS用户,只有应用在后台时才能收到push,应用在在前台收不到push(开发也可以代码实现应用在前台也可以接收push);
14、异常测试
①APP运行过程中断网;
②APP运行过程中断电;
③APP在内存不足的手机上运行;
④清空数据或强制退出后,APP能否正常运行;
⑤长时间开机且开app,看是否会出现异常情况;
工具使用,性能及稳定性测试介绍:
1、app抓包工具 Charles&Fiddler
可实现Android和IOS侧网络抓包、拦截请求并重定向资源等功能。
抓包前,需要对测试机配置代理,具体操作步骤如下:
https://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.htm1).win+R调出命令弹窗->cmd→ipconfig查找本地ip地址
2).打开fiddler->Tools -> Fiddler Options ->Connections下勾选“Allow romote computers to connect”
3).进入手机设置页面,找到手机连接的WiFi,进行如下设置:
服务器为电脑本机的ip,端口为fiddler请求的默认端口号8888
如此,即可进行fiddler抓包测试啦!!!!!
2、app性能测试常见指标:
1)、内存
2)、CPU
3)、流量
4)、电量
5)、启动速度
6)、滑动速度、界面切换速度
7)、与服务器交互的网络速度
Android性能测试分为两类:
1、一类为rom版本(系统)的性能测试
2、一类为应用app的性能测试
①Android的app性能测试包括的测试项比如:
a.资源消耗
b.内存泄露
c.电量功耗
d.耗时
e.网络流量消耗
f.移动终端相关资源利用率
g.帧率
h.渲染等等….
②工具:GT、Emmagee、itest等(工具的原理都是基于调用android底层的一些api来获取到测试所用到的值)
③测试方法:
a.设计场景 :手工或自动化场景;
b.获取数据:可获取的数据包括:内存、cpu、电量功耗、hprof(内存泄露分析文件)、响应时间等等。。。。配合手工或自动化场景来获取
数据(最好多取几次而且每次配合不同的设备看平均值)作为最后的对比分析;
c.结果分析 :拿到数据后分析哪些模块的数据异常再去Check code定位问题的原因。
④Android系统的几种场景状态:
a.空闲状态: 指打开应用后,点击home键让应用后台运行,此时应用处于的状态叫做空闲;
b.中等规格和满规格状态:中等规格和满规格指的是对应用的操作时间的间隔长短不一,中等规格时间较长,满规格时间较短。
3、app稳定性测试
①安卓APP的稳定性常常使用monkey命令进行测试,通过随机事件流模拟人的操作,对检查程序的内存溢出、空指针有很大的作用。
②Monkey主要用来检测系统ANR及Crash等问题。
ANR的全称是application not responding,根据它的意思我们就能看出来是应用程序未响应,就像是我们在电脑上碰到的 程序未响应,一般电脑出现这种情况,可能是由于我们打开了很多应用程序,占用了大量的内存,或者CPU时间片被一个应用 程序长时间占用,不够分配,导致部分应用程序出现了无响应。
下图就是我们见到的APP无响应的时候出现的对话框,产生ANR的原因很多,但是只有在Activty中的ANR才会弹出对话框, 对话框有两个选项,一个是等待,一个是关闭程序供用户选择:
ANR产生的条件:
1、只有主线程才会产生ANR,主线程就是UI线程;
2、必须发生某些输入事件或特定操作,比如按键或触屏等输入事件,在BroadcastReceiver或Service的各个生命周期调用函数;
3、上述事件响应超时,不同的context规定的上限时间不同
ANR产生的环境:
1、5秒内无法对输入事件(按键及触摸)做出响应
2、广播接收器无法在10秒内结束运行
具备了以上三个条件,那么加上这两个环境,就会产生ANR了。