《移动App测试实战》之【专项测试】

news2025/2/24 8:49:48

😄作者简介:小曾同学.com,一个致力于测试开发的博主⛽️,
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

为什么把这个章节单独拎出来,因为它特别特别的重要!!!

虽然一个产品经历了功能和性能测试,但是可能会出现一些 Crash、设备兼容、流量使用、电量问题等。这些问题在上述的测试中很难找出,所以就需要根据这些问题做针对性的测试。
在本篇文章中您将了解到兼容性测试、弱网测试、稳定性测试、流量测试、安全测试,节选自《移动App测试实战》这本书。

文章目录

  • 兼容性测试
  • 弱网测试
  • 稳定性测试
  • 流量测试
  • 安全测试

兼容性测试

兼容性测试本质上也是功能测试,只不过侧重在不同的软硬件环境

由于测试人力有限,不可能在有限的时间内覆盖所有的场景,所以要做到取舍,那么如何取舍呢?也就是如何圈定测试范围呢?其实针对不同的产品每个公司的做法可能不太一样,但目的只有一个:尽量覆盖该产品的主要用户
可能大家多多少少都会听过TOPX原则,那么什么是 TOP X 原则:是一种用于排序和筛选数据的方法,其中 X 表示一个数字,通常是具体的整数。TOPX 原则的目标是从数据集中选择出排名前X的最高或最佳项。需要注意的是,TOPX 原则只关注排名前X的项,可能会忽略其他未被选中的数据项。因此,在使用 TOPX 原则时,需要考虑数据的完整性和全面性,以避免忽略重要信息。
具体的实践可以分为两大类:

  • 借助第三方统计数据获取相关信息,如腾讯移动分析、友盟、Android 官网、iOS官网等,这种方式一般会运用在产品的初期;
  • 是在我们自己的APP移动端内运用埋点技术实现 app 的数据和分析,这种方式一般运用在APP 产品已经投放市场一段时间之后。

建议尽量获取自己产品的数据,因为业界给出的数据是汇总了很多不同类型的APP得出的结果。一般是APP内部埋点的方式。

针对APP兼容性测试通常会考虑以下方面:

  • 操作系统版本:高中低版本覆盖,需要紧跟高版本测试,比如 iOS17.4、Android15、微信浏览器等(目前版本为写文章时最高版本)。还有 Win7、Win10、Win11 的兼容性测试。根据埋点数据得到使用众数,再着重测试。
  • 屏幕分辨率:以 Android 为例,主流机型覆盖率 540p、960p、720p、1080p 等。如果代码没有对不同的分辨率做适配处理,可能会出现错位、遮挡、留白、拉伸和模糊等各种问题。
  • Android CPU 架构类型:目前常见的类型可能是 arm64-v8a,但是我们也要考虑 armv7 的兼容性,因为我们之前就遇到过在 armv7 设备上应用不可用问题。
    • 可以通过命令 adb shell getprop ro.product.cpu.abi 来查看 CPU 架构
  • 网络类型:一般情况下都是在 WI-FI 下测试,但是也要考虑 4G、5G 情况,还有网络之间的切换问题,因为我们之前就遇到过从WI-FI切换到4G应用卡死的问题。
  • 不同厂商的 ROM:这一点是书中提到的,但是在工作中貌似很少关注这块。
  • 浏览器兼容性问题:需要适配 Mac OS、Windows、移动端浏览器、当然还包括Safari、Chrome、火狐、QQ 浏览器、Edge 浏览器、微信内置浏览器、移动端自带浏览器等。

在兼容性测试方面书中的做法是:选择在少数主流设备上执行全量的用例,在其他兼容性范围内设备上覆盖主要功能的用例。书中还提到一个值得推荐的方法:为了更好地跟踪和了解进展,可通过一个表格的形式来维护不同功能点的兼容性测试情况。在bug管理方面,可以增加对应的选项,在测试人员提交bug的时候记录,以便后面进行统计和经验的总结。

弱网测试

小编主要是音视频测试,所以针对弱网测试是必不可少的。有一些问题是在复杂的网络情况下才会暴露,在测试中尽可能的模拟各种网络情况,这样可以及时发现和修复问题,从而提升用户体验。

针对iOS弱网测试可以采用手机自动的工具,可以参考这篇文章 : 软件测试之弱网测试工具

基于代理的弱网测试

推荐工具

  • Windows下的Network Delay Simulator(免费工具)

    • 基本原理:安装时会添加一个新的网络驱动,进而控制网络状况。
  • Mac下的Network Link Conditioner

    在这里插入图片描述

另外呢,可以在 Mac 中安装 Charles,以代理的形式连接电脑,在电脑中打开代理和弱网即可模拟移动端手机的弱网。

稳定性测试

之前我们的产品经常会出现各种崩溃问题,对于用户体验不是很好。所以这块就做了针对性的测试,比如反复加房离房、暴力测试、monkey 测试等。针对 Monkey 的测试可以参考这篇文章:App之Monkey测试,如果应用出现了ANR问题,一般情况下都要给研发提供日志,所以日志的获取就尤为重要,具体的操作可以参考这篇文章:Android ANR日志获取

流量测试

在这部分作者详细介绍了流量的获取和常见的流量节省方法,因为小编所在公司的产品不会关注流量问题,所以有兴趣的小伙伴可以自行去查看。

常见的流量节省方法:

  • 数据的压缩

  • 缓存

  • 不同数据格式的采用

    比如采用 JSON格式作为接口数据返回格式通常比XML格式小。

  • 控制访问的频次

    这里是引用主要是针对后台数据上报,push消息检查等定时机制。

  • 只获取必要的数据

    这里是引用就是用户浏览到哪里,当前数据才会被自动加载。

  • 针对不同网络类型设计不同的访问策略

    主要是用户对于在移动网络下 流量消息比较敏感,而在Wi-Fi下无所谓的现象,可以通过不同的策略来控制,通过判断当前的网络状况,控制访问的频率、预加载策略和图片等质量等。就比如我们平时手机上有Wi-Fi下自动加载或者自动下载等功能。

安全测试

可能需要考虑以下几点,有兴趣的小伙伴可以详细看下书籍,因为小编在工作中尚未接触过安全测试,所以暂时没有发言权。

  • 能否反编译代码
  • 安装包是否签名
  • 完整性校验
  • 权限设置检查及权限测试
  • 敏感信息测试
  • 账户安全
  • 数据通信安全
  • 服务端接口测试
  • 软键盘劫持:如果用户安装了第三方软键盘,那么当用户使用第三方软键盘输入一些敏感信息时,输入的内容就能被第三方软键盘截获,如果第三方软件包含恶意代码,可能会引起用户数据被盗取的风险。(比如我们在手机上输入银行卡密码时,系统会自动切到内置软键盘。)

在本篇文章中因为小编的工作性质,所以着重分享了兼容性、稳定性和弱网测试方面的内容。这里所分享的专项测试并不全面,具体的测试情况还需要根据产品的特性展开测试,还有很多的测试技术和方法值得去探索,加油吧小伙伴们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源的OCR工具基本使用:PaddleOCR/Tesseract/CnOCR

前言 因项目需要,调研了一下目前市面上一些开源的OCR工具,支持本地部署,非调用API,主要有PaddleOCR/CnOCR/chinese_lite OCR/EasyOCR/Tesseract/chineseocr/mmocr这几款产品。 本文主要尝试了EasyOCR/CnOCR/Tesseract/PaddleOCR这…

性能分析调优模型

性能测试除了为获取性能指标外,更多是为了发现性能瓶颈和性能问题,然后针对性能问题和性能瓶颈进行分析和调优。在当今互联网高速发展的时代,结合传统软件系统模型以及互联网网站特征,性能调优的模型可以归纳总结为如图1-5-1所示的…

ClickHouse--13--springboot+mybatis配置clickhouse

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ClickHouse1.添加maven依赖2.配属数据源3.参数配置4.Druid连接池配置5.entity6.Mapper接口7.Mapper.xml8.controller接口9.创建一个clickhouse表10.测试 ClickHouse…

day04vue学习

day04 一、学习目标 1.组件的三大组成部分(结构/样式/逻辑) ​ scoped解决样式冲突/data是一个函数 2.组件通信 组件通信语法父传子子传父非父子通信(扩展) 3.综合案例:小黑记事本(组件版&#xff09…

基于python的线上购物商城系统

技术:pythonmysqlvue 一、系统背景 如今的时代是信息化的时代,更种信息大爆炸。人们的基本工作生活中都离不开网络和计算机,现如今各类网站、管理系统、app都快速发展,为人们带来更便捷的生活体验。网站类的系统有宣传类网站、企…

Unity类银河恶魔城学习记录11-2 p104 Inventoty源代码

此章节相对较难理解,有时间单独出一章讲一下 Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili InventoryItem.cs…

一文了解Python中的运算

Python的运算符和其他语言类似 数学运算 >>>print 19 # 加法 >>>print 1.3-4 # 减法 >>>print 3*5 # 乘法 >>>print 4.5/1.5 # 除法 >>>print 3**2 # 乘方 >>>print 10%3 # 求…

equals与时间序列攻击

引言 随着信息技术的迅速发展,网络安全和隐私问题变得愈发重要。黑客和攻击者不断寻找新的攻击方法,其中之一是时间序列攻击(Timing Attack)。时间序列攻击是一种侧信道攻击,攻击者试图通过测量程序的执行时间来推断程…

施工方项目管理软件哪个好?找企智汇施工项目管理软件!

施工方项目管理软件市场上确实存在多个选择,每个软件都有其独特的特点和优势。而在这些选项中,企智汇施工项目管理系统以其卓越的性能和丰富的功能脱颖而出,成为众多施工方的必选软件。 企智汇施工项目管理系统在项目管理方面表现出色&#…

【C++】用红黑树模拟实现set、map

目录 前言及准备:一、红黑树接口1.1 begin1.2 end1.3 查找1.4 插入1.5 左单旋和右单旋 二、树形迭代器(正向)2.1 前置 三、模拟实现set四、模拟实现map 前言及准备: set、map的底层结构是红黑树,它们的函数通过调用红…

[已解决] vscode 跳转 python 代码失败

linux 环境下,"Ctrl 单击" 跳转函数定义失败,可以尝试下面的方法: setting -> 输入 go to definition -> 将下列两项配置改为 goto (不过当存在多个同名函数时,可能跳转会不符合预期)

Vulnhub靶机渗透:DC-7打靶记录

前言 自信自强,来自于不怕苦、不怕难的积淀。宝剑锋从磨砺出,梅花香自苦寒来;任何美好理想,都离不开筚路蓝缕、手胼足胝的艰苦奋斗! 靶场介绍 DC-7是一个初中级的靶场,需要具备以下前置知识:…

联发科MT8797迅鲲1300T规格参数_MTK5G安卓核心板方案定制

联发科MT8797(迅鲲1300T)平台采用Arm Cortex-A78和Cortex-A55组成的八核架构CPU,以及Arm Mali-G77MC9九核GPU,集成了AI处理器MediaTek APU,支持5G Sub-6GHz全频段和5G双载波聚合,支持1.08亿像素拍照和多镜头组合,以及1…

每日五道java面试题之mybatis篇(五)

目录: 第一题. 实体类属性名和表中字段名不⼀样 ,怎么办?第二题. Mybatis是否可以映射Enum枚举类?第三题. Mybatis能执⾏⼀对⼀、⼀对多的关联查询吗?第四题. Mybatis是否⽀持延迟加载?原理?第五题. 如何获…

SAP HCM 读取上月考勤结果

转移前一期间都是累计读取上一个月de 数据,例如现在是4月,系统就会读取123月的累计 如果想只读取上个月的数据,就要设置前一期期间余额 因为一月只有31天 现在看3月 因为二月只有29天 2004年

软件设计师18--IO管理软件

软件设计师18--IO管理软件 考点1:IO管理软件例题: 考点1:IO管理软件 例题: 1、I/O设备管理软件一般分为4个层次,如下图所示。图中①②③分别对应(D)。 A、设备驱动程序、虚设备管理、与设备无关的系统软件…

Java13_反转字符串中的单词 III(方法二String转换成字符数组)

反转字符串中的单词 III 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入:s "Lets take LeetCode contest" 输出:"steL ekat edoCteeL tset…

退休人员档案管理系统

退休人员档案管理系统是一种用于管理退休人员档案信息的软件系统。该系统可以实现退休人员档案的录入、查询、修改、删除和统计等功能,方便管理人员对退休人员档案信息进行有效管理。 玖拓智能退休人员档案管理系统可以通过录入退休人员的个人信息、退休时间、退休单…

循环链表的用法

7.设 数 组 data[m] 作 为 循 环 队 列 SQ 的 存 储 空 间 ,front 为 队 头 指 针 ,rear 为 队 尾 指 针 ,则 执 行 出 队 操 作 后 其 头 指 针 front 值 为 ( ) A.frontfront1 B.front(front1…

MyBatis是纸老虎吗?(三)

上篇文章——《MyBatis是纸老虎吗?(二)》——梳理了MyBatis的执行流程,这篇文章想详细聊聊MyBatis的解析过程。当我把这个想法讲个同事时,他不可置信的说道:“这有什么好梳理的?难道你要介绍xml…