详解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 内存大小是多少。

全部评论

相关推荐

评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务