目标

一、熟悉APP测试范围

二、掌握APP专项测试

三、了解app测试环境与发布平台

四、了解敏捷开发模型

五、掌握敏捷测试流程(一次迭代)

APP概念:Application的缩写,APP指智能手机的应用程序,如微信、支付宝等

一、APP测试范围

APP测试分类

1、业务功能测试

2、APP专项测试

  • 兼容性测试
  • 安装、卸载、升级测试
  • 交叉事件测试
  • Push消息推送测试
  • 性能测试
  • 其他测试
    • 用户体验
    • 极限、边界
    • 权限

1、业务功能测试

概念

按照用户的需求(需求说明书、原型等)去检验开发的代码实现是否满足用户的功能性需求。

测试对象

  • 功能点(单独模块)==》单元测试
  • 多模块==》集成测试
  • 业务流程==》系统测试、验收测试、冒烟测试

测试方法

  • 测试理论阶段与测试用例设计方法等即适用于WEB产品,也适用于APP产品。
  • 测试理论阶段设计测试用例8大方法:
    • 等价类
    • 边界值
    • 因果图
    • 判定表
    • 场景法
    • 流程图
    • 正交法
    • 错误推测法
  • 项目阶段适用的测试用例设计方法:
    • 等价类与边界值组合
    • 需求==》测试点==》测试用例(一个测试点就是一条测试用例)
    • 基于场景与业务流程设计测试用例

2、APP专项测试

二、APP专项测试

1、APP专项测试——兼容性测试

概念

APP产品在不同的软件环境与硬件环境上都有很好的可移植性(都能正常工作)。

兼容测试关注点

1.手机型号

  • 参考在线统计数据:

    • 腾讯移动分析:https://mta.qq.com/mta/data/device
    • 百度研究院:https://mtj.baidu.com/data/mobile/device 

注意:参考百度研究院时,右上角注意勾选时间(为之前的时间),否则统计数据不显示。

2.操作系统

  • Android

    • 5.X
    • 6.X
    • 7.X
    • 8.X
    • 9.X
    • 10.X
    • 11.X

  • iOS

    • 11.X
    • 12.X

3.屏幕分辨率、尺寸

屏幕分辨率:

  • Android

    • 1080 * 1920
    • 720 * 1280
  • iOS
    • 1242 * 2208
    • 750 * 1334

                      

尺寸:

  • 4.7
  • 5.5

参考网站http://www.woshipm.com/screen

4.网络环境

  • wifi
  • 2G
  • 3G
  • 4G
  • 5G

测试机的选取原则

1、一定要在一定数量的真机上进行测试

2、借助testin等云测平台    https://www.testin.cn/business/landing/machine.htm

3、模拟器

Genymotion

Xcode

信息的获取渠道(扩展)

  • 第三方在线统计排名(腾讯移动分析、百度研究院等)
  • 官方数据(android、ios的官网)
  • 埋点技术(技术手段),居多,真实数据,重点关注。

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

概念

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

交叉测试的关注点

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

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

安装类型

  • Andriod:.apk
  • iOS: .ipa

安装渠道

  • Andriod:

    • 应用商城(小米、华为、vivo等)
    • 豌豆荚
    • 应用宝、360手机助手等
  • iOS:
    • APP Store

安装测试测试关注点

正常情况

  • 正常安装测试,检查是否安装成功
  • APP版本覆盖测试
  • 回退版本测试
  • 在不同手机型号、操作系统、屏幕大小、分辨率上的手机进行安装
  • 安装完成后,能否正常启动应用程序
  • 安装完成后,重启手机能否正常启动应用程序

异常情况

  • 安装时内存不足
  • 安装过程中的意外情况(强行断电、断网、来电话了、查看信息)等等,能否有相关异常提示
  • 能否取消安装

卸载测试关注点

正常情况

  • 用自己的卸载程序进行卸载,检查是否卸载干净
  • 用第三方工具,检查是否卸载干净
  • 不同系统、硬件环境、网络环境下进行卸载
  • 卸载后再次安装,是否正常使用

异常情况

  • 卸载中出现异常情况能否恢复(比如手机关机,内存、没电等),程序是否还能运行
  • 卸载后是否有残留,是否能够再次进行安装
  • 是否可以取消卸载  软件恢复使用

升级测试关注点

1、更新版本需要提示用户

2、考虑是否进行强制升级

  • 软件存在严重缺陷
  • 软件不能够向前兼容

3、是否能够跨版本升级

  • V5.0 ==》 V6.0 ==》 V7.0

断点续传

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

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

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

推送对象:

  • 全部推送
  • 部分推送
  • 精确推送     用户洞察、大数据分析

推送消息形式:

  • 弹窗
  • 消息通知栏

Push推送的技术:

  • 自主研发
  • 借助第三方工具(腾讯信鸽、极光推送)

Push推送消息测试关注点

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

思考题:手机关闭APP以后还能接收推送消息吗?能

对于iOS用户来说,苹果有APNs负责消息推送,第一次询问是否接收消息,选择“是”,记录ID,先推送到苹果服务器中,然后通过苹果的APN服务器推送到用户手机上。

Android手机,通过第三方推送服务器来推送消息通知。

5、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,这种启动方式叫热启动。

6、APP专项测试——其他测试

用户体验测试关注点

  • 界面的美观性
  • 保持登录(APP)
  • 页面层级关系在4层左右

边界(极限测试)测试关注点

  • 电量不足(<5%)
  • 内存不足

权限测试测试关注点

  • 摄像头权限
  • 相册权限
  • 位置权限
  • 通讯录权限

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

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

三、APP测试环境与APP发布平台

APP的项目环境

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

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

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

APP发布平台

1、内测分发平台

工作流程

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

常见的内测分发平台

  • 蒲公英  https://www.pgyer.com
  • fir.im     https://fir.im

需要实名认证才能做内测分发平台。

2、线上发布平台(公测)

  • Andriod

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

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

四、敏捷开发模式

前置基础

  • 瀑布模型
  • 快速原型
  • v模型
  • w模型

互联网的特点

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

移动互联网的解决方案

  • 快速的反馈机制
  • 快速试错

思考:瀑布模型能解决移动互联网的痛点吗?---不能

敏捷开发模式

Scrum

角色

  • 产品负责人(Project Owner):主要是负责整理需求,需求的呈现形式为用户故事
  • Scrum Master(SM):负责带领团队完成相关任务
  • 开发团队(Dev Team)
    • 开发
    • 测试
    • UI/UE

输出物

  • 产品待办列表(用户故事)
  • 迭代待办列表
  • 产品增量(可工作的软件)

5个活动

  • 迭代(冲刺)sprint
  • 迭代计划:确定迭代待办列表内容
  • 每日站会
  • 评审会
  • 回顾会

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

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

XX头条项目说明

  1. 业务特性
  2. 用户与角色
  3. 组织架构图
  4. 技术栈

XX头条测试流程(一次迭代)

测试流程

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

本轮迭代范围

  • 文章点赞评论(写评论、评论显示、点赞)
  • 图像上传
  • 实名认证

需求分析与评审

需求

  • 软件需求是指为用户解决某一问题或达到某一目标所需的软件功能

为什么要做需求评审?

  • 保证需求的完整、准确
  • 保证团队(开发、测试)对需求理解的一致性

怎样做需求评审?

需求评审会

参会人员

  • 项目经理/产品经理
  • 开发工程、架构师等
  • 测试工程师
  • UI/UE
  • 运维工程师(DEVOPS)
  • DBA

测试工程师在需求评审中的主要职责是什么?

  • 确认自己对需求要有清晰的理解,没有疑惑
  • 确认需求文档的完整与正确性,能够指导后期的工作
  • 对需求中不合理的地方提出自己的修改意见

XX头条实名认证流程需求评审实战

第一轮需求评审

图1

  • 身份证正面照片与示例中的反面案例?
  • 包含身份证有效期的反面照不需要上传吗?

图2

  • 姓名与身份证号显示不对齐
  • 提示语位置超出界面范围
  • 识别后的姓名信息可以修改,但是证件号不可以进行修改

图3

  • 技术上存在疑惑,系统能实时给出实名认证判定结果?

图4

  • 认证通过以后应该是结束
  • 通过后,不需要返回上一步

图5

  • 认证不通过以后建议重新发起认证流程
  • 简化业务流程,认证失败后不需要返回上一步

第二轮需求评审

图1

  • 身份证的正反面的示例图片的修改

图6

  • 提示语错误,不应该是“支付失败”与实名认证完全无关

图1~图6

  • 流程节点(审核中)缺失,所有的图片都应该增加该节点状态
  • 当前节点提示不明确,当前节点始终是用户正在操作的唯一节点

图4

  • 节点状态应该是审核中,而不是验证完成
  • 提交处理,提示:等待处理时间为:xxx秒/分钟/小时/天

编写测试计划(测试方案)

主要内容

  • 测试的概要说明
  • 测试进度及轮次安排
  • 测试策略(方案)
  • 测试风险分析
  • 测试各项标准

4800字的APP手工测试 - 功能测试 - 移动端(一)相关推荐

  1. 《通往奴役之路》读书笔记及读后感作文4800字

    2019独角兽企业重金招聘Python工程师标准>>> <通往奴役之路>读书笔记及读后感作文4800字: 最近看的书是弗里德里希·奥古斯特·冯·哈耶克写的经济学著作< ...

  2. 百斗度输入法linux,斗字输入法安卓版-斗字输入法app下载-最火软件站

    斗字输入法安卓版是一款非常优质的手机输入法软件,用户不但可以通过这款软件来获取各种各样的文案发到自己的朋友圈,在聊天的时候还有很多有趣的快捷短语可以一键输入,省去自己打字的时间,想要连发的时候只需要一 ...

  3. 免费下载 | 超级APP背后的移动端技术大揭秘

    隔空手势操作.互动视频技术.人脸识别的弹幕跟随......优酷移动端的一路优化革新,无论是从用户体验还是技术上,都是名副其实的"超级APP".本章从 基础架构.组件化解决方案.播放 ...

  4. 怎么才能在APP里实现移动端车牌识别功能?

    随着移动通信技术和互联网技术的不断发展, 使手机成为了重要的生产和生活工具, 手机已经成为信息时代中最重要的信息来源.企业为了迎合市场需求,也纷纷加入了移动互联大军,到现在基于手机端的APP已经深入到 ...

  5. Axure高保真家政服务用户端app全局说明+家政服务员工移动端app+家政服务web端管理信息系统(订单管理+服务管理+报表统计+财务管理+营销管理+人员管理)

    作品介绍:把家政带入互联网,这也不算什么新鲜事了.这几年来,在手机下单,上门服务已经是常态.如今的消费已经是趋向于智能消费,例如不想做饭就可以叫外卖,出门不想开车就叫网约车.衣食住行可以靠一部智能手机 ...

  6. 微信app支付功能-服务端的实现-python3版

    微信app支付功能-服务端的实现-python3版 一:需求说明 二:微信app支付处理流程 三:所需依赖 3.1 支付配置 四:接口开发 4.1 创建订单接口 4.2 微信异步回调接口 4.3 订单 ...

  7. 支付宝app支付功能-服务端的实现-python3版

    支付宝app支付功能-服务端的实现-python3版 一:需求说明 二:支付宝app支付处理流程 三:所需依赖 3.1 依赖库 3.2 支付配置 3.2.1 沙箱环境配置 3.2.2 正式环境配置 四 ...

  8. 支付宝APP支付Java服务端

    支付宝APP支付Java服务端: 公司项目要求对接支付宝进行支付功能,这边做出整理方便以后使用(支付宝的支付对接还是很简单的). 1):去支付宝开放平台,-1.注册账号,2.创建应用 3.配置应用 4 ...

  9. Android安卓原生接入微信app支付PHP服务端

    Android安卓接入微信app支付PHP服务端 1.进入微信商户平台查看统一下单接口文档. 在查看完统一下单文档后,能够看到需要传递给微信"统一下单接口"地址的参数有哪些 统一下 ...

最新文章

  1. 【自然框架 NatureFW】里的两种“映射”方式
  2. 【Java小工匠聊密码学】-密码学--综述
  3. matlab算法时间复杂度,关于降低算法时间复杂度问题的探讨和总结
  4. python中类方法与实例方法的区别-Python中的对象,方法,类,实例,函数用法分析...
  5. Python zipfile 压缩文件夹
  6. 能拯救你的人也只能是自己
  7. recvfrom 无法接收 icmp 差错数据包_利用ICMP隧道技术实现C2通信
  8. 【恋上数据结构】计数排序
  9. LINUX修改.bashrc之后,生效的办法
  10. VRTK HTC手柄发出射线,瞬移,选择物体 VRTK和steamVR对应版本
  11. 华为交换机学习指南基于MAC地址划分VLAN
  12. python底层源码_python源码剖析——系列一
  13. 2017年电子设计大赛(B题 滚球控制系统)赛后总结
  14. 音频编解码之 G7221 编码器
  15. php更换wordpress用户头像,WordPress修改评论默认头像的方法
  16. html设置长宽高代码_CSS实现长宽比的几种方案
  17. 游客屈指可数的人间天堂――四千美岛
  18. arcmap实现洪水淹没分析
  19. Java帝国之宫廷内斗(2)
  20. sqlserver 2008 r2 误删数据库还原方法

热门文章

  1. CS224W摘要05.Label Propagation for Node Classification
  2. HarmonyOS/OpenHarmony按键设备键值
  3. 河北大学计算机学院杜瑞忠,杜瑞忠 - 河北大学 - 网络空间安全与计算机学院
  4. 如何用腾讯云打造一款微视频APP
  5. nginx 常见状态码源码分析
  6. 异常记录:MyBatis(方法异常)FUNCTION xxx.sum does not exist
  7. 前端女娲补天 CSS(五) 什么是雪碧图
  8. java手游 《剑心》_剑心无尘官方正版手游-剑心无尘官方正版手游安卓最新v1.4.3下载 - 手机迷...
  9. C++中的atan2与atan
  10. Upstream Consistent Hash