iOS 应用测试最佳实践

IOS改变了移动游戏,毫无疑问。它为“移动时代”铺平了道路,通过简单的用户体验提供惊人的功能。然而涉及到测试与监控,使用iPhone/iPad移动应用程序是除了简单之外的任何事情。

随着IOS应用市场持续生产记录增长,围绕着iOS应用测试的挑战与复杂性也继续干扰发展。IOS测试的一个关键挑战就是,不像开源的Android系统,苹果的IOS是一个封闭的操作系统。在开发与测试阶段增加的复杂性也就发生在了这样一个封闭的系统。因为用户无法从低级对象中提取必要的数据,而这对测试自动化来说是必不可少的。所以,获取IOS设备必须的访问级别的最佳方式是什么呢?- 越狱还是编译时源仪器呢?你应该基于本地对象测试还是基于OCR屏幕分析呢?

让我们来深入观察其中一些挑战,为了给开发与测试人员提供必要的覆盖、容量与灵活度以交付更好的iOS应用并有信心地部署它们,为什么基于云的混合方法是重要的。

系统最高权限(越狱) vs. 源仪表(编译时)

在今天的移动测试行业有两种常用的方法来解决这个挑战(即访问低级对象):获取系统最高权限(越狱)与源仪表(即编译时解决方案)。

越狱是指去除由苹果放置于iOS设备上权限的过程,为了获取低级别(根)访问操作系统。这就使得测试者能够识别应用程序内被测的对象。

源仪表是通过用一段提供访问(“后门”)低级操作系统进行目标识别的代码来编译被测应用程序执行的。这个代码运行测试人员执行低级别调用,并取得操作系统的对象IDs(没有必要获取最高权限或越狱设备)。

决定通过采取什么方法强烈依赖于几个因素(下面只是一部分):

1)使用软件开发生命周期流程(SDLC process)

2)公司政策

3)被测应用程序

4)测试频率

Perfecto Mobile应用提供其终端用户自由选择适合他们的应用程序,考虑到每种方法的优缺点。当客户要求快速测试一个iOS应用的新版本或者新的iOS设备时,越狱方法就不太合适。在这种情况下,编译时方法是可取的——即使它通过引入附加代码到被测应用程序使得SDLC流程更加复杂。

另一方面,使用越狱设备让你测试将被发布的精确代码(编译时则在商店提交前管制了这个,你要么移除“后门”,要么就暴露在严重的安全问题下)。这消除了编译与入侵操作的需要,而这些有可能带来潜在的质量风险。使用编译时方法的公司也应该考虑可能的法规(比如HIPPA)在最后一个二进制上执行测试(而不是在调试版本,测试友好版本,等等)。

混合方法让你选择在哪种iOS设备上执行哪种测试,根据应用程序的性质、项目需求与政策。当测试设备被部署和安全管理在一个“私有云”(比如由Perfecto Mobile提供的),这样一种配置就保证越狱方法不会引入任何风险或非测试目的进行的平台的滥用。越狱设备仅仅在一个封闭而安全的测试环境下为测试目的而使用,这与开发时使用iOS设备都需有个“开发者证书”是类似的。同样使用Android设备开发拥有比那些普通ALM周期中所需的更多访问级别也是一样。

对象识别的混合方法需求

测试移动应用需要强大的对象识别能力。可视化分析可能是不够充分的,例如,OCR技术能检测测试设备上的UI问题与故障,但不能保证100%的精准由于其启发式特性。另外,低级别对象可能“错过”可视化分析很容易就检测到的明显资格。这就是为什么可视化分析与本地对象分析的结合势在必行,来覆盖所有移动业务案例。这种方法是被Perfecto Mobile所支持的。

对象级别分析vs.视觉分析

对象级别分析不会检测到文本上按钮的重叠。

Perfecto Mobile方法:云,混合

Perfecto Mobile作为一个市场领头人的经验告诉我们,最好的方式就是向每个客户展示所有可能的方案使之在云端使用。

原文地址:https://www.cnblogs.com/missyxu/p/best-practices-ios-app-testing.html