一个移动应用的生命周期分为不同的阶段,从它的第一行代码到提交请求。在这些阶段中,创建应用程序的关键之一是其测试。这个领域承担着质量的责任,并在申请上加盖印章,以保证没有风暴会破坏它。
在本文中,我们将讨论完成移动应用程序测试时的重要事项。例如,为什么有些应用程序表现出更高的信任度,而有些应用程序甚至在通过相同的测试阶段后却没有?究竟是什么细微的差别,可以使一切变得不同?我们可以做些什么来使“测试”正确?
在探索这些问题的答案并分析其影响之前,让我们了解为什么在多个设备上测试移动应用程序很重要。
为什么要在多个设备上测试您的移动应用程序?
智能手机已经成为我们生活中不可或缺的一部分。但是,每个平台都有自己的一组启动应用程序的参数,每个应用程序在特定平台或操作系统上执行不同的操作或功能。根据一项调查,不兼容或普通的移动应用在应用安装后三天内会失去大约 77% 的每日活跃用户。
该过程涉及大量时间、精力和成本,使组织更难面对应用程序故障。
操作系统碎片
根据 Statista,Android 拥有 72.73% 的市场份额,而 iOS 拥有 26.42% 的市场份额。大多数(约 70%)应用程序故障与应用程序与设备操作系统版本的兼容性以及操作系统的制造商定制有关。
以上数据显示,Android 的市场份额高于 iOS。操作系统碎片是由于不同的操作系统版本而发生的。Android和iOS都有不同的版本。开发人员需要确保他们的移动应用程序可以在所有不同版本的操作系统(Android 或 iOS)上运行,以提供无缝的用户体验。
设备碎片化
大约 30% 的 Android 应用程序故障是由于应用程序不兼容造成的。设备碎片化是由于各种设备的可用性而发生的,它被认为是测试矩阵中最具挑战性的部分。由于 CPU、内存、屏幕分辨率、传感器、芯片组等不同的硬件参数,要确保同一应用程序在同一产品系列的另一台设备上完美运行并不容易。
因此,执行跨设备测试以确保我们的应用程序在不同设备、屏幕分辨率和配置上无缝运行变得至关重要。
现在让我们来看看移动浏览器。移动浏览器也可能很棘手!许多移动浏览器,如 Chrome、Firefox、Edge、Opera、Safari 等,针对不同的操作系统有不同的浏览器版本。
那么正确的做法是什么?维护我们的内部设备实验室?
答案是不!内部物理设备实验室是一项繁琐的维护和管理任务,因为每台设备都呈指数级增长。要覆盖市场上所有突出的设备,您需要创建正确的设备矩阵。
基于设备参数:根据操作系统版本、屏幕分辨率、制造商、运营商、CPU等参数选择设备矩阵。
基于设备流行度:选择市场份额最高的设备。
选择目标设备矩阵后,您可以选择一个真实的设备云,以确保每个应用程序都经过优化,可以在不同的设备上完美运行。真实设备云是获得准确测试结果的最佳选择,可在真实条件下测试您的原生移动应用程序。
事先确定您的设备
从 1997 年在诺基亚发布的一个简单的“蛇”游戏,我们已经转向了高质量的移动应用程序,这些应用程序是许多企业的生命线。然而,即使每个应用程序都是独一无二的,你仍然有很多竞争,应用程序游乐场是残酷的。为了弄清楚我们的事实,今天,当我们在 Google Play 商店上提交移动应用程序时,我们只是现有应用程序的 350 万分之一。尽管如此,我们可以投入时间并尽最大努力将我们的想法变为现实。
良好的用户体验是每个应用成功故事背后的秘密要素。因此,大多数成功的应用程序都有可靠的测试流程和策略,以确保以最高质量交付应用程序。并且无论用户使用什么设备,这种质量都应该对所有用户保持一致。因此,您必须在用户可能使用的所有主要设备上测试您的应用程序。
不可能在市场上所有可用的设备上进行测试。“Whatsapp 今年停止支持 4.1 之前的 Android 版本”,由于旧版本缺乏功能,这类头条新闻登上了科技新闻的头版。如果每台设备都支持您提供的功能,那就太好了,但这种情况很少见,因为我们在 2021 年已经取得了长足的进步,仍然有4% 的人在使用 Android 4.4。
因此,最好的方法是阅读文档并了解您的功能所需的 Android 版本。这最终将有助于建立一个稳定的设备矩阵。例如,日历API提供了与日历相关的功能,比如日历事件等。但是这个API是在Android 4.0版本中引入的,如果你使用它,Android 4成为你最低要求的操作系统。
功能支持
如上一节所述,功能支持将帮助您确定将包含在浏览器兼容性矩阵中的设备。
市场份额
市场份额将帮助您评估必须包含在矩阵中的设备。操作系统也是如此。由于移动设备价格昂贵,而且制造商很少提供超过三个主要更新,因此许多人会卡在旧版本上。因此,假设大多数人都在使用最新的 Android 版本可能会产生误导。从下图中也可以看出这一点:
此图显示 Android 10 的使用率高于 Android 11。此外,Android 6.0 仍占所有 Android 份额的 4.03%。这可能是由于每个制造商都没有向他们的设备提供即时的 Android 版本发布。例如,三星进入 Pixels 后,通常需要两到四个月的时间才能在三星设备上发布 Android 版本。
谷歌分析
移动应用程序测试的下一阶段是分析 Google Analytics(分析)结果,向您展示哪些设备最有可能访问您的应用程序。当您已经有一个网站正在运行并且现在正在转向移动应用程序时,可以使用此选项。如果可用,您还可以查看竞争对手的分析。
决定模拟器还是模拟器
最后,当一切都完成并且您已经创建了包含您将在其上执行测试的设备的矩阵时,您需要选择要选择的设备类型。最好的选择是使用真实设备,但这是一个昂贵的选择。您可能必须购买每台设备并创建一个实验室,这将消耗大量时间和金钱。
另一种选择是使用虚拟设备。虚拟设备有两种,模拟器和模拟器。要了解有关它们的更多信息,本模拟器与模拟器指南将为您提供帮助。建议通过异同来了解在这方面哪种策略适合您。
对工具有清晰的认识
工具将是翻译您的测试脚本并将其转换为预期操作的主要桥梁。作为从事移动应用程序测试策略的测试人员,您永远不能冒险与该软件成为朋友的机会。对工具的清晰理解不仅会提高您的效率,还会增强您对测试质量的信心。但是,您如何正确执行此策略?
整理您的需求
为了使您的移动应用程序测试策略正确,您必须了解所有工具都是不同的。即使两个工具建立了相同的目标,操作它们的人也可以看到它们的差异。从池中消除大量工具的最佳方法是在项目中组织所需的标准。这些可能会根据您正在处理的项目(移动应用程序)而有所不同。例如,如果您正在开发一个混合应用程序,则需要对原生 API 和浏览器 API 进行很好的测试。除此之外,您还可以考虑集成测试、端到端测试等。
考虑团队的技能
一旦在一个地方收集和组织了需求,下一步就是评估您的团队及其所具备的技能。最好的方法是始终使用您的团队熟悉的工具。不过,只有当该工具在入围名单中可用时,才会出现这种情况。在组织中采用新工具可能会产生额外的团队培训成本。但是,如果您的需求需要特定的工具,那么您永远不应该回避采用新技术。
始终考虑现有的工具框架
现有的工具框架提供了几种方法来制定正确的移动应用策略。首先,如果您的项目之前已经过测试,那么您的团队已经具备了该工具的挑战。如果继续使用相同的工具是正确的,您可以与队友讨论或分析自己。
如果您在团队中采用更新的工具,请根据您使用的现有框架对其进行评估。采用这种方式是首选,因为团队采用新工具的唯一原因是他们无法对现有工具进行操作。换句话说,某些挑战不能基于项目来克服。因此,以现有框架为基准将帮助您设计一种可以弥补先前框架漏洞的策略。
虔诚地记录
文档不仅是完善您的测试策略的重要步骤,也是其他软件开发阶段的重要步骤。移动应用程序测试也是如此。虽然文档不是核心“测试”或“编码”部分,但它与创建移动应用程序测试策略一样重要。只关注实际测试部分而忽略文档的态度会增加成本,浪费大量时间,并在未来产生很多问题。
现在我们脑海中的问题是,“记录什么,忽略什么?” 这个问题有两个部分——要创建什么文档以及每个文档应该包含什么内容。我将首先回答第二个问题,因为它很简单。您是否觉得某些内容对文档“重要”或“相关”并不重要;引导您进行移动应用程序测试的所有小事都需要记录在案。有时,添加诸如“使用的语言”之类的幼稚内容似乎确实无关紧要,认为测试人员会通过语法识别它。但是,所有这些都可能成为某人的重要组成部分,例如交付经理,他正在为该项目雇用某人并且一生中从未编程过。
另一个问题是,在建文档的过程中要创建哪些文档?答案由 IEEE 给出,它分享了测试项目的相关和重要文件。这些如下:软件需求规范文件、测试设计文件、测试用例规范、测试程序规范、测试策略、测试总结报告、测试日志文件、测试计划文件、错误报告文档、测试数据文件、测试事件或问题报告、测试分析
文档完成后,您无需考虑将来的某些测试并在它们上浪费时间。最重要的是,测试文档为培训新员工提供了极好的材料,并帮助他们更快地开始项目。
一致的测试框架
如今,自动化测试框架正在蓬勃发展,并且现在具有跨平台能力。借助跨平台移动应用测试平台,可以在 Android 和 iOS 应用上运行相同的测试。使用这样的框架是一个很好的策略,因为它节省了时间并且提供了效率。
使用单个测试脚本在后面工作,您可以在一个地方编辑测试,并更多地关注新的测试脚本开发,而不是编写重复的测试脚本。使用此类框架也将帮助您减少未来的工作。
划分自动化测试
在软件开发生命周期中引入了自动化测试,以节省时间并消除重复性任务。但是,要建立这些目标,我们必须确定要让系统承担什么并自己处理。换句话说,如何划分我们的自动化测试以在测试移动应用程序时提高效率。
如果项目有点相似,您可以在不查看它们的情况下运行回归测试。然而,这并不总是正确的。即使项目有些相似,看一眼测试也可以发现某些不相关或在执行后会变成红色的案例。您还可以通过在系统上通宵运行测试并在您的控制下执行其他测试来划分测试。根据我的经验,我一直发现每个项目都是独一无二的。您可能会得到一些相似之处,但您永远不能在两者之间跳过一步。因此,在开始之前,请仔细将您的测试分成不同的部分,因为当您的移动应用程序经过后续版本时,这些部分可能会继续。
Beta 测试总是有帮助的
最近我收到关于 Google Task Mate 处于 Beta 阶段的通知。几周前,一款流行的移动应用程序“PUB-G”因在 Play 商店发布测试版而成为头条新闻。我同意这些头条新闻在几年前相当罕见,但在 2021 年并非如此。
在早期,组织过去常常提供他们的 beta 测试应用程序来选择候选人(很少)并支付他们的贡献。作为可用性测试的一个有点并行的过程。这种方法今天仍在沿用,但规模很大,跨越多个国家、时区和一大群人。底线 - Beta 测试是完善您的移动应用策略的一大步。那么,它有什么帮助呢?
您将了解可能已进入生产环境的应用程序的错误和缺陷。因此,您的应用程序向大众交付时不会出错。然而,这种策略可以被视为整个业务的优势。如果我专门为测试人员说话,那么 beta 测试可以让他们免于从用户那里收到的大量缺陷的繁重工作中。想象一下,如果一个应用程序由于某些真正的原因而在一个从未经过测试的操作系统中崩溃,工作量将如何增加。据我说,如果你正在寻找一个完美的移动应用测试策略,你需要在你的箭袋里放上这个箭头。
总结:你的完美组合是什么?
每月在 Google Play 商店中发布的 Android 应用程序数量在8 万到 14 万之间。我相信不是每个人都会同意我的观点,并遵循本文中描述的相同策略。
卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价
部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲 电话:4006070568