模拟器与模拟器——它们之间的区别
模拟器和模拟器之间的主要区别
- 模拟器是用机器级汇编语言编写的,而模拟器是用高级语言编写的。
- 在调试目的方面,仿真器更为合适,而模拟器在调试目的方面可能比较困难。
- 模拟器是原始软件的完整重新实现,而模拟器只是原始软件的部分重新实现。
- 模拟器和仿真器都是虚拟设备。虚拟设备不是真正的手机,而是一种提供与真实手机相同功能的软件(除了相机等少数功能)。
什么是真实测试设备?
在真实设备上进行测试可让您运行移动应用程序并检查其功能。真实设备 测试与验证 确保您的应用程序能够在客户手机上顺利运行。
什么是模拟器?
模拟器是一种软件程序,它允许您的手机通过将另一台计算机或移动软件安装到您的计算机或手机上来模仿您希望它们模仿的功能。
模拟器和仿真器测试之间的区别
以下是模拟器和仿真器测试之间的主要区别
| 基于模拟器的测试 | 基于模拟器的测试 |
|---|---|
| 模拟器的目标是尽可能接近对象的内部状态来模拟对象的内部状态。 | 模拟器的目的是尽可能地模拟或模仿对象的外部行为 |
| 每当测试团队需要测试移动设备的内部行为(例如其内部硬件、固件等)时,模拟器是首选。 | 每当测试团队需要测试移动设备的外部行为(例如计算、交易等)时,模拟器是首选。 |
| 模拟器是用高级语言编写的。 | 模拟器是用机器级汇编语言编写的。 |
| 就调试目的而言,模拟器可能会很困难。 | 模拟器更适合用于调试目的 |
| 模拟器只是原始软件的部分重新实现。 | 模拟器通常是原始软件的完全重新实现。 |
基于真实设备和模拟器/模拟器测试的优势
| 问题 | 模拟器测试 | 真机测试 |
|---|---|---|
| 情景应用 | 在某些特定情况下,生成文本执行结果的期限很短,并且可能无法购买所需的移动设备。 因此,在这种情况下可能需要使用模拟器/模拟器来测试需要测试的相关移动应用程序。 | 真实设备允许测试人员测试几乎所有可用于移动应用程序的实时场景。这些设备用手指操作,模拟真实使用情况。它们还有助于测试真实情境:在火车上或走在街上时使用该应用程序是否容易?是在阳光明媚还是在雨中? |
| 与真实手持设备的亲近感 | 移动设备种类繁多,这带来了一些问题,测试人员在预算限制的情况下,不确定要投资哪些移动设备进行测试。模拟器/仿真器就是为这种情况量身定制的。 | 真实设备可以让测试人员测试甚至可用性问题,例如应用程序的外观和感觉、屏幕的色彩分辨率、白天和夜晚条件下图像是否明亮等等。 |
| 易于获取 | 模拟器/仿真器在大多数情况下都是开放和免费的软件,可以很容易地从互联网上下载并进行测试。 | 真正的设备允许严格的 性能测试 诸如连续 15 小时使用实时传输应用程序之类的问题,模拟器无法成功模拟。 |
| 通过以下方式轻松打开 Web 应用程序 URL | 打开Web应用程序进行测试就容易多了。用户只需要复制粘贴应用程序即可。 URL. | 在真实设备上进行测试可以提供更多的可靠性。 |
| 捕获缺陷出现情况的屏幕截图 | 使用模拟器捕获屏幕截图问题非常容易,因为我们只需要使用 Microsoft 办公设施。 | 使用真实设备进行测试对于互操作性测试非常有帮助。 |
| 电池场景模拟验证 | 模拟器无法模拟电池问题。 | 现实世界的设备可以轻松执行相同的操作。 |
| 验证传入中断 | 模拟器/仿真器无法模拟短信的传入中断以及来电。 | 现实世界的设备可以轻松模拟传入的中断。 |
| 验证精确的彩色显示 | 当真实设备处于阳光下或黑色时,模拟器/模拟器无法正确模拟设备的确切颜色显示。 | 现实世界的设备可以轻松模拟精确的彩色显示。 |
| 性能验证 | 模拟器/仿真器的性能有时会比原始设备慢。 | 原始设备的运行速度往往比仿真器或模拟器更快。 |
| 模拟内存相关问题 | 模拟器/模拟器上可用的内存往往比真实设备多得多,因此这可能会让使用相同验证的用户产生误解。 | 设备的内存存储级别往往远低于模拟器,因此可能 |
模拟器和真实设备的缺点
| 模拟器/仿真器 | 真实设备 |
|---|---|
| 对于测试团队需要在较长时间内验证应用程序性能的场景,模拟器/模拟器并不总是最好的解决方案。 | 与仿真器/模拟器相比,真实设备价格昂贵。因此,预算和时间限制下的项目可能会影响盈利能力以及整个项目的可行性。 |
| 模拟器/模拟器主要适用于某些类型的功能测试用例执行。 | 移动设备种类繁多,从苹果到三星,再到安卓和塞班等等。考虑到移动设备种类繁多,测试团队很难在预算和时间限制相当大的情况下安排好各种移动设备。 |
| 模拟器/模拟器有时不支持某些类型的应用程序,在这些情况下,测试团队可能需要购买软件补丁,这些补丁可能并不总是免费的,但有时可能会很昂贵。 | 真实移动设备在开发中使用ping 舞台 单元测试 和类似目的可能会比模拟器更难连接到 IDE,这会给调试带来巨大的问题,并且在有时间限制的项目中,这很可能会妨碍项目的整体完成。 |
| 并非所有的模拟器/仿真器都支持所有类型的移动应用程序。例如,bada 模拟器支持 Maemo(例如 Nokia N900)、Symbian Touch(例如 Nokia N8)和 Symbian 非触摸(例如 Nokia E71),但不支持其他移动设备,例如 Android. 就应用程序测试功能而言,bada 不支持直接网页浏览测试,但它允许用户仅测试和创建网页应用程序和小部件。 | 为了使用真实设备进行测试,设备需要始终连接到机器的 USB 端口。因此,如果 USB 端口无法正常工作,则无法进行测试。如果没有提供足够的安全措施,移动设备(如果它们恰好是像 Apple iPhone 这样的昂贵设备)可能会丢失或被盗,从而妨碍整体工作。提高安全性还可能继续增加项目所涉及的总体支出。 |
| 用户必须输入 URL 手动打开待测的Web应用程序。为了解决这个问题,测试人员可能需要创建手机书签,例如简短的链接。 URL 服务或发送 URL使用蓝牙连接向移动设备发送消息,或者创建包含某些内容的网页 URLs. 采用这些程序会占用大量重要的内存空间,从而影响应用程序的整体性能。 |
模拟器与真实设备测试:结论
考虑到如今移动应用程序在我们日常生活中发挥的重要作用,对这些应用程序的测试将会不断发展,因此需要进行大量测试才能使它们按要求运行。在模拟器/仿真器以及真实设备中进行测试对于保持严格的标准和质量保证都是必要的。
仔细权衡移动模拟器和真实设备的利弊,我们可以得出这样的结论:企业的最佳移动测试解决方案既不是把所有的鸡蛋都放在真实设备的篮子里,也不是把它们都放在模拟器里,而是我们需要的是 两者的最佳组合.
模拟器可以被认为非常适合应用程序开发的初始阶段。
然而,为了避免发布有缺陷的关键业务应用程序而产生高昂的代价,企业需要确保在应用程序投入生产之前在真实设备上执行大部分移动测试。
每个组织都需要制定战略和计划,以确定在哪个阶段引入实际设备。他们还需要决定多少设备足以满足市场需求,以及管理这些设备的最佳方案是什么。
最佳实践表明,实际开发应该使用模拟器(和一些参考真实手机),以便在编码阶段加快应用程序的调试速度,同时保持理智, 烟雾测试、性能、互操作性和网络可行性以及 迭代测试 应该在真正的手机上完成。
确保开发人员在开发阶段使用模拟器快速执行也是一种新兴的做法,而测试团队应该在测试阶段使用真实设备进行测试,以确保整体 质量保证 目标和指标。为了节省成本,他们可以考虑使用虚拟移动测试工具。这些服务让开发人员能够在世界各地使用不同移动网络的各种手机上测试他们的应用程序(对于使用 GPS 的应用程序很有用)。此类服务按小时提供,与购买新手机相比非常划算。


