Mobile Testing 简明教程
Mobile Testing - Emulator Vs Simulator
在移动测试中有一点是不言自明的。要执行移动测试,你需要一个移动设备。这是为了了解我们的产品如何在给定的移动设备上运行和呈现。
假设我们要为机票预订系统开发一个应用程序。一旦产品完全开发出来,作为移动测试的一部分,我们需要检查应用程序能否在所有主要使用的设备(如 Android 手机、iOS、Blackberry 手机和其他不同类型的平板电脑和 iPad)上按预期工作。
为了执行这种检查,我们需要获取每一款此类设备,然后我们可以检查应用程序是否按照期望的那样执行。是的,你猜对了,作为一个产品所有者,肯定会觉得购买如此大量的移动设备并进行测试非常昂贵。那么是否有任何可行的智能替代方案?
这个问题的解决方案是使用移动模拟器和移动仿真器。这些主要是软件程序,旨在为智能手机的重要功能提供模拟。它们在本质上非常相似,因此有时它们可以互换使用。
让我们比较一下在仿真器/模拟器上测试与在真实设备上测试有何不同 −
Real Device |
Emulator / Simulator |
|
Price |
获取真实设备将花费你很多钱。 |
它几乎是免费的,我们只需要下载并安装它们即可 |
Processing Speed |
它的处理速度更快;但是网络延迟可能是正常的。 |
它比实际设备要慢。已经观察到,它比连接到本地网络或云中的真实设备的延迟更少。 |
Debugging |
调试并不是那么容易。 |
它提供对应用程序的分步调试。此外,它还提供了一种有效的截屏方式。 |
Web-app Testing |
网络应用程序可以按正常方式进行测试。 |
测试网络应用程序要容易得多。 |
Reliability |
在真实设备上进行测试有一个主要优点,即它始终提供准确的结果。 |
它无法模拟所有类型的用户交互;因此,它有时可能会导致错误的结果。因此,在可靠性方面得分较低。 |
模拟器/仿真器无法模拟以下功能 −
-
Mobile device battery
-
Mobile device’s camera
-
难以模拟诸如来电和短信等中断。
-
算不上对移动设备内存使用情况的真实模拟。
接下来我们深入了解移动模拟器和移动仿真器。两者之间存在着特定的差异。下表列出了模拟器和仿真器之间的主要区别。
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 设备进行健全性检查,并且可以在模拟器上进行回归测试。