真实设备和模拟器/模拟器之间有什么区别?

时间:2012-12-09 15:27:21

标签: android ios testing android-emulator ios-simulator

最近在QCon,Gerard Meszaros说我们应该只在模拟器上运行自动化测试来提高效率。我们也在考虑移动自动化测试。但我不确定是否会出现一些只能在真实设备中找到的问题?或者某些组件如相机,重力传感器无法在模拟器/仿真器中进行测试?谢谢!

编辑:

你可以在这里找到Gerard的幻灯片:http://www.slideshare.net/pinot_noir/ensuring-quality-in-cloud-and-mobile-applications

我再次阅读幻灯片,发现我误解了他的观点。他的真正含义是我们应该尽量避免在硬件上进行调试(第41页)。他还提到我们可以捕获对传感器和其他服务的传出请求,然后从它们注入响应。也许我们可以选择一些无法在模拟器中完全测试的情况,然后用真实设备进行测试。

感谢您的所有评论! :)

1 个答案:

答案 0 :(得分:1)

  

最近在QCon,Gerard Meszaros说我们应该只在模拟器上运行自动化测试以提高效率。

这是奇怪的建议,如果这确实是梅萨罗斯先生所说的话。在模拟器上运行测试很好,但“仅”是一个过度推荐。在设备上运行自动化测试没有任何害处,您可以从中学到很多东西。

  

但我不确定是否会出现一些只能在真实设备中找到的问题?

当然。

  • 许多设备都有多核CPU,而仿真器此时只模拟一个核心
  • 设备存储的运行速度往往比模拟器上的存储慢很多
  • 设备制造商以不会出现在运行股票Android
  • 的模拟器上的方式修补Android
  • 仿真器只能松散地模拟与电源,互联网(例如,没有移动数据,没有WiFi),GPS,传感器,相机等相关的硬件。
  • 模拟器不支持某些设备功能,例如新的V2版本的地图,Play商店,Android 4.2上的多个帐户等。

等等。

  

或者某些组件,如相机,重力传感器无法在模拟器/模拟器中进行测试?

这些很难以自动化的方式进行测试。