Android 和 iOS APP 测试的那些区别

news2024/11/19 14:28:54

目前市面上主流的移动操作系统就是 Android 和 iOS 两种,移动端测试本身就跟 Web 应用测试有自己的专项测试,比如安装、卸载、升级、消息推送、网络类型测试、弱网测试、中断测试、兼容性测试等都是区别于 Web 应用需要关注的测试领域。

那么,对于 Android 和 iOS 两个系统来说,测试同一款 APP,又有哪些区别呢?

首先,关于功能实现以及界面测试等方面,两个系统基本是一致的;只是由于系统的某些实现方式的区别,导致了个别测试领域的区别。所以,我们接下来分析一下这两种系统之间的测试区别到底有哪些?

一、安装测试

测试版本安装

  • Android 非常简单,提供一个 apk 包,就可以在任何设备上安装这个 APP 并进行测试了。

  • iOS 比较复杂一些,没有经过苹果审核是不允许安装的。

    需要安装测试版本,就需要采取一些额外的手段,比如手动添加 UDID 到开发者账号,或者使用 testflight 工具,具体操作,可以见之前的文章:《iOS APP测试方法和测试工具大揭秘》

线上版本安装

  • Android 可以上传的应用商店比较多,比如谷歌商店,360 商店,安智市场等,还有各大应用管家都可以上传并提供给广大 Android 用户下载使用。

    所以,测试人员对 Android 应用的线上测试需要覆盖所有支付的渠道;

  • iOS 众所周知,只有一个苹果官方的 App Store 可以下载安装应用,其他的渠道都是不允许的。因为需要上传到线上发布,是需要苹果进行审核和授权的。

    而且一般审核周期要等到 3 天-2 周不等。所以,iOS 测试人员,需要等到苹果审核通过之后,从 App Store 上下载应用,验证线上版本的可用性。

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386 

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=8b9b7a6bd9e1d50c8c5643945488eade

二、兼容性测试

  • Android

因为系统被开源,很多不同厂商在这个基础上二次进行开发,所以导致出现的操作系统类型以及版本都非常多。

  • 常见的有:华为、小米、OPPO,vivo 等,

  • 还有很多小众非主流的操作系统;

  • 每个系统都有很多的版本,包括大版本和小版本;

  • 每个厂商的手机屏幕大小也差异比较大,

所以 Android APP 的兼容性测试就会比较复杂一些。

  • iOS

就只有单一的苹果系统,虽然也经常更新版本。

但是随着苹果官方系统版本的升级,一般我们只需要维护最新的几个主流版本的兼容性测试即可;选取的主流系统版本,再覆盖 iOS 的几款主流的屏幕大小的机型,兼容性测试会相对来说简单很多。

三、升级测试

升级测试 iOS 限制也比 Android 多一些。

iOS 有严格的降级限制,最开始只能单向升级,不能降级;虽然松懈了一点可以做降级操作,但是也限制了特定机型的最低降级版本。

比如 iPhone X 最多只能降到 iOS 11.2,iPhone 5 最多可以降到 iOS 6.1.3,之所以有这个限制其实是因为通常新的 iOS 系统版本中的资源库不能完全兼容低版本中的应用。

低版本 iOS 系统中的应用如果调用了新系统中的资源库,有时会直接导致闪退(Crash)出现;所以,我们做 iOS 的升级测试的时候,基本只需要关注对应的版本之间的升级即可。

Android 系统的降级限制没有那么严格,通过一定的工具都可以降级成功。

四、权限测试

Android 众所周知的就是 Android 的个人信息泄露比较严重的。

比如很多 app 在安装时会要求很多权限,Android 系统会提示是否允许获取手机的某个权限,但是即使用户不给,Android 也有各自手段偷偷的获取这些权限,所以 Android APP 的这种权限测试不是很严苛;

而 iOS 一般情况下权限管理的很严格,用户没有同意的权限,APP 是一定没有办法绕过并获取的,所以应用不会去获取一些没有意义的权限;而且应用要上线苹果商店时,苹果官方的审核机制也是比较严格,经常会出现审核不通过的情况。

所以 iOS 的权限一般情况下会要的很少。因此,iOS 测试的权限场景较少,但是会很严格。

五、应用实现的机制

Android 采用的虚拟机机制,而 iOS 采用的是沙盒机制。

虚拟机机制的特点是:

  • 每个应用程序都在独立的虚拟机中,这些独立的虚拟机实例都是一个独立的进程空间。

  • 跟 Linux 内存管理很相似,是真正的多进程管理,虽然可用内存最后看着少,但是实际上很多程序已经分配了一定的内存了,在唤起时不会再次分配一次,而且已经有了缓存,启动和响应会比较快。

沙盒机制的特点是:

  • 应用程序在自己的沙盒中运作,但是不能访问任何其他应用程序的沙盒;

  • 应用之间不能共享数据,沙盒里的文件不能被复制到其他应用程序的文件夹中,也不能把其他应用文件夹复制到沙盒中;

  • 苹果禁止任何读写沙盒以外的文件,禁止应用程序将内容写到沙盒以外的文件夹中。

六、安全机制

iOS 安全机制主要通过以下两个方面来实现:

  • 通过刚刚上面讲到的安全沙箱机制来实现安全机制。应用之间数据和文件不能共享;

  • 通过对代码签名,Apple 需要所有开发人员对自己的 iPhone 应用程序使用数字签名技术。这个签名用来标识应用程序的开发者以及保证应用程序在签名之后不被更改和损坏。开发者证书由 Apple 提供(这是与 Android 最大的区别,Android 是自签名),有以下两类证书:

    Developer Certificate :用于本机测试

    Distribution Certificate :用于 100 台设备以内的测试和共享;App Store 用于发布应用程序所有的可执行文件、库文件都需要 Apple 签名后才可以运行在 iOS 中。

Android 安全机制通过以下两个方面来实现:

  1. 虚拟机机制,每一个 Android 应用程序(apk 文件)会在安装时分配一个独有的 Linux 用户 ID(即一个用户 id 识别一个应用程序),使其不能与其他应用程序进行接触。这个用户 ID 在安装时分配,并在该设备上一直保持同一个数值。所有存储在应用程序中的数据都会赋予该应用程序的用户 ID,使其他应用程序无法访问这些数据。

  2. 代码签名,但是跟 iOS 不一样的是,Android 采用自签名机制,不需要权威机构签名和审核,完全由用户自行判断是否信任该程序。

总结

综上所述我们可以发现,由于近些年这两个系统之前不断的相互借鉴的原因,在设计上来说越来越通用,两个平台的使用体验也越来越统一。

所以网上很多文章说的关于一些界面设计风格、用户使用习惯的区别,我觉得也没有特别大的参考价值。

作为测试,我们可有多关注一些底层实现的原理,能够帮助我们更加深刻的理解他们在细节实现上,从而就可以帮助我们测试更加充分!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1141753.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

办公用品经营配送小程序商城的作用是什么

对办公人员来说,办公设备是不可缺少的,对办公用品经营商家来说,市场生意很高很多,但想要获取却也不容易,线下方式难以拓展,线上无平台,入驻第三方也有诸多限制与不足,私域是商家们增…

关键词搜索1688商品数据接口(标题|主图|SKU|价格|优惠价|掌柜昵称|店铺链接|店铺所在地)

1688商品列表接口是一个用于获取1688网站上商品列表信息的接口。通过该接口,您可以获取到1688网站上不同类别的商品列表,包括商品的名称、价格、图片等信息。 要使用1688商品列表接口,您需要按照以下步骤进行操作: 登录1688网站…

Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)

目录 Linux文件系统 文件系统类型 Linux如何保存文件 VFS虚拟文件系统 文件格式化命令 mkfs 格式化文件系统 磁盘挂载命令 mount 临时挂载命令 umount 卸载文件系统 vim /etc/fstab 永久挂载 Linux文件系统 Linux 磁盘挂载1(硬盘分区)_linux磁…

高效遮挡!一键隐藏Logo标志,让您的内容更自由!

亲爱的用户,您是否曾经因为在营销、宣传、推广等领域使用的图片或视频中,存在不合适的Logo标志而感到烦恼?现在,我们向您推荐一款高效的遮挡工具,让您轻松隐藏Logo标志,让您的内容更自由! 第一…

面试题:为什么HashMap 使用的时候指定容量?

文章目录 前言正文为什么要指定容量? 前言 其实可以看到我写了这么久的博客,很少去写hashMap的东西。 为什么?因为这个东西感觉是java面试必备的,我感觉大家都看到腻了,所以一直没怎么去写hashMap相关的。 本篇内容&…

eclispe项目中静态文件出现错误解决方法

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 很多时间…

C++项目——云备份-⑧-客户端各模块实现

文章目录 专栏导读1.客户端数据管理模块实现2.客户端文件检测模块实现3.客户端文件备份模块设计4.客户端文件备份模块实现 专栏导读 🌸作者简介:花想云 ,在读本科生一枚,C/C领域新星创作者,新星计划导师,阿…

创建一个具有背景轮播和3D卡片翻转效果的个人名片网页

目录 项目展示 图片展示 前言 项目目标 项目目标 步骤 3:CSS 样式 步骤 4:JavaScript 动画 项目源码 知识点介绍 (大佬请绕道) HTML 结构的构建 2. CSS 样式的设计 3. JavaScript 动画的实现 4. 背景图轮播的逻辑 5…

java智慧工地云平台源码 人工智能AI+多系统集成+智能预警平台

智慧工地云平台源码 人工智能AI多系统集成智能预警平台 智慧工地企业级监管平台融入AIoT、移动互联网和物联网等领先技术,再结合工地“人、机、料、法、环”五大要素,劳务实名制管理、环境监测管理、安全施工管理、质量及能耗管理等智慧化应用&#xff0…

21.8 Python 使用BeautifulSoup库

BeautifulSoup库用于从HTML或XML文件中提取数据。它可以自动将复杂的HTML文档转换为树形结构,并提供简单的方法来搜索文档中的节点,使得我们可以轻松地遍历和修改HTML文档的内容。广泛用于Web爬虫和数据抽取应用程序中。 读者如果需要使用这个库&#x…

Leetcode---368周赛

题目列表 2908. 元素和最小的山形三元组 I 2909. 元素和最小的山形三元组 II 2910. 合法分组的最少组数 2911. 得到 K 个半回文串的最少修改次数 一、元素和最小的山形三元组I 没什么好说的,不会其他方法就直接暴力,时间复杂度O(n^3),代…

SpringCloudGateway 入门

目录 POM 依赖一、内容网关的作用Spring-Cloud-Gateway的核心概念 二、基于Ribbon的负载均衡三、核心概念详细3.1 断言 Predicate3.2 过滤器3.2.1 内置过滤器3.2.2 自定义过滤器构造器(原理)资源结构Route / Predicate 的构造器构造器的增强器整体协同关…

人大金仓(Kingbase)部署

点击上方蓝字关注我 1. 介质下载 下载地址:https://www.kingbase.com.cn/rjcxxz/index.htm 选择安装包及授权文件:根据对应的操作系统类型选择安装包 2. 部署环境配置 2.1 部署环境: 8C 16G KylinV10SP3系统 2.2 修改操作系统内核参数 sy…

什么是pmp证书,pmp证书有什么用,pmp项目管理证书的认证考试时间是什么时候啊?

PMP是项目管理证书,目标是项目经理。 英文全称是Project Management Professional,中文全称叫做项目管理专业人士资格认证。 它是由美国项目管理协会(PMI)在全球范围内推出的针对项目经理的资格认证体系,严格评估项目…

贪心算法总结(未完结)

贪心的定义(摘自百度百科) 贪心算法(greedy algorithm,又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的…

LeetCode刷题:26. 删除有序数组中的重复项

文章目录 写在前面⭐️26. 删除有序数组中的重复项⭐️🔐题目描述💡解题思路🔑代码 写在前面 本题的题解代码是用C语言编写的。 📒博客主页:2023Fighting的博客主页 🎉欢迎关注🔎点赞&#x1f…

Springboot 使用JavaMailSender发送邮件 + Excel附件

目录 1.生成Excel表格 1.依赖设置 2.代码: 2.邮件发送 1.邮件发送功能实现-带附件 2.踩过的坑 1.附件名中文乱码问题 3.参考文章: 需求描述:项目审批完毕后,需要发送邮件通知相关人员,并且要附带数据库表生成的…

[ubuntu系统下的文本编辑器nano,vim,gedit,文件使用,以及版本更新问题]

文本编辑器概要 在Ubuntu系统下,有许多文本编辑器可供选择,每个编辑器都有其独特的特性和用途。以下是一些常见的文本编辑器: Gedit: 这是Ubuntu默认的文本编辑器,它简单易用,适合基本的文本编辑任务。 安…

Java采集传感器数据,亲测有效!

背景 先说背景, 最近公司项目需要用到传感器,采集设备温湿度,倾斜角,电流…,公司采购采购了一个温湿度传感器给我们开发测试使用,如下图: 看着还挺精致有没有。 进入正题 有了这个温湿度传感器…

【Leetcode】【每日一题】【中等】1465. 切割后面积最大的蛋糕

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/maximum-area-of-a-piece-of-cak…