模拟器困境:移动应用测试能否在没有移动设备的情况下完成?

国家机构已经创建了各种应用程序,以满足公众的需求。当你加入移动第一趋势并开始开发闪亮的新移动应用程序时,你将需要进行测试。

有一些基本的问题必须回答:

  • 它是否正常工作?
  • 它在您的客户使用的不同移动设备上是否正常工作?
  • 所有的开发人员和测试人员都需要一些设备来集体测试应用程序?
  • 谁负担得起购买,支持和维护移动测试实验室所需的所有不同设备和设备操作系统组合?

非常幸运:你有很多替代品!

有许多类型的工具可以为建立自己的实验室提供替代方案。工具范围从允许你远程访问和测试每一个可能的组合的设备和操作系统的服务,到能模拟和/或模拟整个操作系统或仅屏幕尺寸和分辨率的许多免费工具。本文将重点介绍后者,从Testdroid,HP和Guru99收集的信息。

什么是仿真器和模拟器?

根据Quora,模拟器和仿真器,让你在一个环境中运行的软件,意味着另一个。这使我们能够看到移动应用程序的外观和功能,而无需使用实际的移动设备。好处是开发人员和测试人员都可以坐在台式计算机上,看看他们的应用程序的行为,而不需要购买和配置大量硬件,或者实际将应用程序部署到移动设备。

最流行的模拟器是Apple iOS的Xcode(下图,左图)和Android设备的Android SDK(下图,右图)。这两个工具都是由各自的操作系统厂商构建的,它们是免费的,相对可靠的,易于使用的,所以可以花一点时间来完成设置并正确配置。请注意,需要在计算机上拥有足够的物理资源来运行这些工具。

Xcode iOS仿真器  Android SDK仿真器
另一个选项是Chrome版本32及更高版本内置的轻量级Chrome设备模式和移动仿真工具(如下)。这使你可以看到响应式设计应用程序在各种不同的设备屏幕尺寸和分辨率上的外观。
Chrome仿真器

谁在使用仿真器和模拟器以及程度如何?

来自Sauce Labs发起的研究报告的下图显示了使用模拟器和仿真器的人的百分比,以及在多大程度上:

模拟器和仿真器使用人数饼状图
图示为“如何在移动平台上测试”的饼图? 其三个“切片”显示,29%的用户仅使用模拟器或仿真器,37%仅使用实际设备,34%使用实际设备和模拟器的组合(其中12%主要使用实际设备,大部分为9%使用模拟器或仿真器,13%使用仿真器和实际设备)。
这对你来说是惊奇吗?你适合哪个类别?

我应该使用仿真器和模拟器吗?

一般来说,使用仿真器和模拟器是增加测试广度的一种很好的低成本方式。

这些仿真器和模拟器对开发人员测试是最有价值的:早期检测,高水平的健全性和冒烟测试。最好在开发的最后阶段引入“真实”设备的子集进行测试。

以下是5类测试类,使用物理设备而不是仿真器进行更好的测试。

1、测试可用性,外观和感觉

模拟器可用于浏览应用程序并查看屏幕布局和演示,但真正的用户体验,外观和感觉只能作为客户在物理设备上进行适当测试。使用全尺寸的键盘和鼠标,使用触摸和手势物理浏览移动应用程序,这是完全不同的体验。

2、测试硬件组件

硬件测试是当今移动测试中面临的最大挑战之一。有数以百计的制造商,型号,屏幕尺寸和版本的移动设备,新的是每周出来。

最好的做法是开发优先的移动硬件设备样式,模型和版本列表,代表大多数客户使用的设备。使用这些设备进行常规测试和特殊测试,如内存使用,低电量和互操作性。

一旦物理测试了优先级设备,仿真器就可以用来提供一些其他屏幕分辨率和显示尺寸,这些尺寸可能是受欢迎的,但是你手头上没有。

3、测试相关软件

你的移动应用程序永远不会单独工作,并且始终与其他软件(包括多种操作系统软件类型和版本,多个Web浏览器)进行交互,并且只能与设备上安装的其他软件共存。所有这些软件正在竞争资源,需要在操作系统中正确配置。

一个最佳做法是开发优先级操作系统和浏览器优先级测试列表,类似于可用于测试桌面Web应用程序的Web浏览器优先级测试列表。

模拟器测试的一个很好的用途可能是在测试版或刚刚发布的新版本的操作系统上测试应用程序。虽然你可能无法获得最新的设备或升级现有设备,但是当客户的设备开始升级到新的操作系统版本时,这些工具可能会快速检查你的应用程序是否有任何问题。

4、测试网络

移动设备的独特之处在于它们使用无线和/或蜂窝网络。测试网络和连接包括中断测试,信号连接,网络无线电切换,OEM和运营商以及网络互操作性。这些类型的测试都不能使用仿真器正确完成,因为模拟软件使用了很多(如果不是全部)桌面计算机的连接。

5、应用程序特定测试

每个应用程序都不同。例如:如果你的应用程序大量使用本地设备功能(如GPS),可以使用仿真器进行初始测试,但是后续测试中应包含不同的物理设备和模型,以证明其正常运行。

如果您的应用程序具有响应式Web设计(RWD)或本机应用程序,则每个应用程序都有自己的不同挑战。

通常,RWD应用程序使用较少的本地设备功能,因此仿真器可能是有用的。例如,由于应用程序是基于浏览器的,因此有许多仿真器可用于在不同的屏幕尺寸和方向上查看应用程序。此外,许多移动浏览器中的一些可能安装在桌面上,你可以在其中测试兼容性。但是,即使使用RWD应用程序,也不要低估测试对物理设备的重要性。

本地应用程序更加不可预测,并且需要更多的物理设备测试,因为仿真器并不完全反映客户使用的操作系统。例如,Android APK中使用的普通的vanilla Android版本5.0与你的客户推送到他们的设备的Verizon或AT&T版本有很大的不同。利用所有这些“分裂”版本,关于安装(新增/升级)和物理设备卸载测试的额外测试变得非常重要,需要许多不同的操作系统和版本。

结论:

虽然仿真器和模拟器是测试人员和开发人员工具箱中非常棒的工具,但物理移动设备的测试将始终是开发和测试过程的必要组成部分。

节选译自ASHLEY WICHMAN AND DAVID FERN 的《The Emulator Dilemma: Can Mobile Device Testing Be Completed Without Mobile Devices?》一文。



留言