`

详解iOS和Android在测试上的不同

 
阅读更多



只有了解iOS和Android操作系统的不同设计理念,才能更好地设计测试用例,更全面地测试App。

Android的App测试设备的碎片化

对于iOS操作系统,App只需要支持有限的设备和分辨率,不需要像Android测试App时操心设备的碎片化对App的影响。Google公司采用的是开放的策略,所以很多厂商都会对Android进行订制,使得采用Android操作系统的设备铺天盖地,Android的碎片化也很严重。

Android App更容易受到恶意软件的攻击

开放策略下导致App的apk安装文件被破解的几率比iOS要高一些,所以更需要确保App的安全。

iOS和Android对于App间通信的处理方式不一样

iOS操作系统对于App的运行机制做出了限制,绝大多数情况下App进入后台后会马上进入suspend或terminate状态,也就是说不能执行代码;iOS中也没有类似Android中Service的概念,但存在某些例外。

某些重要的任务,例如保存用户数据、网络下载等,可以申请一小段限定时间的后台运行时间,长度大概在600s左右,所以在短时间段内能进行的操作非常有限。

某些特点类型的App可以获得没有时间限制的后台运行,包括音乐播放类,音频录制类,定位/导航类,VoIP类,下载类,定期更新类。

Apple公司提供了iOS内的App调用协议URL Schema来处理。

Android和iOS就是否支持扩展存储有所不同
iOS和Android对Widget的实现和使用不同
测试Android App对于Dalvik和ART运行环境(RunTime)的兼容性
测试iOS App在特定设置下的行为

对于iOS App而言,在iOS 8出现之前Apple公司对于产品的升级,都会考虑到不同设备上分辨率的不一致,但是随着iOS 8和iPhone 6以及6Plus的推出,iPhone 6以及6Plus上具备的放大显示的功能会让App在标准显示和放大显示的模式下,显示效果有所不同,所以测试人员需要对这两种模式下的显示效果进行测试。

iOS操作系统的内存管理机制以及对App使用内存的限制是很不透明的

由于iOS上并没有真正的多任务,也没有swap机制,所以iOS操作系统在内存不足时会先对App进行内存占用预警,如果App持续消耗内存直到iOS操作系统允许的最大值,iOS会直接“杀掉”App进程。

测试人员可以使用App所支持的iOS设备总内存最小的设备,使用Xcode来检查App对内存的使用是否超出了限制,尽量减少App对内存的不必要使用,顺便检查App是否有内存泄漏。

Android操作系统的内存管理机制更加透明,对App使用内存的限制也更加灵活
在不同Android设备上,每个App可以使用的内存量是不同的,测试人员可以通过打开/system/build.prop文件来查看App最大可用Dalvik内存大小是多少。
分享到:
评论

相关推荐

    Bluetooth LE for iOS and Android v2.3

    5. **兼容性测试**:由于不同设备和操作系统版本可能有不同的蓝牙实现,因此在开发过程中,务必进行全面的兼容性测试,确保应用能在多种设备上正常工作。 总之,Bluetooth LE for iOS and Android v2.3是Unity3D...

    Android 仿IOS3D滚轮选择器

    - 兼容性测试:确保在不同版本的Android系统和不同分辨率的设备上都能正常工作。 - 用户交互设计:考虑用户体验,例如滚动速度的控制、选中状态的反馈等。 - 错误处理:添加异常处理机制,处理可能出现的问题,如...

    UMP Pro 【Android iOS2.0.2】.rar

    1. **跨平台兼容性**:UMP Pro兼容Android和iOS两大主流移动操作系统,确保应用能在多种设备上无缝运行。 2. **RTSP协议支持**:插件支持所有遵循RTSP协议的摄像头,这意味着你可以连接到各种不同品牌和型号的网络...

    UMP2.0.3 支持WIn,Android,Ios等 unity 测试版本2020.3.26f1c1

    UMP2.0.3是针对Unity的一款重要插件,它特别强调对Windows、Android以及iOS平台的支持,使得开发者能够轻松地在这些平台上进行游戏测试和部署。本文将详细介绍UMP2.0.3的主要特性、兼容性以及如何将其整合到Unity...

    渗透测试环境搭建常用命令方法checklist(iOS&&Android).zip

    在这个"渗透测试环境搭建常用命令方法checklist(iOS&&Android)"中,我们主要关注的是针对iOS和Android平台的渗透测试环境构建和相关命令的使用。以下是相关的知识点详解: 1. **iOS渗透测试环境**: - **Xcode...

    使用flutter开发的v2ex客户端,支持Android和iOS设备.zip

    7. **多平台兼容性**: 开发者需要考虑不同平台的特性,确保应用在Android和iOS上都有良好的用户体验。这可能涉及到适配不同设备的屏幕尺寸、操作系统版本差异以及用户习惯等。 8. **状态管理**: 在大型应用中,状态...

    使用Appuim进行ios-app功能自动化测试1

    它跨平台,可以在iOS和Android等操作系统上运行,并且与Firefox OS兼容。Appium的核心优势在于无需对应用程序进行任何编译或修改,即可在所有平台上使用标准自动化API。 1. **Appium框架详解** - 跨平台性:Appium...

    手机测试详解+monkey稳定性测试

    兼容性测试是为了验证APP在不同设备上的表现是否一致。 - **测试流程**: - 确定测试设备型号:依据市场占有率排名确定。 - 获取测试设备:购买少量测试机、借用同事设备或使用云测试服务。 - 测试方法:安装、...

    app测试常见面试题汇总

    【iOS与Android测试差异】 1. **物理特性**:iOS设备相对封闭,测试设备较少;Android设备多样,需考虑更多设备适配。 2. **权限控制**:iOS权限控制严格,测试需考虑权限请求策略;Android权限相对宽松。 3. **...

    Android自动化测试工具解决方案iTestin

    综上所述,iTestin是一款功能强大且实用的自动化测试工具,它不仅能够满足Android和iOS设备的测试需求,还通过云测试的方式极大地提高了测试效率。对于移动开发者而言,利用iTestin可以更高效地完成测试任务,确保...

    安卓IOS风格相关-仿ios中的RESideMenu.rar

    【标题解析】 "安卓IOS风格相关-仿ios中的RESideMenu.rar" 这个标题表明,这是一个关于Android应用...通过研究和实践,不仅可以掌握如何在Android上实现iOS风格的侧滑菜单,还能深入了解Android的UI设计和开发流程。

    hybrid_example:适用于 iOS 和 Android 的混合应用程序示例

    "hybrid_example:适用于 iOS 和 Android 的混合应用程序示例"是一个很好的学习资源,旨在帮助开发者理解如何构建既能运行在iOS又能在Android平台上,并且利用JavaScript技术的混合应用。 **什么是混合应用程序?** ...

    CopiCon:适用于iOS和Android的占位符图像(图标和启动图像)

    在压缩包"CopiCon-master"中,你将找到组织良好的资源文件,可能包括SVG、PNG等多种格式的图像文件,分别对应iOS和Android的不同需求。开发者可以轻松地将这些占位符整合到项目中,或者根据需要自定义它们的颜色和...

    ios按键脚本

    3. Appium:这是一个跨平台的自动化测试框架,支持iOS和Android。Appium允许开发者用Java、Python、Ruby等多语言编写测试脚本,通过WebDriver协议与设备进行通信。 二、Xcode UI Testing详解 1. XCTest:Xcode UI ...

    自动化测试的相关工具详解.pdf

    - **多语言支持**:支持多种编程语言(如Python、Java等),同一套测试脚本可以在iOS和Android平台上通用。 - **C/S架构**:核心组件为一个Web服务器,提供RESTful接口。 - **命令执行**:接受客户端命令,执行...

    微信支付V3版(Android Demo和IOS Demo、官方文档)

    本文将详细介绍微信支付V3版在Android和iOS平台上的应用及其官方文档。 一、微信支付V3版概述 微信支付V3版的核心在于其API接口,开发者可以通过调用这些接口实现商品购买、订单支付、退款等功能。此版本优化了支付...

    C# Xamarin 史上最完整版教程 详解

    C# Xamarin 是一个强大的跨平台移动应用开发框架,它允许开发者使用C#语言和.NET框架构建原生的iOS、Android以及Windows应用。本教程将深入探讨C# Xamarin的各个方面,帮助开发者掌握创建多平台应用程序的技能。 ...

    Android应用开发详解_源码.rar

    10. **Android Studio**:作为官方推荐的IDE,Android Studio提供了丰富的功能,如代码自动完成、性能分析、单元测试支持和Gradle构建系统,极大地提高了开发效率。 11. **Android组件间通信**:BroadcastReceiver...

    软件测试自动化技术与实例详解.rar

    8. **移动应用测试**:针对iOS和Android应用的自动化测试,如Appium框架的应用。 9. **测试管理工具**:如TestRail、JIRA,用于管理和跟踪测试用例和缺陷。 10. **最佳实践和挑战**:包括测试环境的搭建、测试数据...

Global site tag (gtag.js) - Google Analytics