您的位置:首页 > 资讯中心

移动测试的独特特点

发布时间:2021-02-19 11:12:12      阅读量:167次     

许多移动开发和测试团队一致认为,将移动应用程序视为运行在较小设备上的同一软件是不准确的。事实上,移动应用程序测试服务与任何其他项目类型都有很大的不同。以下是我们如何看待移动软件测试的独特特性。

用户期望

移动软件之所以被称为移动软件是有原因的:这些应用程序可以随时随地工作。此外,可访问性是移动软件的一个关键特征。用户与移动设备的不同物理交互对开发人员、UI/UX设计人员和测试人员都有很大的改变。与此同时,全球的数字体验个性化趋势也增加了用户对他们选择安装的软件的期望。当个性化满足可访问性要求时,项目测试团队的需求可能会失控。

考虑到智能手机用户平均每6分钟检查一次手机,并期望应用程序在2秒内启动,我们可以自信地说,移动软件的用户需求远高于桌面和网络应用程序。下面列出了一些可以帮助应用程序所有者评估潜在用户期望的小窍门:

  • 投入时间和精力在目标受众的研究上;
  • 在项目的每个阶段分析潜在用户的需求;
  • 彻底研究竞争对手,并尽早做到这一点(理想情况下,甚至在你开始计划你的申请之前);
  • 清楚地定义您的应用程序将为安装它的人解决的问题;
  • 如果你没有动力使用你的应用程序,不要指望别人会使用你的应用程序;
  • 优先考虑应用程序的性能和易用性。

物理测试装置

移动软件测试的最大痛点之一是碎片--这个术语用来描述运行在不同操作系统上的许多不同物理设备的存在。而且,如果现在移动操作系统的数量在iOS和Android上几乎都结束了,那么每种操作系统的版本仍然很多。再加上大量的智能手机和平板电脑、旗舰设备和旧的但仍在使用的设备,你将得到无数影响应用程序性能的组合。这对移动测试人员来说是一个挑战:他们必须定义最常用的设备模型和操作系统版本,并记录可能的组合,以作为测试策略的基础。显然,这是不可能测试每一个组合,但使用最普遍的他们作为你的指导是必要的。

考虑到测试碎片的复杂性,选择彻底移动QA测试的团队通常更喜欢手头有实际的物理设备。仿真器可能很有用,但是像UI/UX和安装这样的东西很难用它们进行充分的评估。用户对应用程序的感知会根据屏幕大小、导航按钮(或手势)以及小工具的其他技术特性而发生剧烈变化。这是无法比拟的屏幕分辨率变化,或几英寸的差异,在个人电脑和笔记本电脑。我们这里的建议是为您的移动应用QA团队提供必要数量的物理设备,并确保您的目标不仅仅是最新的移动平台版本。

或者,您可以将资源外包给一个已经拥有多种物理设备的团队。

移动操作系统发布周期

除了碎片化之外,QA团队还必须考虑移动操作系统的发布周期。移动硬件制造商面临着令人难以置信的行业竞争,这迫使他们尽可能频繁地向我们投放创新。传统上,市场领导者每年都会展示他们的新旗舰移动设备。许多公司发布新的软件和他们的新硬件。总之,这为整个移动软件行业在用户界面、屏幕纵横比、导航工具和API方面建立了一个新的标准。

这种剧烈变化的一个很好的例子是iPhoneX和iOS 11发布了新的安全AreaInput值、手势界面、革命性的显示形状(也称为“屏幕边缘”)、图板大小、像素密度、新版式等等。看似不寻常甚至是不受欢迎的东西已经成为现代移动硬件的一个永久特征。计划开发一个移动数字产品,你必须平衡最近的操作系统版本和几个旧的版本。只是不要让过时的平台分散你的注意力,而不是那些你最应该关注的目标。

从测试的角度来看,iOS与Android有什么不同?

和这些操作系统一样,iOS和Android之间的不和也一直存在。撇开技术比较不谈,移动开发人员和测试人员必须提供功能完善的数字产品,而不管他们建立在哪个平台上。我们已经知道,这在很大程度上取决于软件测试实践。这对iOS和Android有什么不同吗?如果是,怎么做?下面列出了Android和iOS软件测试的核心因素。

定制化

与iOS不同,iOS完全由苹果公司(AppleInc.)发行,只能在苹果品牌的移动硬件(iphone、ipad等)上运行。在没有任何定制的情况下,Android在可定制操作系统功能方面的政策要民主得多。选择Android作为其产品核心的硬件生产商可以创建自定义用户界面,将Android核心移动架构隐藏在他们选择的设计模式之下。最著名的基于Android的定制用户界面包括三星的一个UI、华为的EMUI和小米的MIUI。所有这些不仅在美学上不同,而且在性能和速度上也各不相同。可以理解的是,当涉及到Android应用程序测试时,QA团队除了在设备和操作系统版本之外,还必须花费额外的时间检查不同用户界面上的性能和可用性。

开放与封闭系统

在代码库可访问性方面,这两个操作系统也显示出巨大的差异。IOS是一个基于XNU内核的封闭源代码系统.IOS中流行的编程语言有SWIFT、C、C++和Object-C。苹果移动软件开发标准相当严格,确保应用程序遵守这些标准是iOS应用测试团队的主要职责之一。而Android操作系统则拥有谷歌拥有的开源代码库,操作系统核心主要是基于Linux,用C和C++编写的。谷歌在软件开发和Android应用程序测试方面的政策一直是相当开放和欢迎工程师的。这并不意味着Android手机应用程序的测试和开发标准较低,但对GooglePlay贡献者的态度肯定更为宽松。在iOS移动测试中,应用程序更新在第一次尝试之后很少得到苹果应用程序审查小组的批准。

部署周期

由于苹果公司保持其移动操作系统的严格统一,与Android相比,iOS应用程序的部署过程通常要快一些。这是因为苹果试图在优化和性能方面保持目前使用的所有iOS版本的相似性。准备将iOS应用程序的构建上传到AppStore的阶段还需要遵循很多步骤,但对于任何iOS版本来说,这些步骤或多或少都是一样的。有了谷歌的操作系统,或者更好的说,每一款智能手机/平板电脑都没有收到最新的操作系统版本,也没有运行自定义用户界面(UI),Android应用程序测试服务还有更多的工作要做。

更新公差

应用程序更新是移动软件开发和测试的重要组成部分。苹果的AppStore更新审查和审批过程比谷歌的Play Market要长得多。等待你的应用程序的更新被批准可能是烦人的,但这并不意味着没有专业的严格的更新审查。尽管Android用户接收应用更新的速度更快,但更喜欢iOS小工具的人也不太可能看到他们最喜欢的应用因为测试不佳的更新构建而崩溃。这两种移动操作系统在更新时都需要软件测试人员的额外关注,但特别是对于Play Market,没有人会浪费太多时间检查您的特定更新是否值得发布。