1
回复
-
<p>前言</p><p>鉴于移动互联网的高速发展,各种APP估计已经装满了大家的手机。</p><p>那么对于现在的测试工程师们而言,需要APP的测试经验也是越来越有需求了。</p><p>实际上,在应聘的过程中,大家遇到的面试面试题之一:web和APP的测试区别,这个就不需要过多的讲了。</p><p>今天就给大家讲一个问的比较少的,也是大家没怎么去思考过的一个问题:iOS和Android的APP测试区别</p><p>从功能上区分</p><p>物理按键</p><p>Android:独有3个物理按键的功能(菜单,主页面,返回),尤其是返回键,是一定要测试的功能点</p><p>iOS:所有的返回上一层,只能靠页面功能实现</p><p>安装</p><p>生产环境:</p><p>Android:可以通过各个手机自带的应用市场或者是第三方的手机助手进行下载iOS:APP store和iTunes</p><p>测试环境:</p><p>Android:开发或者测试将源码打包成apk文件,即可随意安装iOS:可以使用Apple官方平台testflight,或者是开发直接给你安装好</p><p>兼容性</p><p>系统兼容性:</p><p>Android:版本居多,还有不同手机型号的定制版系统iOS:版本相比较Android偏少</p><p>分辨率兼容性:<br ></p><p>Android:分辨率多达20多种iOS:相比较Android偏少</p><p>原生技术支持</p><p>Android:以微信举例,长按删除,置顶聊天等操作,左滑则会进入到通讯录菜单</p><p><br ></p><p>iOS:以微信举例,长按没有任何反应,左滑则会出现标记未读和删除操作</p><p>支付方式</p><p>Android:对于一些有内购功能的APP,Android是直接调用第三方支付渠道的</p><p>iOS:需要先在你的APP store里绑定你的支付方式,然后通过APP store去完成支付操作</p><p>PS:Apple对于一些非官方的支付渠道是不允许上架的</p><p>从系统底层上区分</p><p>运行机制</p><p>Android:虚拟机运行机制</p><p>1、所有的应用程序都是运行在虚拟机中,用户界面其实是由虚拟机传递的,并且通过虚拟机,Android的任何程序都就可以轻松访问其他程序文件</p><p>2、所有的Android的应用程序都是运行在RAM里面的,所以会发现有时候Android用着用着就开始有点卡了</p><p>ps:补充知识,手机中的RAM和ROM,可以分别对应电脑的内存和硬盘这么理解</p><p>iOS:沙盒运行机制</p><p>1、每个程序都有自己的虚拟地址空间。所以,程序之间是都不能进行访问</p><p>2、默认只会将应用的最后运行数据,记录在RAM里面</p><p>程序后台运行机制</p><p>Android:任何程序都可以在系统后台运行</p><p>iOS:第三方程序不能在系统后台运行</p><p>消息推送渠道</p><p>Android:可以使用第三方或者自建平台进行消息推送,但是一般都是使用第三方的</p><p>iOS:消息推送渠道由苹果官方提供的</p><p>页面渲染机制</p><p>Android:系统的优先级响应层级为:Application-->Framework-->Library-->Kernal,而Android系统的图像处理这部分功能是属于Library层的。</p><p>所以,当你触摸屏幕之后Android系统首先会激活application应用,然后是framework框架,然后才是Library屏幕,最后是Kernal核心架构</p><p>iOS:系统的优先级响应层级为:Touch-->Media-->Service-->Core,而IOS系统的图像处理这部分功能是属于Touch层的。</p><p>所以,当你触摸了屏幕之后,系统就会最优先去处理Touch层,然后才是Media媒体,Service服务以及核心Core。<br ></p><p>系统的开源</p><p>Android:系统开源,有非常多的第三方测试工具可以辅助测试</p><p>iOS:系统非开源,严重依赖mac环境</p><p>说明:本文为柠檬班亚萌老师原创</p><p><br ></p>添加评论