• 0
  • 0
分享
  • 头条App项目测试实战——软件测试圈
  • 饭团🍙 2021-02-20 13:33:12 字数 3033 阅读 2949 收藏 0

APP概念

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

APP测试范围

APP测试分类

  • 业务功能测试

  • APP专项测试

  • 兼容性测试

  • 安装、卸载、升级测试

  • 交叉事件测试

  • Push消息推送测试

  • 性能测试

  • 其他测试

  • 用户体验

  • 极限、边界

  • 权限

业务功能测试

概念

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

测试对象

  • 功能点(单独模块)==》单元测试

  • 多模块==》集成测试

  • 业务流程==》系统测试、验收测试、冒烟测试

测试方法

  • 测试理论阶段与测试用例设计方法等即适用于WEB产品,也适用于APP产品。

  • 理论阶段设计测试用例8大方法:

  • 等价类

  • 边界值

  • 因果图

  • 判定表

  • 场景法

  • 流程图

  • 正交法

  • 错误推测法

  • 项目阶段适用的测试用例设计方法:

  • 等价类与边界值组合

  • 需求==》测试点==》测试用例(一个测试点就是一条测试用例)

  • 基于场景与业务流程设计测试用例

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

概念

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

测试关注点

手机型号

  • 参考在线统计数据:

  • 腾讯移动分析

  • 百度研究院

操作系统

  • Android

  • 4.X

  • 5.X

  • 6.X

  • 7.X

  • 8.X

  • 9.X

  • iOS

  • 11.X

  • 12.X

屏幕分辨率、尺寸

屏幕分辨率

  • Android

  • 1080x1920

  • 720x1280

  • IOS

  • 2208*1242

  • 1334*750

  • 尺寸

  • 4.7

  • 5.5

网络环境

  • wifi

  • 2G

  • 3G

  • 4G

  • 5G

测试机的选取原则

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

  • 借助testin等云测平台(https://www.testin.cn/business/landing/machine.htm)

  • 模拟器

  • Genymotion(http://www.genymotion.net/)

  • Xcode

信息的获取渠道(扩展)

  • 第三方在线统计排名(腾讯移动分析、百度研究院等)

  • 官方数据(android、ios的官网)

  • 埋点技术(技术手段)

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使用时,电量流量的消耗情况;

  • 反复长期的操作情况下,系统资源的使用情况。

面试题(扩展)

内存溢出与内存泄漏

  • 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;

  • 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光;

  • 二者的关系:memory leak会最终会导致out of memory!

冷启动与热启动

  • 指app被后台杀死后,在这个状态打开app,这种启动方式叫做冷启动;

  • 热启动:指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发布平台

内测分发平台

工作流程

  • 开发将打好的程序包上传到内测分发平台上

  • 内测分发平台基于上传的安装包生成唯一的二维码

  • 测试扫描此二维码即可进行下载、安装并测试

常见的内测分发平台

  • 蒲公英

  • fir.im

线上发布平台

  • Andriod

  • 应用商店(华为、小米)

  • 豌豆荚

  • 360手机助手等

  • ios

  • APP Store

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

敏捷开发模式(了解)

前置基础

  • 瀑布模型

  • 快速原型

互联网的特点

  • 追求创新

  • 需求的高度不确定性

移动互联网的解决方案

  • 快速的反馈机制

  • 快速试错

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

敏捷开发模式

Scrum

角色

  • 产品负责人(PO):主要是负责整理需求,需求的呈现形式为用户故事

  • Scrum Master(SM):负责带领团队完成相关任务

  • 开发团队(Dev Team)

  • 开发

  • 测试

  • UI/UE

输出物

  • 产品待办列表(用户故事)

  • 迭代待办列表

  • 产品增量(可工作的软件)

5个活动

  • 迭代(冲刺)sprint

  • 迭代计划:确定迭代待办列表内容

  • 每日站会

  • 评审会

  • 回顾会

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

  • 需求分析与评审

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

  • 设计测试用例与评审

  • 执行测试用例与缺陷跟踪

  • 编写测试报告


作者:一醉南柯

原文链接:https://blog.csdn.net/dpl12/article/details/104426556#comments_14970879

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 接《“我现阶段最在乎的是如何提升自己”(上)》,原文可在本人主页查看~通过什么提升?理论+实践。理论更多解决知识、态度问题,实践更多解决技能、经验问题。理论怎么提升?要读原著、学原文、悟原理,要学经典理论,要学榜样。学什么理论?经典理论,常识理论,就是千百年来大家公认的理论。哲学理论需要有,唯物辩证法需要有,公司的基本法需要有,部门的历史需要有,部门大事记需要了解,公司大事记需要了解,并列部门大事记需要了解。这些,应该能提升我们的理论认识水平。实践怎么提升?事上磨,事上练。领导交办的每一件事情,都拿出120分的热情来办,都拿出全力以赴来办,都拿出满怀的热忱来办。都遵循“凡事预则立不预则废”,都...
            1 1 760
            分享
          • 对于网站开发,压力测试是少不了的。压力测试可以对网络,服务器,系统架构的优化程度进行检验。以便提前知道网站的负载能力,并未优化提供依据。对于网站的压力测试,基本离不开下面两点的测试:web页面访问的压力测试和java接口的压力测试(我们接口是通过websocket实现)。web页面访问压力测试工具可以使用apache自带的ab命令进行检测;java websocket接口的压力测试可以使用Jmeter+websocket插件进行检测。ab安装与使用一、下载软件下载地址:http://de.apachehaus.com/downloads/httpd-2.4.17-x64.zip二、进入软件路径...
            0 0 941
            分享
          •   想从事软件测试行业,但又怕踩坑。新人测试入门是很简单,但是要想立足在测试行业,单靠入门是远远不够的。作为一名在测试行业踩过无数的坑的测试媛,给你支两招。  第一招:用学历打开求职大门  学历一直是找工作的敲门砖,所说软件行业对学历的要求相对较低,但是一些大厂的最低标准都是一本。有一个好学历你就比别人多了一个工作的机会。  我有个同事求职去美团,技术面都过了,却败在了hr这边,原因就是学历和专业的问题。所以那些还在学校的小伙伴们,学习真的很重要啊!以及一些专科的同学抓紧时间去考个成人本科!  第二招:抓住去大公司的尾巴   正准备从事软件测试的朋友们,是不是有了offer不知道该怎...
            9 9 3159
            分享
          •   在各种各样的公司或岗位上,有着三种人:遵守规则、见识规则、搭建规则的人。  大多数人都处于遵守规则的阶段,也就是执行人员,不论开发、测试等岗位,根据当前的管理体系去熟悉去适应去执行。  小部分人见识过各种各样的规则,这取决于不同公司的规模,为什么大多数公司喜欢大厂背景的人才,就是因为他们见识过完善的制度体系,学习能力快、人员素质高等原因。  最后很少一部分人处于搭建规则,当然搭建规则的人必须有个前提——见识过规则。  每一个公司都有自己的制度流程,从别的地方复制粘贴过来的并不完全能够运行下去,中间会出现各种各样的问题,最后导致断层问题,在不断改进后形成自己的规则体系,使公司更好地运行下去。...
            0 0 1297
            分享
          • index:比较两列表元素(不考虑顺序,不考虑重复);调get型数据库接口,循环造数据(示例);连接操作mysql数据库;多进程执行pytest UI脚本(示例)。1、比较两列表元素(不考虑顺序,不考虑重复)def compareList(list1, list2):     """比较列表元素,不考虑顺序,不考虑重复"""     if sorted(set(list1)) == sorted(set(l...
            0 0 1118
            分享
      • 51testing软件测试圈微信