移动APP测试基础分享

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.htm

1).win+R调出命令弹窗->cmd→ipconfig查找本地ip地址

2).打开fiddler->Tools -> Fiddler Options ->Connections下勾选“Allow romote computers to connect”

3).进入手机设置页面,找到手机连接的WiFi,进行如下设置:

 

服务器为电脑本机的ip,端口为fiddler请求的默认端口号8888

如此,即可进行fiddler抓包测试啦!!!!!

 移动APP测试基础分享_第1张图片

 

 

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才会弹出对话框, 对话框有两个选项,一个是等待,一个是关闭程序供用户选择:

 移动APP测试基础分享_第2张图片

 

 

ANR产生的条件:
1、只有主线程才会产生ANR,主线程就是UI线程;
2、必须发生某些输入事件或特定操作,比如按键或触屏等输入事件,在BroadcastReceiver或Service的各个生命周期调用函数;
3、上述事件响应超时,不同的context规定的上限时间不同


ANR产生的环境:
1、5秒内无法对输入事件(按键及触摸)做出响应
2、广播接收器无法在10秒内结束运行
具备了以上三个条件,那么加上这两个环境,就会产生ANR了。
————————————————
版权声明:本文为CSDN博主「weixin_41754309」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41754309/java/article/details/87724307

你可能感兴趣的:(移动APP测试基础分享)