- 移动测试教程
- 移动测试 - 首页
- 移动测试 - 概述
- 移动测试 - 平台
- 移动测试 - 设备类型
- 原生应用、混合应用与移动网页应用
- 移动测试 - 设备与应用
- 模拟器与仿真器
- 移动测试 - 应用
- 移动测试 - UI
- 移动测试 - 计划与工具
- 硬件视角
- 移动设备测试 - 类型
- 移动测试 - 框架概述
- 移动测试 - Android框架
- 移动测试 - iOS框架
- Robotium框架
- Selendroid框架
- 移动测试 - Appium框架
- 移动测试 - Zucchini框架
- 移动测试有用资源
- 移动测试 - 快速指南
- 移动测试 - 有用资源
- 移动测试 - 讨论
移动测试 - 模拟器与仿真器
移动测试中有一点是不言而喻的:进行移动测试需要一台移动设备。这是为了了解我们的产品在一个给定的移动设备上将如何工作和显示。
假设我们正在开发一个航班机票预订系统应用程序。产品完全开发完成后,作为移动测试的一部分,我们需要检查应用程序是否按预期在所有主要使用的设备(如Android手机、iOS、BlackBerry手机以及其他不同类型的平板电脑和iPad)上运行。
要进行此类检查,我们需要获取每个此类设备,然后我们可以检查应用程序的行为是否符合预期。是的,你猜对了,作为产品所有者,肯定会发现采购如此大量的移动设备并进行测试非常昂贵。那么是否有任何更智能的替代方案呢?
解决这个问题的方法是使用移动模拟器和移动仿真器。这些主要是旨在为智能手机重要功能提供模拟的软件程序。它们的性质非常相似,因此有时它们可以互换使用。
让我们比较一下在仿真器/模拟器上进行测试与在真实设备上进行测试的不同之处:
| 真实设备 | 仿真器/模拟器 | |
|---|---|---|
| 价格 | 获取真实设备的成本很高。 | 几乎免费,我们只需要下载并安装它们。 |
| 处理速度 | 处理速度更快;但是网络延迟可能是正常的。 | 与实际设备相比,速度较慢。观察到其延迟小于连接到本地网络或云端的真实设备。 |
| 调试 | 调试并不容易。 | 它提供应用程序的逐步调试。此外,它还提供了一种高效的捕获屏幕截图的方法。 |
| Web 应用测试 | Web应用程序可以以正常方式进行测试。 | 测试Web应用程序要容易得多。 |
| 可靠性 | 在真实设备上进行测试的主要优点是它始终提供准确的结果。 | 它无法模拟所有类型的用户交互;因此,有时可能会导致错误的结果。所以在可靠性方面得分较低。 |
模拟器/仿真器无法模拟以下功能:
- 移动设备电池
- 移动设备的摄像头
- 难以模拟来电和短信等中断。
- 移动设备内存使用的模拟不太现实。
现在让我们更多地了解移动模拟器和移动仿真器。两者之间存在具体的差异。下表列出了模拟器和仿真器之间的主要区别。
| 仿真器 | 模拟器 | |
|---|---|---|
| 模拟对象 |
移动设备软件 移动设备硬件 移动操作系统 |
设备的内部行为。 它不模拟硬件。 |
| 获取方式 | 通常由设备制造商提供。 | 通常由设备制造商或其他公司提供。 |
| 内部结构 | 它使用机器级汇编语言编写。 | 它使用高级语言编写。 |
| 调试 | 更适合调试。 | 不适合调试。 |
| 性能 | 仿真器速度非常慢。模拟实际硬件通常会使软件运行速度比原生运行慢。 | 比仿真器快。 |
| 示例 | Google的Android SDK | Apple的iOS模拟器 |
那么,移动测试的最佳选择是什么?最佳实践表明,在实际开发过程中,我们应该使用仿真器或模拟器。在最终确定产品之前,应该对选定的真实设备进行完整性检查。例如,Android智能手机用户数量众多,因此明智的选择是对最新的Android设备进行完整性检查,并且可以在模拟器上进行回归测试。
广告