【笔记】移动端测试基础知识

本文详细介绍了移动端App的手工测试项目实战,包括APP的基础知识、Scrum敏捷开发流程、不同类型的测试如业务功能、兼容性、安装卸载升级、交叉事件、Push消息和性能测试。此外,还提到了一些测试工具的使用,如GT工具在性能测试中的应用,以及发布上线后的跟踪和优化工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《移动端App手工测试项目实战(学车不APP)》视频学习目标:
1.APP测试基础知识
2.《学车不》App项目
1)app应用测试要点
2)业务功能测试
3)兼容性测试
4)安装卸载升级测试
5)交叉事件测试
6)Push消息测试
7)性能测试

移动端App手工测试项目实战(学车不APP),最新2021教学视频(含Scrum敏捷开发流程、性能测试、稳定性测试)_哔哩哔哩_bilibili

https://blog.csdn.net/itcast_cn/article/details/112902162

视频http://yun.itheima.com/course/826.html?stt
资料链接:https://pan.baidu.com/s/1b5YIpzBook_aviHcZT2gAw
提取码:o5q6

APP测试基础知识

了解APP项目的应用架构和项目环境
掌握基于敏捷开发的测试流程
掌握APP测试的要点,熟悉各专项测试项目的关注点

熟悉GT工具的使用,能使用GT进行各项性能测试

一、APP应用系统架构

在这里插入图片描述

App应用架构

  • APP 应用架构:客户端程序+应用服务器+数据库
  • App 与 web 系统应用架构相比

相同点:
1、APP和web使用的后端服务器是相同的
2、前后端都使用HTTP协议进行交互
(也有部分APP用socket来交互)
不同点:
1、APP是C/S结构,web浏览器是B/S结构
2、APP前后端交互的数据格式以ison为主,web前后端交互的数据格式以HTML为主

APP项目环境及发布平台
一、APP项目环境(后端)
一般公司内部开发、测试人员会使用不同的环境,以隔离工作过程中彼此之间的干扰。同时,上线给用户使用的产品也会单独部署环境。
- 开发环境
指开发人员进行开发时调试运行的环境
- 测试环境
提供测试人员使用,用于测试人员执行测试,回归缺陷。
- 预发布环境
这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试
- 生产环境
指正式提供对外服务的环境,产品的实际用户使用的环境
预发布环境过后,正式发布生产环境之前,一般会进行灰度发布。灰度发布:由于一个项目,一般线上部署时有多台机器运行,所以灰度1台至三台,看看新功能是否OK,如果失败则只需要回滚几台,比较方便

二、APP应用发布(前端)

APP开发完成后,相应的开发人员会打出应用程序包,由测试人员安装测试。
测试人员

  • 安卓:APK测试包

  • IOS:IPA测试包

应用内测分发平台
在实际测试工作中,为了方便测试程序包的安装和管理,可以使用一些免费的应用内测分发平台。将应用测试包上传到这些平台上,可以生成对应的二维码,直接扫码进行应用安装

  • 蒲公英

  • fir.im

应用线上发布平台
产品测试完成后要在线上进行发布,让用户进行下载使用。下面是安卓和IOS应用常用的发布平台和渠道:

  • 安卓应用:豌豆荚、应用宝、360手机助手、各类手机品牌商城等;
  • IOS应用:主要有Appstore、iTools

三、Scrum敏捷开发流程

Scrum介绍
学习目标:学握Scrum的三种角色
学习目标:熟悉敏捷开发流程

下面以Scrum为例简单介绍下敏捷开发流程
Scrum是一个敏持开发框架,是一个增量的,迭代的开发过程,在这个框架中,整个开发周期包括若干个小的迭代周期,每个小的选代周期成为一个Sprint(sprint: 项目开发过程中最小这代周期),每个Sprint的周期建议为2-4周。在Scrum中,将产品Backlog(产品待办列表)按商业价值排出需求列表,在每个送代中开发团队从产品Backlog挑选最有价值的需求进行开发,实现完成后产品推出市场,进入下一个迭代。

Scrum的三种角色:
Product owner(产品负责人)

定义所有的产品功能
决定产品发布的内容及日期
根据市场变化对需要开发的功能排列优先顺序

Scrum Master(项目经理)

领导团队完成scrum的实践以及体现其价值
确保团队的人胜任其工作,并保持高效的生产率
保护团队不受外界无端影响

Dev Team(开发团队)

规模(经典团队一般5到9人)
成员组成:
程序员
测试员
用户体验设计师
主要职责:
卖现客户需求

在这里插入图片描述

scrum 敏捷开发流程:

1、产品负责人收集需求,转化为产品功能列表
2、启动迭代的计划会,评审产品功能列表,挑选优先级高的需求作为迭代任务
3、项目组成员完成迭代任务的开发、测试工作
4、迭代结束后,开评审会,评估当前迭代任务的完成情况
5、开反思会。总结迭代过程中的好的与不好的地方。
下一迭代,循环 2-5步

三、APP应用测试要点

对于APP项目的测试,一般是进行系统测试。
系统测试的要点一般包括如下这些方面

在这里插入图片描述

业务功能测试

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

兼容性测试
APP在不同的机型上由于软件、硬件等不同可能出现各种各样的问题,因此需要做兼容性测试。
兼容性测试关注点

1、手机型号

  • 覆盖市场主流机型 (Android: 三星,小米,OPPO,华为)
  • 考虑APP线上用户机型排名

2、系统版本

  • 安卓系统
    4.4、5.1、6.0、7.0
  • ios系统
    9.x、10.x、11.x、12.x

3、屏幕尺寸,分辨率

  • 分辨率
    1080x1920、720x1280
  • 屏幕尺寸
    5.5、4.7

4、网络
2G、3G、4G、WIF

5、应容性

  • 与手机硬件兼容
    home键、电源键、音量调节等

  • 与外部硬件设备兼容
    耳机、蓝牙等

  • 与操作系统软件兼容
    wlan设置、系统时间调节、LBS定位等

  • 与其他APP兼容
    后台在播放音乐时,进入动态页面点击动态视频的播放,系统如何处理

第三方平台测试

https://www.testin.cn/

在这里插入图片描述

安装卸载升级测试

APP是客户端程序,客户端程序就需要提前进行安装才能使用,因此需要测试安装、卸载、升级操作。
安装测试关注点
正常场景:
1、在不同的操作系统版本上安装
2、从不同的安装渠道安装(APP商城、手机助手、直接下载apk或者ipa文件安装)
3、不同的安装路径 (安装到手机上、安装到SD卡上)异常场景
4、安装时出现异常(关机、断网),恢复后能否继续安装
5、安装时存储空间不足
6、安装时手动取消后再次安装
7、正在运行时覆盖安装
8、低版本覆盖安装高版本
9、卸载后安装

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

升级测试:
1、从临近版本升级
2、跨版本升级
3、不同渠道升级 (应用商场、手机助手)
4、升级提醒成功 (可不提醒、可以提示升级、强制升级)
5、应用内升级时非WIFI提醒
升级后要观察升级前的数据正常 (当数据结构改变而开发没有处理好时很容易出现升级前的数据混乱)

交叉事件测试

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

交叉事件测试关注点
如何测试: 模拟用户场景 (所有可能会影响APP正常运行的场景)
1、APP运行时接打电话;
2、APP运行时收发信息;
3、APP运行时查看应用推送
4、APP运行接上蓝牙设备
5、APP运行时接收文件弹窗提醒
6、APP运行时旋转屏幕
7、APP运行时切换网络 (4G、Wi-Fi) ;
8、App运行时使用相机、计算器等手机自带应用;
9、App运行时电量告警、插拔充电器。

Push消息测试

Push消息推送基础知识
APP使用push消息的原因:
消息推送场景:
产品角度:功能需要,如: 资讯类产品的新闻推送、工具类产品的公告推送等等运营角度: 活动

运营需要,如: 电商类产品的促销活动;召回用户/提高活跃度等等

消息推送原理:

在这里插入图片描述

Push消息推送的实质:
实际上,是当服务器有新消息需推送给用户时,先发送给应用App,应用App再发送给用户。
在这里插入图片描述

push消息推送的方式
1 操作系统级别的消息推送服务
ios:
Android: C2DM (Cloud to Device Messaging)
在这里插入图片描述

应用的后台服务器 ——> 消息推送服务 ——> 手机 ——> 应用app

2 用第三方推送平台
手机厂商类:小米推送、华为推送。第三方平台类:友盟推送、极光推送、云巴 (基于MQTT)BAT大厂的平台推送: 阿里云移动推送、腾讯信鸽推送、百度云推送

3 自己搭建推送服务器
好处:功能好、性能强、安全性高
缺点:成本高

push 消息推送的方式:

1、操作系统自建的 push 服务器
2、第三方的 push 服务器

3、自建 push 服务器(安全、稳定、高效、成本高)

push推送设置:

APP服务器设置

push消息针对不同的用户群体: 全部用户、部分用户、特定用户

手机端设置

push消息推送是否接收通知,提醒位置等

push消息测试关注点
1、Push消息是否按指定业务规则发送;
2、当Push消息是针对特定用户时,检查收到的Push与用户身份是否相符

3、设置不接收推送消息时,用户是否会收到Push消息;
4、设置push消息显示的位置,是否与配置一致
5、收到push消息,是否能正常打开。
6、APP在前台使用时,收到push消息如何提示

7、APP在后台运行时,收到push消息如何提示

8、APP离线,是否能收到PUSH消息。

性能测试
性能是衡量APP质量的一个重要指标
APP性能测试常见指标:
内存,CPU,流量,电量,启动速度,流畅度等。

在这里插入图片描述

性能测试关注点
APP使用时对CPU、内存的占用情况
APP使用时是否流畅等
APP使用时,电量流量的消耗情况;
APP的启动时间是否过长;

性能测试工具介绍——GT

GT简介:
GT(随身调)Android版是腾讯 MIG 专项测试组自行研发的A 随身调测平台,它是直接运行在手机上的“集成调测环境”ITE,Integrated Test Environment)。
之所以叫“集成调测环境”,是因为仅用 GT即可独立完成如下针对 AUT 的测试工作:

  • 基础性能测试: 手机整机或者手机上安装的任何一个 APP 的 CPU、内存、网络流量、流畅度/率、电量等基础性能指标的实时展示、历史数据采集及 excel 格式存储、曲线绘制等
  • 日志查看: APP的 Logcat 日志查看,便于直接用手机现场定位 APP 功能异常、crash。·网络数据包抓包: 直接用手机抓包保存成 pcap 文件,下载到 PC 后用 Wireshark 查看

GT安装:
GT有两种版本:
(1)可独立安装的 GT (APK,IOS无该版本),像普通APP一样安装

(2)GT SDK: 将GT的SDK嵌入到被调测的应用的工程里

GT使用:
性能测试工具 GT 的基本使用:
安装:手机有 root 权限
(1)进入 AUT 界面,配置要监控的指标
(2)进入参数页面,选择要统计的参数,选择需要实时监控的数据
(3)配置日志开头为 logcat 为 on
(4进入APP进行测试
(5)回到 GT 界面,在参数界面看查看监控指标的数据统计

(6)进入日志,查看响应的日志记录

APP性能测试工具——GT 使用方法_Bruce小鬼的博客-CSDN博客_gt工具兼容性

CPU

CPU关键指标:GT工具提供了两个CPU的监控指标: CPU和jiffies

CPU:

用户态:应用程序占用的CPU时间

系统态:系统内核占用的CPU时间

空闲态:空闲进程占用的CPU时间(idle process)

CPU使用率=非空闲态/CPU总时间=(用户态+系统态)/CPU总时间

jiffies:

从开机到目前为止应用程序占用的CPU的总时间片。

CPU问题产生的影响:

1、CPU长时间超过90%
2、手机发热、耗电量增加
3、手机卡顿、出现ANR(Application Not Responding)

CPU测试的步骤:

(1)打开GT,配置CPu的监控指标

(2)进入被测APP,进行相关的业务操作

(3)进入GT,查看CPU的监控统计(先看曲线图)

(4)收集CPU详细数据并分析

实战:

1-037-性能测试—CPU测试的步骤_哔哩哔哩_bilibili

监控结果保存到目录文件的步骤:
(1)打开模拟器桌面上的 文件管理器
(2)在文件管理器内,自己找你需要导出的文件,然后点击勾。
(3)连续点击返回按钮,一直到文件管理器的根目录下
(4)点击mnt文件夹,点击shared文件夹,然后点击other文件夹,再点击点击粘贴此选项。
(5)出现表示粘贴成功,再点击我的电脑 按钮,点击打开文件夹,就可以看到刚刚保存的文件了

1-038-监控结果保存到目录文件_哔哩哔哩_bilibili

内存

内存关键指标:
GT工具提供了两个内存的监控指标: PSS和Private dirty

Private dirty (私有内存):
进程独占内存,也就是进程销毁时可以回收的内存容量

PSS (实际使用内存) :
将跨进程共享页也加入进来,进行按比例计算PSS。这样能够比较准确的表示进程占用的实际物理内存。

内存问题:

1、内存泄漏:程序操作时申请内存,操作结束后内存未全部释放

一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。

2、内存溢出:程序操作时申请内存,但是此时内存不够,不能满足申请的要求,就出现内存溢出。

内存问题出现的现象:

1、实际使用内存PSS持续增长

2、程序崩溃(出现crash,可能是内存溢出)

内存测试的步骤:

1、打开GT工具,配置内存相关的指标

2、打开被测APP,测试相关业务,监控内存指标

3、打开GT,查看内存监控数据(曲线)

4、收集内存相关的数据,并分析

1-041-性能测试—内存测试的步骤_哔哩哔哩_bilibili

流畅度测试

流畅度的重要指标:

FPS:每秒渲染的帧数。

流畅度问题的影响:

表现形式:卡顿

FPS指标的数据要求:

通常要求在24帧/s以上,保证流畅。(动作连续10-12帧、最高60帧/s)

流畅度测试的步骤:
1、打开GT,配置流畅度指标FPS
2、打开被测APP,滑动页面,统计FPS值
3、进入GT,查看流畅度曲线
4、收集滑动操作时的流畅度数据,计算平均值。(24帧/s——60帧/s之间就是正常的)

1-043-性能测试—流畅度测试的步骤_哔哩哔哩_bilibili

流量测试

流量:手机通过运营商上网时,运营商的网络替我们转发报文,报文包括上下行的报文。

GT工具提供了流量的监控指标: NET

常用流量测试方法:
1 统计测试法
获取应用程序收发的数据报文,统计出对应的流量
2抓包测试法
主要是利用工具 Tcpdump 或者fiddler抓包,导出 pcap 文件,再在 wireshark 中打开进行分析

流量测试的步骤:

(1)打开GT,配置流量指标NET

(2)进入GT的插件tab,选择抓包,开始

(3)进入被测APP,进行相关的业务测试

(4)进入GT,查看NET指标的流量曲线

(5)手机抓包的报文,进行进一步分析

1-045-性能测试—流量测试的步骤_哔哩哔哩_bilibili

场景的流量优化方法:
1 数据的压缩
2 不同数据格式的采用。
3 控制访问的频次
4 只获取必要的数据
5 缓存机制
6 针对不同的网络类型设置不同的访问策略
面试题;
打开页面迷度过慢,如何优化?

电量测试

电量测试:
测试移动APP消耗电量的快慢速度。主要通过测试APP使用时的平均电流(对手机而言,总电量是固定的mAh),来计算APP电量消耗的大小。
GT提供了几个指标:电流、电压、电量和温度
常见的耗电场景:
定位GPS
网络传输(4G、wifi)
屏幕亮度
CPU频率
内存调度机制
锁屏、解锁

电量测试的步骤:
(1)打开GT,进入插件tab,点击电量收集
(2)配置电量收集的频率、亮度、收集的数据指标
(3)进入被测APP,进行相关的业务操作
(4)进入GT,收集电量的相关数据来进行分析。

电量结果的分析:
(1)与基准数据做对比(可以来源于产品经理、或者来源于历史数据积累)
(2)横向对比(竞品分析对比)

APP启动的两种方式

冷启动:app从后台被杀死,此时再打开app,记录app启动的时间
热启动:app在后台运行,此时再打开app,记录APP启动的时间

APP启动时间的测试方法:

1-051-性能测试—APP启动时间的测试方法_哔哩哔哩_bilibili

adb命令:

adb shell am start -W -n 包名/Activity名(学车不为:com.bjcsxq.chat.carfriend/.module_main.activity.MainActivity)

三个重要时间指标:

Thistime:当前activity的时间

Totaltime:APP启动时间:包括创建进程、APP初始化、activity初始化到界面显示。

waittime:totaltime+前一个activity pause时间

APP启动时间结果的分析:
(1)与基准数据对比(历史数据分析)
(2)横向对比(竞品数据对比)

用户体验测试

用户体验测试关注点
(1) UI界面测试
对照UI交互设计文档,检查每个界面设计菜单、对话框、窗口、风格、布局等
注意事项:
图片、按钮(选中效果)、字体大小、颜色、居中对齐等等
(2) 易用性测试
是否有空数据界面设计,引导用户去执行操作
菜单层次是否太深
交互流程分支是否太多

完成业务操作的步骤是否过多

界面中按钮可点击范围是否适中

是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义
(3) 横竖屏测试
横竖屏的切换是否正常 (针对每个页面都要做横竖屏测试)

特别要关注APP中有表格,因为横竖屏的显示宽度不一样
(4)关注手机应用上的其他辅助功能

可以重点关注“放大字体”、反色”、“语音转换”、多点触碰等功能

稳定性测试

通过长时间对应用程序进行无序操作,检验应用程序是否会出现异常。如闪退crash、无响应ANR等

稳定性测试工具一-Monkey
Monkey是一个命令行工具,是由安卓官方提供的
测试人员可以通过Monkey来模拟用户的触摸、点击、滑动以及系统按键等操作(操作事件都是随机的),从而实现对APP压力的测试和稳定性测试。 (具体Monkey的使用在后续app自动化章节介绍)开发人员结合monkey 打印的日志和系统打印的日志,修改测试中出现的问题。

稳定性测试的时机
一般需要等产品稳定了,bug比较少的时候,再用monkey去测试待测试应用的稳定性。

如何测试APP?

1、业务功能测试

2、兼容性测试

3、安装卸载升级测试

4、交叉事件测试

5、用户体验测试

6、PUSH消息测试

7、性能测试(CPU、内存、流量、电量、流畅度、启动速度)

8、稳定性测试

发布上线后,工作:

跟踪用户反馈

处理线上bug

版本功能优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值