APP专项测试

APP专项测试

一、包含范围

APP专项测试包含:兼容性测试、交叉事件测试、安装、卸载、升级测试、推送测试、稳定性测试、内存测试、CPU测试、耗电量测试、流量测试、弱网测试等。

二、兼容性测试

APP兼容性测试包括:系统兼容、品牌兼容、屏幕分辨率兼容、网络兼容、应用软件兼容

2.1 系统兼容测试

系统兼容主要是对Android、iOS、鸿蒙系统做兼容测试,同时也包括系统版本号做兼容测试,一般都是选取主流系统(包括系统版本)来做系统测试

2.2 品牌兼容测试

品牌兼容主要是对主流厂商来做兼容性测试。比如国内的小米、华为、OPPO、vivo;国外的苹果、三星、谷歌等

2.3 屏幕分辨率兼容测试

屏幕分辨率兼容主要是对主流屏幕大小做兼容测试,主要看页面显示情况,是否会在主流屏幕不兼容,界面布局紊乱

2.4 网络兼容测试

网络兼容性主要是对wifi、5G、4G、3G、2G这几种网络做测试处理

2.5 应用软件兼容测试

1、对自身硬件兼容:Home键、关机键、音量键、返回键等
2、对外部硬件兼容:拔插耳机、蓝牙耳机适配等
3、内置软件兼容:wifi设置、定位系统兼容
4、三方软件兼容:运行当前app切换至其他app,看是否正常可切;又从其他app切回软件本身,验证程序是否还正常运行

三、交叉事件测试

1、交叉测试:交叉测试又称干扰测试或冲突测试,目的是通过交叉测试来发现软件可能隐藏的bug。
2、交叉测试的测试点:运行app时接电话、发短信、连接蓝牙耳机、旋转屏幕、断开网络、接收弹框信息、查看应用消息、切换应用、拔插外部设备等一切可干扰本程序的行为。

四、安装、卸载、升级测试

4.1 安装测试点

1、正常安装:通过应用商城安装、通过扫码或者链接安装、通过apk安装包安装、结合兼容性安装(品牌、系统版本等)
2、异常安装:安装过程中关机、重复安装、安装时内存不足、安装时结合交叉测试、安装在SD卡或者手机本身

4.2 卸载测试点

1、正常卸载:正常手工卸载、第三方工具卸载、adb命令卸载
2、异常卸载:卸载时关机、卸载时出现交叉测试、后台运行app时卸载

4.3 升级测试点

强制升级、跨版本升级、升级时发生交叉、升级时关机,升级结束后要确认数据的准确性

五、推送测试

5.1 push推送

push推送:由服务器将相关信息或者数据主动的推送到app应用或手机

5.2 push推送目的

1、为了唤醒或者提高用户使用app的频率、留存用户
2、为了让用户实时获取相关信息,所以通过推送通知用户
3、为了让用户及时处理工作相关内容,主要用在流程类app工具上

5.3 push推送原理

1、后端服务器实现产品经理制定的推送规则
2、通过推送服务器把相关的数据推送到对应的app或手机上,中小型企业用的都是第三方推送服务器,如:极光推送、信鸽;华为、小米、vivo会有自己的厂商推送服务器
3、客户端收到推送消息后会把对应的信息展示出来

5.4 push推送测试要点

1、不同消息推送对象
(1)部分用户推送/分组推送(精确推送、自定义推送),具体的由需求确定
(2)全部用户推送
(3)安卓和iOS渠道推送
PS:注意推送对象是否正确,推送之前确认自己是否在测试环境操作,以免造成生产问题
2、消息内容测试
(1)不同消息长度
(2)消息类型(文字、图片、视频、音频、表情包、换行、空、链接跳转、特殊字符、<script标签等>),具体由需求文档确认
3、消息推送场景(定时推送)
(1)设置时间
I、当前时间:当天设置当天推送,检查有无收到,何时收到(多台设备上的到达时间有无误差?最大误差是多少?)
II、过去时间:检验容错
III、未来时间:当天设置第二天/隔几天/某段日期区间内每天固定时间生效。具体由需求文档确定
(2)未推送之前修改消息内容
(3)推送内容删除为空,看是否会推送(目前公司对接的第三方推送平台是不支持空内容推送的)
(4)推送的方式。如:自定义推送、地理围栏推送、定时推送、即时推送、应用内推送、富媒体推送、A/B test推送
4、消息通知开关
(1)首次安装通知权限设置
(2)手机系统设置中的通知开关:
I、开启(留意各厂商下的普通推送、静默推送、iOS隐式推送、当前项目的通知会被识别为哪种频率的动态识别是否为营销通知)
II、关闭
(3)app中消息通知开关:开启、关闭
5、客户端的不同场景(包含推送时间差及点击推送后的跳转是否正常)
(1)前台运行
(2)前台运行-锁屏-亮屏
(3)前台运行-锁屏-暗屏
(4)后台运行
(5)后台运行-锁屏-亮屏
(6)后台运行-锁屏-暗屏
(7)杀掉进程
(8)处于关机时推送,再开机
6、不同登录状态
(1)手机账号登录收推送检测
(2)第三方登录(微信、QQ等)收推送检测
(3)退出账号收推送检测
(4)更换账号收推送检测
(5)账号在其他设备登录,被强制踢出,收推送检测
(6)token失效踢出,收推送检测
(7)删除app再安装,未登录,收推送检测
(8)旧版本设备登录新版本设备账号,新版本设备收推送检测
(9)同时间同账号收到多个推送检测
(10)同时间多账号收推送检测
7、未读信息计数测试
8、不同网络环境
wifi、4G、5G
9、不同厂商通道
(1)iOS:无论app是否在进程都会收到推送
原因:向app发送推送,走的是苹果自身的服务器消息通道,再给客户端发推送并接受
(2)Android:
I、在进程收到推送
II、不在进程,根据厂商有不同的处理。比如:华为、小米有自己的消息通道会发送push。如果是其他厂商,比如三星就不会,但是会把推送存在客户端的库里,再次启动后会进行推送
10、特殊场景
(1)多个推送冲突
(2)频繁推送
(3)大量通知在一个通道堆积。如:牛人榜订阅通知要留意大量交易订阅通知积压场景
11、稳定性测试
长期观察消息到达率
12、测试APP在出错时是否有合适的通知和消息显示

5.5 推送的意义:

在测试正常功能的消息显示之外,测试人员还需要测试在出错的场景中APP是否给用户显示了恰当的信息。显然,给用户只显示便于技术人员定位问题的错误代码并不能解决用户的问题;给用户显示很长或者步骤很多的解决方法或提示也不能解决用户大问题;给用户显示的提示信息里打印出log就更不可取。在信息过剩的时代,用户不会一直停留在APP中关注消息的变化,所以我们需要通过消息的推送和展示,增加用户对于APP的粘性。

六、性能测试

6.1 CPU测试

1、CPU计算方式
CPU占用率 = 某个进程占用CPU的时间/CPU运行的总时间
2、CPU指标
指标:平均值不能超过80%
3、CPU过高产生的问题
app会出现卡顿或者假死(NAR)
4、测试CPU目的
测试CPU占用率,验证是否发热、耗电等
5、CPU测试步骤
(1)打开solopi,在性能测试界面选择被测app(此处使用MiraCut)
(2)勾选“CPU”指标参数,点击 录制 按钮
(3)运行被测app,进行相关的业务操作
(4)点击结束录制,回到solopi点击“录制数据查看”,选择“应用进程CPU”查看数据即可

6.2 内存测试

1、内存测试指标限定
指标:平均值不能超过80%
2、内存过高导致的问题
内存指标过高会存在的问题:会导致app crash
3、相关名词释义
PSS:app开启到运行过程当中所实际使用的内存
private dirity:关闭app之后所释放的实际内存
内存泄漏(memory leak):当app进程关闭之后没有释放内存
内存溢出(out of memory):当有新的app进程启动,需要申请内存,没有可用的内存
内存泄漏会导致的问题:内存泄漏最终导致内存溢出
4、内存测试目的
测试内存,验证是否有crash、反应慢等情况
5、内存测试步骤
(1)打开solopi,在性能测试界面选择被测app(此处使用MiraCut)
(2)勾选“内存”指标参数,点击 录制 按钮
(3)运行被测app,进行相关的业务操作
(4)点击结束录制,回到solopi点击“录制数据查看”,选择“PSS-main-进程号-Memory”查看数据即可

6.3 流畅度测试

1、名词解释
FPS:每秒显示的帧
流畅度测试指标:每秒不能低于24帧
注意:当没有操作app时,FPS的值为0,这个是正常情况
2、流畅度测试目的
验证界面展示是否卡顿
3、流畅度测试步骤
(1)打开solopi,在性能测试界面选择被测app(此处使用MiraCut)
(2)勾选“帧率”指标参数,点击 录制 按钮
(3)运行被测app,进行相关的业务操作
(4)点击结束录制,回到solopi点击“录制数据查看”,选择“帧率-FPS”查看数据即可

6.4 流量测试

1、流量
流量:就是指手机访问internet,从对应的服务器上获取数据所产生的上下文报文
2、流量测试的方式
两种流量测试方法:
(1)通过抓包来测试
(2)通过android底层的统计方式来测试
3、流量测试目的
验证APP运行过程中是否存在大流量消耗情况
4、流量测试步骤
(1)打开solopi,在性能测试界面选择被测app(此处使用MiraCut)
(2)勾选“网络”指标参数,点击 录制 按钮
(3)运行被测app,进行相关的业务操作
(4)点击结束录制,回到solopi点击“录制数据查看”,选择“进程上行流量”、“进程下行流量”查看数据即可
5、流量的优化策略
(1)压缩数据
(2)同等内容尽量使用占用量小的文件格式
(3)缓存机制,可以把一些文件或数据缓存到本地
(4)只请求必要的资源
(5)懒加载,一次性请求多个要用到的数据

6.5 电量测试

1、电量测试目的
测试APP电量消耗速度
2、耗电场景
(1)不停的解锁和锁定屏幕
(2)开启定位服务
(3)传输文件,尤其在非wifi情况下
(4)增加屏幕亮度
(5)增加CPU调用频率
3、电量测试步骤(通过GT测试目前不行)
方式一:
查看手机上的电池使用情况
方式二:通过adb命令查看
1、先清除手机里面的电量统计,执行命令:
adb shell dumpsys batterystats --reset
2、记录电脑使用到txt文档
adb shell dumpsys batterystats > D:\atterystats1.txt
Computed drain 显示的是总电量
Screen 显示的是屏幕使用电量
Uid u0a723 是操作的应用
Idle 显示的是重定时器使用电量
功耗的计算=CPU消耗+Wake lock消耗+数据传输消耗+GPS消耗+ Wi-Fi连接消耗

6.6 启动速度测试

1、概念
通过APP启动的时间来衡量时间
this time :一个APP打开需要经历多个active ,最后一个active 消耗的时间
total time: 包含了一个APP新建进程和启动 active 的时间【用这个时间做为指标】
wait time: 将上一个APP的暂停时间也计算在内
2、启动速度测试方法
(1)使用独立的工具测试
(2)使用 adb 命 令测试:adb shell am start -W -S -R 次数 -n 包名/启动名
3、速度分析
(1)分析多次启动时间,计算平均值
(2)标准可以来源于产品需求
(3)一般会对比同类竞品做为参考

六、稳定性测试

稳定性测试主要是monkey测试(有空再写)

  • 0
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值