admin管理员组

文章数量:1626226

目录

  • 1、APP测试基础知识
    • 1.1 APP应用系统架构
      • APP和Web的异同
    • 1.2APP项目环境及发布平台
    • 1.3APP敏捷开发模式
      • 瀑布模型:
      • 敏捷开发模型
        • 代表性的敏捷开发框架:scrum
    • 1.4APP应用测试流程(一次迭代)
  • 2、APP测试项目实战
    • 2.1 APP应用测试要点
    • 2.2 业务功能测试
    • 2.3 兼容性测试
    • 2.4 安装卸载升级测试
      • 安装测试
      • 卸载测试
      • 升级测试
    • 2.5 交叉事件测试
        • 测试关注点
    • 2.6 Push消息测试
      • 消息推送场景:
      • 消息推送原理
      • Push消息推送实质
      • 推送方式
      • 推送设置
      • Push消息关注测试点
    • 2.7 性能测试
      • 性能测试工具GT
      • CPU
        • CPU问题产生的影响
      • 内存
      • 流量测试
      • 流畅度测试
      • 电量
      • 启动速度
    • 2.8 用户体验测试
    • 2.9 稳定性测试

1、APP测试基础知识

1.1 APP应用系统架构

APP和Web的异同

相同点:
(1)APP和Web的后端服务器是相同的
(2)前后端都使用HTTP协议进行交互(也有部分APP使用socket来交互)
不同点:
(1)APP是C/S架构,Web是B/S结构
(2)APP使用时需要进行下载安装,有新版本需要升级,Web可以直接在浏览器访问,更新不用用户升级

1.2APP项目环境及发布平台

(1)开发环境
(2)测试环境
(3)预发布环境:连接生产环境的数据库(新代码+线上数据库)
针对基本业务进行测试;如果升级涉及到数据库结构变化,必须将生产环境的数据备份到测试数据库进行测试;涉及到写数据操作时,需要使用自己的测试账号,不能用线上用户的真实账号
(4)灰度发布策略:
灰度发布:一个项目线上部署时有多台机器运行,所以灰度1-3台(将部分流量引到灰度机器),看看新功能是否ok。如果失败则只需要回滚几台,比较方便
策略:灰度机器不宜过多,灰度时间一般持续一周-一个月之间,灰度发布时不影响用户使用;如果运行有问题,进行问题修复,如果问题比较严重,需要回滚代码,保障线上用户正常使用;如果运行无问题,在某个流量少的时间,不停机更新其他服务器环境
(5)生产环境
应用线上发布流程:测试完成- 提交app包到应用市场审核(应用宝,手机应用商店、APP Store)- 给每个APP 包分配平台渠道号- 将平台号打包到对应的APP 包进行测试-正式提交发布

1.3APP敏捷开发模式

瀑布模型:

需求分析-概要涉及-详细设计-编码-测试-运行维护
特点:开发周期长,迭代速度慢,不能适应需要变更

敏捷开发模型

以用户需求进化为核心,采用迭代、循序渐进的方式进行软件开发
将项目切分为多个子项目,每个子项目单独发布,保证软件较早使用,及时收集用户反馈,调整未发布的项目,满足用户实际需要

代表性的敏捷开发框架:scrum

角色:
产品负责人 项目经理(对当前项目安排、负责协调) 开发团队(开发、测试、UI)
开发流程
产品负责人收集需求- 输出产品功能列表- 开计划会(评审优先级高的功能)- 迭代(需求评审、开发、测试、每日立会)- 反思会(问题复盘、后续规划)

1.4APP应用测试流程(一次迭代)

2、APP测试项目实战

项目功能罗列:

2.1 APP应用测试要点

对于APP项目一般是进行系统测试

2.2 业务功能测试

显性需求:根据软件说明,设计文档或用户需求验证App各个功能的实现
隐形需求:相关业务(功能影响都的相关业务)、其他角度(分支流程+逆向操作+异常操作)、补充精简(测试策略+业务知识+测试经验)

2.3 兼容性测试

  • 手机型号
    覆盖市场主流机型(小米、华为、苹果)
    考虑APP线上用户机型排名
  • 系统版本
    安卓系统
    IOS系统
    鸿蒙系统
  • 屏幕尺寸、分辨率
  • 网络:2G\3G\4G\5G\wifi
  • 应用兼容性
    与手机硬件兼容:home键、电源键、音量调节
    与外部硬件设备兼容:耳机、蓝牙等
    与操作系统软件兼容:wlan设置、系统时间调节、定位
    与其他APP兼容:后台播放音乐时,进入动态页面点击动态视频播放,如何处理

2.4 安装卸载升级测试

安装测试

正常场景:
(1)在不同的操作系统安装
(2)从不同安装渠道安装(应用商店、直接下载apk文件)
(3)不同的安装路径(安装到手机上、安装到SD卡上)
异常场景:
(1)安装时出现异常(关机、断网),恢复后能否继续安装
(2)安装时存储空间不足(提示预留空间多少)
(3)安装时手动取消再次安装
(4)正在运行时覆盖安装
(5)低版本覆盖安装高版本
(6)卸载后安装

卸载测试

(1)正常卸载(APP手动卸载、工具卸载)
(2)运行时卸载
(3)取消卸载
(4)卸载异常中断
(5)卸载后无数据残留

升级测试

(1)从临近版本升级
(2)跨版本升级
(3)不同渠道升级(应用商店、手机助手)
(4)升级提醒成功(可不提醒、提示升级、强制升级)
(5)应用内升级时非Wifi提醒
升级后观察升级前的数据正常

2.5 交叉事件测试

交叉测试又叫冲突测试或干扰测试,指一个功能正在执行过程中,另外一个事件或操作对该过程进行干扰的测试,例如:在APP前台/后台运行同时接听来电或者下载文件等

测试关注点

APP运行时接打电话:要出现接听电话的界面,电话结束后回到app页面
APP运行时收发信息
APP运行时查看应用推送
APP运行接上蓝牙设备:声音从蓝牙设备中传出
APP运行时接收文件弹窗提醒
APP运行时旋转屏幕
APP运行时切换网络(4G、wifi)
APP运行时使用相机、计算器等手机自带应用(拍完照能不能正常运行)
APP运行时电量告警、插拔充电器

2.6 Push消息测试

消息推送场景:

产品角度:功能需要,如:资讯类产品的新闻推送、工具类产品的公告推送等
运营角度:活动运营需要,如:电商类产品的促销活动;召回用户,提高活跃度等

消息推送原理

Push消息推送实质

推送方式


推送设置

APP服务器设置:
主动推送(在推送平台设置决定推送的用户和业务规则)和自动推送

Push消息关注测试点

2.7 性能测试

性能测试工具GT

CPU

在Linux系统下,CPU利用率分为用户态、系统态、空闲态
用户态:表示CPU处于应用程序执行的时间
系统态:表示系统内核执行的时间
空闲态:表示空闲系统进程执行的时间
CPU使用率=CPU执行非系统空闲进程时间/CPU总的执行时间

CPU问题产生的影响

(1)CPU使用时间处于90%
(2)手机发热、耗电量增加
(3)反应变慢、引起ANR(应用无法响应)

内存

流量测试

流畅度测试

电量

启动速度

2.8 用户体验测试

2.9 稳定性测试

本文标签: 手工测试app