APP手工测试

测试阶段

APP手工测试,流程和测试用例都跟web手工测试一样的,可以见本站的web手工测试帖子,这里主要写不同地方

APP测试分类

1.业务功能测试
2.APP专项测试
  - 兼容性测试
  - 安装、卸载、升级测试
  - 交叉事件测试
  - Push消息推送测试
  - 性能测试
  - 其他测试
    - 用户体验
    - 极限、边界
    - 权限

测试机的选取原则

1. 借助testin等云测平台(<https://www.testin.cn/business/landing/machine.htm>)
2.模拟器
  - Genymotion(<http://www.genymotion.net/>)
  - Xcode
  - 夜神模拟器

屏幕分辨率和尺寸

- Android
  - 1080x1920
  - 720x1280
- IOS
  - 2208*1242
  - 1334*750
屏幕参考网站:<http://www.woshipm.com/screen/>
一般考虑:
- 4.7
- 5.5

APP专项测试——交叉事件测试

概念

交叉测试又叫**冲突测试**或者**干扰测试**。  
是指一个功能正在执行过程中,另外一个事件或操作对该过程进行干扰的测试。

测试的关注点

- 拨打/接听电话
- 接收/发送短信息
- 插拔耳机
- 网络切换
- 系统自带应用(摄像头、计算器等)

APP专项测试——安装、卸载、升级测试

安装类型

- Andriod:.apk
- ios: .ipa

安装渠道

- Andriod
  - 应用商城(小米、华为、vivo等)
  - 豌豆荚
  - 应用宝、360手机助手等
- ios
  - APP Store

安装测试测试关注点

正常情况
- 正常安装测试,检查是否安装成功
- APP版本覆盖测试
- 回退版本测试
- 在不同型号、操作系统、屏幕大小、分辨率上的手机进行安装
- 安装完成后,能否正常启动应用程序
- 安装完成后,重启手机能否正常启动应用程序
异常情况
- 安装时内存不足
- 安装过程中的意外情况(强行断电、断网、来电话了、查看信息)等等
- 能否取消安装

卸载测试关注点

正常情况
- 用自己的卸载程序进行卸载,检查是否卸载干净
- 用第三方工具,检查是否卸载干净
- 不同系统、硬件环境、网络环境下进行卸载
- 卸载后再次安装,是否正常使用
异常情况
- 卸载中出现异常情况能否恢复(比如手机关机,内存、没电等),程序是否还能运行
- 卸载后是否有残留,是否能够再次进行安装
- 是否可以取消卸载 软件恢复使用

升级测试关注点

更新版本需要提示用户
考虑是否进行强制升级
- 软件存在严重缺陷
- 软件不能够向前兼容
是否能够跨版本升级
- V5.0 ==》 V6.0 ==》 V7.0

断点续传

程序下载中间断开(断网,关机),恢复后,能够接着原来的内容继续下载。

APP专项测试——push消息推送测试

概念

push即为消息推送测试,主要目的就是为了唤醒或提醒用户

对象

- 全部推送
- 部分推送
- 精确推送

消息形式

- 弹窗
- 消息通知栏

测试关注点

- Push消息应该按设定规则发送特定用户
- APP在后台运行时,应能正常收到其Push消息
- 设备锁屏状态下,应能正常收到APP的Push消息
- 设备网络断开后再一次建立连接时,应能收到Push消息
- 系统设置不接收该APP通知消息时,用户应该不再收到Push消息

APP专项测试——性能测试

性能测试指标

- 内存
- CPU
- 流量
- 电量
- 启动速度
- 界面切换速度

测试的关注点

- APP的启动时间是否过长;
- APP使用时对CPU、内存的占用情况;
- APP使用时,电量流量的消耗情况;
- **反复长期的操作情况下,系统资源的使用情况。**

面试题(扩展)

内存溢出与内存泄漏
1. 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;
2. 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光;
3. 二者的关系:memory leak会最终会导致out of memory!
冷启动与热启动
1. 指app被后台杀死后,在这个状态打开app,这种启动方式叫做冷启动;
2. 热启动:指app没有被后台杀死,仍然在后台运行,通常我们再次去打开这个app,这种启动方式叫热启动。

APP专项测试——其他测试

用户体验

测试关注点
- 界面的美观性
- 保持登录(APP)
- 页面层级关系在4层左右

边界(极限测试)

测试关注点
- 电量不足(<5%)
- 内存不足

权限测试

测试关注点
- 摄像头权限
- 相册权限
- 位置权限
- 通讯录权限

Web测试与APP测试的差异性(面试题)

- APP的兼容性测试尤为重要:由于手机厂商生产的手机型号及相关软硬件存在千千万万的差异性,进而APP端需要着重考虑分辨率、系统版本、尺寸、主流机型等等;
- APP性能测试指标不一样:除了需要和web一样考虑APP客户端的性能外,我们还需要考虑电量、流量的消耗、GPU渲染等;
- APP网络测试场景的复杂性:如2G、3G、4G、5G、wifi、弱网环境等
- APP基于手机载体存在的交叉事件测试、前后台切换、安装/卸载/升级测试 
- APP基于手机载体特有的一些用户操作习惯类测试,如横竖屏切换、多点触控、事件触发区域等

APP测试环境

APP的项目环境

- 开发环境==》开发工程师
- 测试环境==》测试工程师
- 生产/线上环境==》运维工程师

APP项目环境与项目流程的对照关系

- 开发(开发环境)==》测试(测试环境)==》上线(生产/线上环境)

APP发布平台

内测分发平台

工作流程

1. 开发将打好的程序包上传到内测分发平台上
2. 内测分发平台基于上传的安装包生成唯一的二维码
3. 测试扫描此二维码即可进行下载、安装并测试

常见的内测分发平台

- 蒲公英(<https://www.pgyer.com/>)
- fir.im(<https://fir.im/>

线上发布平台

- Andriod
  - 应用商店(华为、小米)
  - 豌豆荚
  - 360手机助手等
- ios
  - APP Store

注意:需要一定的审核过程、审核周期。

敏捷开发模式(了解)

前置基础

- 瀑布模型
- 快速原型

互联网的特点

- 追求创新
- 需求的高度不确定性

移动互联网的解决方案

- 快速的反馈机制
- 快速试错
- **思考:瀑布模型能解决移动互联网的痛点吗?**

敏捷开发模式

Scrum

角色
- 产品负责人(PO):主要是负责整理需求,需求的呈现形式为用户故事
- Scrum Master(SM):负责带领团队完成相关任务
- 开发团队(Dev Team)
  - 开发
  - 测试
  - UI/UE
输出物
- 产品待办列表(用户故事)
- 迭代待办列表
- 产品增量(可工作的软件)
5个活动
- 迭代(冲刺)sprint
- 迭代计划:确定迭代待办列表内容
- 每日站会
- 评审会
- 回顾会

敏捷测试流程(一次迭代)

1. 需求分析与评审
2. 编写测试计划(测试方案)
3. 设计测试用例与评审
4. 执行测试用例与缺陷跟踪
5. 编写测试报告

转载请注明: Zhou•Yong APP手工测试

本篇
APP手工测试 APP手工测试
测试阶段 APP手工测试,流程和测试用例都跟web手工测试一样的,可以见本站的web手工测试帖子,这里主要写不同地方 APP测试分类1.业务功能测试 2.APP专项测试 - 兼容性测试 - 安装、卸载、升级测试 - 交叉事件测试
2020-09-08
下一篇
web手工测试 web手工测试
测试阶段(黑盒) 主要工作阶段分为需求评审,编写测试计划,编写测试方案,熟悉项目的业务和数据库 测试工作步骤分为 主要测试阶段单元测试,集成测试,系统测试,验收测试 其他阶段冒烟测试,回归测试,随机测试,探索性测试 测试用例模板 测试用例:
2020-08-08
目录