真正的设备和模拟器/模拟器有什么区别?

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

编辑:

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

我再次阅读幻灯片,发现我误解了他的观点。 他的意思是我们应该尽量避免在硬件上进行debugging(第41页)。 他还提到我们可以将传出的请求捕获到传感器和其他服务,然后注入响应。 也许我们可以select一些无法在模拟器中完全testing的案例,然后用真实的设备进行testing。

感谢您的评论! 🙂

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

这真是奇怪的build议,如果那真的是梅萨扎罗斯先生所说的话。 在模拟器上运行testing是好的,但“只”是一个过度的build议。 在设备上运行自动化testing没有什么坏处,您可以从中学到很多东西。

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

当然。

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

等等。

或者像相机,重力感应器等一些组件无法在模拟器/仿真器中testing?

那些很难以自动化的方式进行testing。