云测服务 真机测试相比模拟器测试好在哪?

罗晋军 · 2015年12月31日 · 最后由 M 回复于 2016年01月14日 · 4315 次阅读

模拟器太慢

模拟器的运行速度取决于 PC 的配置,如果 PC 使用了机械硬盘那么使用模拟器光是启动的时间就够泡一壶茶了。Genymotion 这样的模拟器公认比较快,这是因为它对安卓系统进行了大量精简,然而这样的系统下开发出来的应用一旦来到真机上势必 BUG 不会少。

安卓定制化现象严重

国内的手机厂商们热衷于对安卓系统进行深度定制,这也让开发者们操碎了心。应用开发好以后同样需要使用真实设备来适配,小米、魅族、锤子这样的深度定制系统,都是没有办法用模拟器来适配的。

模拟器不能模拟所有的 API

Email、电话、短信等基于真实硬件的 API 由于模拟器本身的限制是不能被模拟出来的,因此应用但凡需要调用这些 API 的,都应该选择真机调试。

共收到 5 条回复 时间 点赞

真机和模拟器

  • 多点触摸
  • 网络通话
  • 摄像
  • WiFi
  • 各种网络制式
  • 蓝牙

模拟器只是实现了真机的大部分功能,任何应用在上线前都应该在实体机上进行验收测试。
另外客户端的性能测试也是基于真机的,只有真机才能反应出最真实的情况,比如发热,比如死机,比如耗电量。

除去上面的差异:

Android 真机和模拟器的区别:

  • Android 模拟器由于都是模拟的硬件,所以在硬件上基本不会出现兼容性问题。但是市场上的真机大多数都是采用不同的 cpu,不同的显示屏等。
  • Android 模拟器用的都是标准的 Android 系统。 市面上的真机都是成家自己定制的系统。
  • Android 模拟器上安装的 apk 签名是 debug 模式的,发布应用到市场上要用另外的签名。
  • Android 模拟器非常慢,调试效率非常低。
  • Android 模拟器不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和呼出);
  • Android 模拟器不支持 USB 连接。
  • Android 模拟器不支持音频输入(捕捉),但支持输出(重放)。
  • Android 模拟器不支持扩展耳机。
  • Android 模拟器不能确定连接状态。
  • Android 模拟器不能确定电池电量水平和充电状态。
  • Android 模拟器不能确定 SD 卡的插入/弹出。

iOS 真机和模拟器的区别:

  • iOS 模拟器没有硬件限制,比如内存。所以会有应用出现在模拟器上很快,真机很慢的情况,原因是真机的内存被用完了。
  • iOS 模拟器和真机的分辨率不同,显示效果不一样。
  • 有些 framework 只支持模拟器,不支持真机。
  • 模拟器不会被越狱,真机会被越狱,越狱后的真机会有兼容性问题

https://testerhome.com/topics/388

楼主,你说的内容太少了。 不如不说。

。。。。。。。。这说的。。。太不详细了

其实 Android 模拟器也不是一无是处,模拟 GPS 地点、模拟电量什么的就是个不错的功能。特别是随着 AS 2.0 出来的新版 Emulator ,把一些 Genymotion 收费版的功能集成进去了。

iOS 模拟器和真机区别太大了,指令集不一样(x86 vs arm),性能不一样(模拟器性能强太多了),最坑爹的是,很多时候 UI 渲染结果也会不一样。

说的太简单了

用最简单的语言描述,模拟器就是用最少的钱,提供一小部分服务。

但这是以牺牲性能为代价的,全方位的性能下降,而且能做的东西很少。

很多时候你在模拟器上调好了一切,感觉没有问题了,到了真机上就会出现各种莫名其妙的 bug,让你措手不及

所以做安卓开发一定要用真机

具体原因:

Android 的碎片化,导致虚拟机和三星、华为等终端机器存在一定区别
Android 的模拟器本身优化不是很好,运行起来很慢,真的非常慢
Android 的模拟器的 sys-img 要下载下来要么麻烦,要么死慢
对于摄像头,gps,传感器等硬件方面的开发,真机测试优点显著

但是真机也有一个问题,一些创业公司或者中小企业没有那么多资本去建机型库,顶多有几台主流机,但想要做一款成功的 APP 这是远远不够的,要完成 app 测试需要的机型成本是很庞大的,所以建议现在可以使用 Testbird 云手机进行远程调试(http://www.testbird.com/tphone/remote-debug/),省下大量的购机成本,而且一样的是真机,同样的效果。

李腾 移动 APP 兼容性测试和功能测试关注点讨论 中提及了此贴 12月06日 18:00
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册