App测试中Android和IOS测试区别-从系统和内核角度分析(转载+总结)

本文95%的内容都是转载自https://www.cnblogs.com/klb561/p/12014252.htmlhttp://qa.tedu.cn/ask/403783.html

5%是本人按照自己的理解override了,可能会有些乱,我尽量整理得易看些~ 有新的内容会继续补充哈

从外表和内核看透Android和IOS的区别


一、常识性区别

注释:

**Back键有些安卓手机是直接退出app、有些就是返回到上一页

**IOS操作系统指定版本升级可以在iTunes下载对应版本升级

 

二、单条item的操作

iOS:单条item的操作有两种,点击和滑动,点击一般进入一个新的页面,滑动会出现对这条item的一些常用操作,如微信里滑动一条对话,会出现标记未读和删除。

Android:,单条item的操作也有两种,点击和长按,点击一般进入一个新的页面。长按进入一个编辑模式,可以在里面进行批量和其他一个操作,比如删除,顶置等等。比如小米的短信页面;长按也可以弹出情境操作栏dialog,进行操作,比如Android版的微信。

例外的是,Android里面也可以有单条item的滑动,如新版QQ,这种比较少见。安卓的短信,可以滑动进行归档。大Android啥都可以有。

 

四、关于排版

iOS:喜欢居中排布

Android:喜欢左对齐,感觉左对齐更安卓。

 

五、实体键

iOS只有一个实体键home键(音量,电源不算哈);这个键有这么几个功能:

  • 按一次,回到桌面。
  • 双击,出现多任务界面
  • iOS8里面,轻触两下Home键,调出单手模式(未尝试过,有i8的小伙伴尝试之后可否截图告诉我?)
  • 指纹解锁

iPhoneX,iPhoneXS ,iPhoneXmax等都没有home键了,而是使用向上滑动的操作实现下列的一些功能:

  • 锁屏滑动,脸部解锁
  • 小幅度滑动,出现多个任务界面
  • 大幅度滑动,回到桌面

Android有四个实体键(现在很多被屏幕上的虚拟键代替,但功效是一样的)

  • Android4.4以下:分别是back键,home键,menu键,和搜索键。
  • Android4.4及以上:back键,home键,多任务键。安卓原生是这样,经过优化的Android就不一定了,比如魅族的smart bar,根据当前页面情景变化,不过蛮好用。
  • Android的back键,在大部分情况下,和页面上的返回功效一样。不过,Android的back键可以在应用件切换,还可以返回主屏幕。这个iOS里面的键不能在应用间直接切换。

 

六、动效

两者的动效似乎差别不大,iOS有的,安卓都有。iOS实现的通常更加流畅,卡顿较少。

两者都强调模拟现实世界的动画效果,比如物体运动有一定的加速度,动画的结束和开始速度小,中间速度大。


App测试中ios和Android有哪些区别呢?

1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用;

2. 多分辨率测试,Android端20多种,ios较少;

3. 手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);

4.  操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;

5. push测试:Android推送可以应用绕过系统限制;IOS只能根据系统配置来推送。

6.  安装卸载测试:Android的下载和安装的平台和工具和渠道比较多,ios主要有app store,iTunes和testflight下载;

7.  升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)

 


 

关于Android和IOS的那些事(存在区别的原因)

Android和IOS的安全性,众所周知的情况是,Android的个人信息泄露比较严重,很多app在安装时会要求很多权限,或者即使不给,他也有各自手段偷偷的获取这些手段。而ios一般情况下权限管理的很严格,没有意义的权限,一般情况下不会给。而且苹果官方的审核机制也是比较严格,经常会出现审核不通过的情况。所以ios的权限一般情况下,感觉会要的很少。

Android采用的虚拟机机制,而ios采用的是沙盒机制。沙盒机制的特点是:每个应用只能访问自己应用的数据和文件,不能随意去访问其他的沙盒内容。而虚拟机机制的特点是:每个应用程序都在独立的虚拟机中,这些独立的虚拟机实例都是一个独立的进程空间。而Android这样做的好处就是跟linux内存管理很相似,是真正的多进程管理,虽然可用内存最后看着少,但是实际上很多程序已经分配了一定的内存了,如果需要,在唤起时,不会再次分配一次,而且已经有了缓存,启动和响应会比较快。

 

--IOS沙盒机制:

1. 应用程序在自己的沙盒中运作,但是不能访问任何其他应用程序的沙盒;
2. 应用之间不能共享数据,沙盒里的文件不能被复制到其他应用程序的文件夹中,也不能把其他应用文件夹复制到沙盒中;
3. 苹果禁止任何读写沙盒以外的文件,禁止应用程序将内容写到沙盒以外的文件夹中;

                         

--虚拟机和沙盒主要区别在于:

1. 当沙盒中的应用程序退出后,其所做的更改会被丢弃;而当虚拟机退出后,其所做的更改会被保存下来;

2. 沙盒中的application和其他application共享机器的硬件资源;而虚拟机在安装时需要为其指定内存memory和cpu核且虚拟机不和其他application共享硬件资源。因此虚拟机实际上是很耗系统资源的。

                               

 

Android的内存管理方式和ios不一样。Android在手机app切换到后台时,内存空间会保留给这个app,当下次再切换到前台时,app会快速的响应。而ios是app被切换到后台后,很短的时间内就会被清理内存,杀死进程。这样做的好处也是为了给当前切换到前台的应用腾出空间来。这样做的好处就是省电,因为只有前台一个应用在跑。当然还有一些特殊的应用可以一直在后台运行,比如:音乐、gps等。Android的出发点是为了让app切换时应用响应速度快,但是造成的后果就是内存可能会被历史应用占用的内存过多,而继续创建新的应用时不够用,才会回收内存。导致想用的app打开时变慢。

另外一点就是响应优先级不同,ios是对于屏幕反应的优先级最高,也就是UI指令最高。而Android是数据优先级最高。这2者的对比,可以用一个简单的例子来对比,ios在打开一个app时,它对屏幕的响应优先级是最高的,之后才运行app代码。Android系统打开app的顺序是先运行app的代码,之后再显示在用户的手机屏幕上。直观来看,对用户来说,就是我在ios上点了一下,接着就有反应了,而Android慢了半拍。

再一点,两者的安装应用方式不一样,Android通过各种应用商店,比如豌豆荚,91助手等等,ios只能通过应用商店,而测试版本的软件,Android可以通过把apk包导入到手机sdcard中,直接安装或者通过adb install命令安装包,ios可以通过iTunes方式安装或者爱思助手之类的软件进行安装ipa。当然现在比较流行的是通过第三方来管理测试包,比如说:蒲公英,这个平台可以把你的测试包上传后,然后开发者可以把需要下载测试包的同学手机UUID加到白名单后,就可以使用ios的测试包了。当然这个平台也可以上传Android软件测试包。

另外一点,就是Android因为自身代码的开源性,很多的app开发者如果不注意保护自己的代码,很容易被破解后,被其他人打包为别人的,所以Android的app一般都需要做代码的混淆。也就是把正常的代码,混淆完之后,就不容易理解了,比如很常见的方式就是代码的类名改为:a、b、c等等没有意义的名字。而ios因为本身不开源的特点,就不需要做代码混淆。


为什么安卓上软件得在运行时(包括后台存在)才会推送通知,而ios却不需要软件在后台就会推送通知?

安卓系统本身是并没有通过推送机制了,说白了就是没有系统给应用留下后门,所以只能是安卓自己启动Services来实现度推送,当应用杀死后Services如果被杀死就无法收到推送
iOS系统他给用用留了回推送机制,所以就算应用未在后台运行他也答能收到通知,但是iOS是不允许应用像安卓一样后台启动Services服务的。

  • 9
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值