Mobile Testing 简明教程

Mobile Testing - Emulator Vs Simulator

在移动测试中有一点是不言自明的。要执行移动测试,你需要一个移动设备。这是为了了解我们的产品如何在给定的移动设备上运行和呈现。

假设我们要为机票预订系统开发一个应用程序。一旦产品完全开发出来,作为移动测试的一部分,我们需要检查应用程序能否在所有主要使用的设备(如 Android 手机、iOS、Blackberry 手机和其他不同类型的平板电脑和 iPad)上按预期工作。

为了执行这种检查,我们需要获取每一款此类设备,然后我们可以检查应用程序是否按照期望的那样执行。是的,你猜对了,作为一个产品所有者,肯定会觉得购买如此大量的移动设备并进行测试非常昂贵。那么是否有任何可行的智能替代方案?

这个问题的解决方案是使用移动模拟器和移动仿真器。这些主要是软件程序,旨在为智能手机的重要功能提供模拟。它们在本质上非常相似,因此有时它们可以互换使用。

让我们比较一下在仿真器/模拟器上测试与在真实设备上测试有何不同 −

Real Device

Emulator / Simulator

Price

获取真实设备将花费你很多钱。

它几乎是免费的,我们只需要下载并安装它们即可

Processing Speed

它的处理速度更快;但是网络延迟可能是正常的。

它比实际设备要慢。已经观察到,它比连接到本地网络或云中的真实设备的延迟更少。

Debugging

调试并不是那么容易。

它提供对应用程序的分步调试。此外,它还提供了一种有效的截屏方式。

Web-app Testing

网络应用程序可以按正常方式进行测试。

测试网络应用程序要容易得多。

Reliability

在真实设备上进行测试有一个主要优点,即它始终提供准确的结果。

它无法模拟所有类型的用户交互;因此,它有时可能会导致错误的结果。因此,在可靠性方面得分较低。

模拟器/仿真器无法模拟以下功能 −

  1. Mobile device battery

  2. Mobile device’s camera

  3. 难以模拟诸如来电和短信等中断。

  4. 算不上对移动设备内存使用情况的真实模拟。

接下来我们深入了解移动模拟器和移动仿真器。两者之间存在着特定的差异。下表列出了模拟器和仿真器之间的主要区别。

Emulator

Simulator

What it mimics

移动设备软件移动设备硬件移动操作系统

设备内部行为。它不会模拟硬件。

How to get it

通常由设备制造商提供。

通常由设备制造商或其他公司提供。

Internal structure

它使用机器级别的汇编语言编写。

它使用高级语言编写。

Debugging

它更适用于调试。

它不适用于调试目的。

Performance

仿真器非常慢。模拟真实硬件通常会使软件运行速度比本地运行速度慢。

Faster than emulators.

Example

Google’s Android SDK

Apple’s iOS Simulator

那么,移动测试的最佳选择是什么?最佳实践表明,在实际开发过程中,我们应该使用仿真器或模拟器。在完成产品之前,应该使用选定的真实设备进行健全性检查。例如,Android 智能手机用户数量庞大,因此明智的选择是对最新的 Android 设备进行健全性检查,并且可以在模拟器上进行回归测试。