只有了解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调用协议URLSchema来处理。
 
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内存大小是多少。