APP测试

1、交叉事件测试:

  • 多个APP同时在后台运行,并交替切换到前台,是否影响正常功能
  • 要求相同系统资源的多个APP前后台交替切换是否影响正常功能,比如两个APP都需要播放音乐,两者在交替切换过程中,播放音乐功能是否正常
  • APP运行时接听电话
  • APP运行时接收信息
  • APP运行时提示系统升级
  • APP运行时系统闹钟事件
  • APP运行时低电量模式
  • APP运行时第三方安全软件弹出警告
  • APP运行时网络切换

2、流量测试:

  • 执行业务操作
  • 后台运行
  • 安装完成后启动
  • 安装包本身大小
  • 升级

节省流量:

  • 数据压缩,尤其是图片
  • 使用优化的数据格式,比如同样信息量的JSON文件比XML小
  • 遇到既需要加密,又需要压缩的场景,先压缩,再加密
  • 减少单次GUI操作触发的后台调用次数
  • 每次回传数据尽量只包括必要数据
  • 启用客户端缓存机制

3、耗电量测试:

  • APP运行但没有执行业务操作时的耗电量
  • APP密集执行业务操作时的耗电量
  • APP后台运行的耗电量

Android通过adb命令“adb shell dumpsys battery”

IOS通过Apple的官方工具Sysdiagnose来收集耗电量信息,进一步通过Instrument工具链中的Energy Diagnostics进行耗电量分析

4、弱网测试

4.1.网络测试流程

  • 网络正常时
  • 无网络时

        发送网络请求是否会闪退卡死

        无网状态测试建议按照页面划分进行,针对每个页面单独测试无网状态的显示,页面间跳转的显示,页面内功能的点击和显示,同时关注无网到有网时的页面恢复显示状态、数据上报情况是否正常

  •  弱网时

        请求是否做了超时处理

        网络延迟时操作App是否会crash,ANR

        请求回调未完成时,操作是否闪退

        是否请求堆积

        响应时间

        页面显示,提示

  • 网络转换

        同步数据过程中断开网络

        传输数据过程中,wifi与流量切换

        弱网发送请求,恢复网络后是否重复提交

4.2.弱网测试经典bug

  • 重复下载

        用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致

        原因:下载失败,没有进行数据回滚

        解决:通过事务处理下载逻辑,失败后回滚

  • 重复上传

        用户点击数据上传,数据上传过程中网络弱且不稳定,基于联网状态自动触发数据上传,导致出现数据重复写入,形成脏数据

        原因:没有做唯一标识处理

  • 现象和提示信息不一致

        在弱网环境下,用户输入用户名和密码点击登录,应用链接超时,却返回用户名和密码错误提示。(错误与提示信息不一致)

  • 崩溃且闪退

        在弱网环境下,用户输入用户名和密码后点击登录,登录过程中应用崩溃并且闪退

        原因:加载数据严重依赖后来的异步加载,数据还未加载完成,就跳到了下个activity

        解决:健壮数据加载流程,标记加载状态,等依赖数据加载完成后,再跳转

  • 第一次请求没有响应,再次请求,请求结果被第一次覆盖

        在弱网环境下,用户第一次输入搜索关键字没有得到响应后,再次输入全新关键字并发送请求,等待搜索结果返回后,当前结果页被之前的关键字搜索结果刷新覆盖。

  • 请求时间过长,页面控件仍可操作

        弱网络环境下,用户请求页面响应时间较长,等待的过程中,页面上的部分控件仍然可以操作

  • 接上,当用户点击控件时,出现应用闪退现象

        在弱网测试过程,如果加载过程中发生任何的闪退,都是问题,都要提交

  • 302跳转页面,达到内置超时阀值后,webview自动关闭
  • 加载过程中,在超出自己的承受范围之外的时间等待,没有任何友好提示的,也要提交bug

5、启动时间

(1)冷启动

(2)热启动

adb shell am start -W packageName/ActivityName

TotalTime:应用自身启动耗时

WaitTime:系统启动应用耗时

测试标准:冷启动时间不超过1.5s, 热启动不超过1s

6、内存

 adb shell dumpsys meminfo packageName

测试点:

(1)空闲状态:

(2)中强度:

(3)高强度:

关注数据:

Native heap alloc

Dalvik heap alloc

PSS

7、CPU

测试点:

1).在空闲时间(切换至后台)的消耗,基本没大应用使用cpu

2).在运行一些应用的情况下,cpu已占50%的情况下,观察应用程序占用cpu的情况

3).在高负荷的情况下看CPU的表现(cpu占用应是在80%以上)

具体场景:

1、应用空闲状态运行监测CPU占用率

空闲状态:应用按Home键退到后台,不再占用系统的状态(通常是灭屏半分钟后)

CPU占用率=0%

2、应用中等规格运行监测CPU占用率

中等规格:模拟用户最常见的使用场景

CPU占用率≤30%

3、应用满规格长时间正常运行监测CPU占用率

Monkey测试

CPU占用率≤30%

4、应用正常运行期间监测CPU占用率峰值

应用正常运行:打开应用进行基本操作

CPU占用率≤50%

8、常见问题:

(1)APP常见严重问题及引起原因

crash:

  • 外部因素:

        手机内存不足

        缓存垃圾太多

        软件冲突、资源竞争

        版本系统过低

        杀毒软件误判

        网速不稳定

  • 内部因素:

        APP版本过低,与后端接口不兼容

        不兼容新版操作系统

        缺少数据包

        内存泄漏

        程序本身bug:

                空指针异常

                数组越界

                堆栈溢出

                并发操作

                逻辑错误

ANR:

主线程执行了耗时操作,比如数据库操作或网络编程

其他进程占用CPU导致本进程得不到CPU时间片,比如其他进程的频繁读写操作可能会导致这个问题

细分:

耗时的网络访问

大量的数据读写

硬件操作

(2)APP测试与Web测试的区别

  • 系统架构

        web一般b/s架构,基于浏览器

        APP是c/s架构,基于客户端

        web不用更新客户端,APP需要更新客户端

  • 性能

        web主要是响应时间

        APP还有流量、电量、CPU

  • 兼容

        web主要是浏览器、电脑系统、硬件方面的

        APP主要是手机机型、屏幕尺寸、分辨率、操作系统

        APP还需安装、卸载、更新,除常规,还有安装中断、弱网、断网,覆盖安装,安装后删除安装文件等

(3)APP兼容测试怎么做

平台兼容性测试:测试APP能否在不同的操作系统和设备上正常运行

浏览器兼容:如果APP是基于Web技术开发的,那么需要测试在不同浏览器和版本的兼容

版本兼容测试:操作系统的版本、前后端版本变化

UI兼容:不同设备,不同屏幕尺寸,不同分辨率

(4)APP提示无法连接网络

  • 检查网络环境

        流量和wifi是否可用,其他APP是否有网络

        APP是否有网络限制,比如内网才可用

        手机是否开启了代理,代理异常

  • 检查APP的网络请求

        请求域名是否正常

        接口是否响应超时、异常

(5)安卓和IOS的区别

  • 机型:安卓机型多
  • 查看日志:安卓用adb,ios用插件
  • 编程语言
  • 操作习惯
  • 分辨率
  • 操作系统
  • push
  • 安装卸载渠道
  • 升级测试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值