APP测试--IOS和Android 的区别

时间:2024-02-25 08:51:45

刚结束了APP项目一期,结合自己的经验及其他博主的文章做出以下总结~

随着各种APP攻占市场,在面试时经常会被问到:

1.web和app测试的区别?

2.IOS和Android app测试有什么区别?

这篇文章针对第2个问题展开,第1个问题会单独总结一篇文章

一.功能区分

1.物理按键

Android:独有3个物理按键,分别是主页面、菜单、返回,

      1.返回键:一定要测,尤其是app首页的返回

      2.菜单键:对于含有音视频的app,需要关注切换时,切回到app后,app功能有无影响

      3.主页面:切后台,app内功能有无影响,逻辑处理是否合理

      4.调出物理按键后,app是否适配、是否自动隐藏(尤其需要注意带刘海的手机页面显示是否正常)

IOS : 所有的返回上一层,只能靠页面功能实现

2.安装

  • 生产环境:

    Android:可以通过各个手机自带的应用市场或者是第三方的手机助手进行下载

    IOS:APP Store 和iTunes

  • 测试环境:

    Android:开发(安卓端、前端)将源码git更新后,测试使用公司内部平台构建生成apk文件,即可随意安装

    IOS:开发将最新ipa包给到测试,测试上传蒲公英,登录,认证,把ipa上传到蒲公英,发二维码或者是给测试安装地址,就可以了

3.兼容性

  • 系统兼容性

    Android:版本居多,还有不同手机型号的定制版系统

    IOS:版本相比较Android偏少

  • 屏幕尺寸和分辨率兼容性

    Android:分辨率多达20多种

    IOS:相比较Android偏少

  • 不同设备型号兼容

针对app,兼容性测试最好的方法:尽可能多的手机参与到测试中,在测试机不足的情况下,可以在产品上线前预留出时间发起内测;

web产品兼容性测试,选择不同内核的主流浏览器,稳定版本或者最新版本,分辨率以自己正常使用的分辨率展开测试即可。另外,需要考虑的是,是否适配手机网页。)  

4.原生技术支持

Android:

  以微信举例,长按删除,置顶聊天等操作,左滑则会进入通讯录菜单

IOS:

  以微信举例,长按没有任何反应,左滑则会出现标记未读和删除操作

5.支付方式

对于一些有内购功能的APP(比如冲点券,比如买钻石....),

Android:

  Android是直接调用第三方支付渠道的

IOS:

  需要先在你的APP store里绑定你的支付方式,然后通过APP store去完成支付操作

  PS:Apple对于一些非官方的支付渠道是不允许上架的

二.系统底层区分

1.运行机制

Android:虚拟运行机制

  1)所有的应用程序都是运行在虚拟机中,用户界面其实是由虚拟机传递的,并且通过虚拟机,Android的任何应用程序都可以轻松访问其他程序文件

  2)所有的Android应用程序都是运行在RAM里面的,所以会发现有时候Android用着用着会开始卡顿

  ps:补充知识,手机中的RAM和ROM,可以分别对应电脑的内存和硬盘这么理解

IOS:沙盒运行机制

  1)每个程序都有自己的虚拟地址空间。所以,程序之间是不能进行访问的

  2)默认只会将应用的最后运行数据,记录在RAM里面

2.程序后台运行机制

Android:

  任何程序都可以在系统后台运行

IOS:

  第三方程序不能在系统后台运行

3.消息推送渠道

Android:

  可以使用第三方或者自建平台进行消息推送,但是一般都是使用第三方的

IOS:

  消息推送渠道由苹果官方提供的

4.页面渲染机制

Android:

系统的优先级响应层级为:Application-->Framework-->Library-->Kernal,而Android系统的图像处理这部分功能是属于Library层的。
所以,当你触摸屏幕之后Android系统首先会激活application应用,然后是framework框架,然后才是Library屏幕,最后是Kernal核心架构

IOS:

系统的优先级响应层级为:Touch-->Media-->Service-->Core,而IOS系统的图像处理这部分功能是属于Touch层的。
所以,当你触摸了屏幕之后,系统就会最优先去处理Touch层,然后才是Media媒体,Service服务以及核心Core。

5.系统的开源

Android:

  系统开源,有非常多的第三方测试工具可以辅助测试
IOS:

  系统非开源,严重依赖mac环境

*******************************************************************************

1.android与ios后台运行机制的比较:

  android的后台可以说是“真后台”,因为android的应用退出到后台之后还是存在于内存中的,这样的机制使它从一开始就是支持多任务的,这样也带来了一些麻烦,比如说有一些程序会恶意占用内存而不释放,有时候就需要调用内存清理软件或者重启来释放内存。IOS的后台严格来说是“伪后台”,因为退出到后台的程序并没有存在于内存中,而只是记录了app在退出时的状态,而且它所实现的多任务只是通知、音乐播放、gps等等可以在后台实现多任务。ios app在退出前台的5s到10min之内就会进入挂起状态,如果长时间不进入到前台程序就会被回收,等你再打开的时候就要重新进入程序了。这里有一个明显的例子就是通常android 手机重启后程序会全部杀死,而iphone重启后点击两下home键,你在后台还能看见你之前打开过的程序。
 2.消息推送渠道

1)app在界面或后台运行(端内)

2)app从后台被移除(端外)

PS:未登录/登录推送处理逻辑测试时也需要引起注,未登录收到推送要先允许通知

参考博文:http://www.360doc.com/content/16/0907/19/478627_589140715.shtml

     https://www.mob.com/about/news/241