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

iOS 应用测试最佳实践的更多相关文章

  1. iOS应用开发最佳实践

    <iOS应用开发最佳实践> 基本信息 作者: 王浩    出版社:电子工业出版社 ISBN:9787121207679 上架时间:2013-7-22 出版日期:2013 年8月 开本:16 ...

  2. CODING DevOps 线下沙龙回顾二:SDK 测试最佳实践

    讲师:潘志刚 声网质量效能部门负责人,超过 14 年服务器.移动终端.音视频编解码以及汽车电子等跨行业从业经历,负责建立测试基础架构和自动化测试方案,主持搭建持续集成测试生态体系.现任声网质量效能部门 ...

  3. [翻译] API测试最佳实践 - 身份验证(Authentication)

    API测试最佳实践 - 身份验证 适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了 ...

  4. iOS应用开发最佳实践:编写高质量的Objective-C代码

    本文转载至 http://www.cocoachina.com/industry/20131129/7445.html 点标记语法 属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问 ...

  5. API测试最佳实践 - 身份验证

    适用等级:高级 1. 概况 身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者).一旦一个用户的身份验证通过了,他将被授权访问那些期待访问的资源 ...

  6. iOS应用开发最佳实践系列一:编写高质量的Objective-C代码

          本文由海水的味道编译整理,转载请注明译者和出处,请勿用于商业用途! 点标记语法 属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问,其他的情况使用方括号标记语法. 良好的 ...

  7. [翻译] API测试最佳实践 - 组织你的测试

    组织你的测试 适用级别:初学者 在最底层,一个测试步骤(Test Step)用来验证一个单独的操作.组合若干测试步骤到测试用例,允许你验证那些被分隔出来的一个一个的功能,这些功能是应用程序所需要的.接 ...

  8. 【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库Sysbench测试最佳实践

    引言 作为一名DBA,时常需要对某些数据库进行一些基准测试,进而掌握数据库的性能情况.本文就针对sysbench展开介绍,帮助大家了解sysbench的一般使用方法. ​ sysbench简介 什么是 ...

  9. CI Weekly #18 | flow.ci iOS 最佳实践出炉,正式支持 Git@OSC 构建

    如大家所期待,flow.ci 现已支持开源中国的代码仓库 - 码云,可以直接构建 Git@OSC 的项目了,点击创建项目-选择代码仓库-选择码云-绑定 OSChina 账户-选择要构建项目,教程看这里 ...

随机推荐

  1. zsh的安装与配置

    参考: http://cnbin.github.io/blog/2015/06/01/mac-zsh-an-zhuang-he-shi-yong/ http://www.cnblogs.com/ios ...

  2. 几个常用的CSS3样式代码以及不兼容的解决办法

    原文:几个常用的CSS3样式代码以及不兼容的解决办法 border-radius实现圆角效果 CSS3代码: -webkit-border-radius:10px; -moz-border-radiu ...

  3. 小结php中几种网页跳转

    1.使用网页中<a href=.....></a>实现跳转: 2.<form action="php_request2.php" method=&qu ...

  4. SqlDataReader的关闭问题

    原文:SqlDataReader的关闭问题 昨天一个朋友使用Repeater绑定数据源时,老是出现"阅读器关闭时尝试调用 FieldCount 无效."错误. 我看了他的代码,使用 ...

  5. javascript 学习总结(三)Boolean对象

    Boolean对象 /* 创建 Boolean 对象的语法: new Boolean(value); //构造函数 Boolean(value); //转换函数 参数 value 由布尔对象存放的值或 ...

  6. 华丽的NHibernate

    华丽的NHibernate http://www.cnblogs.com/kissdodog/archive/2013/02/21/2919886.html 华丽的NHibernate NHibern ...

  7. oracle中intersect的用法

    和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的.不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 I ...

  8. Unit Of Work-工作单元

    Unit Of Work-工作单元 阅读目录: 概念中的理解 代码中的实现 后记 掀起了你的盖头来,让我看你的眼睛,你的眼睛明又亮呀,好像那水波一模样:掀起了你的盖头来,让我看你的脸儿,看看你的脸儿红 ...

  9. 【分享】SAS统计分析软件学习教程电子书合集下载

    SAS是著名的统计分析软件,全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件. 转 ...

  10. android判断网络的类型

    转自:http://blog.csdn.net/xxxsz/article/details/8199031 判断网络类型是wifi,还是3G,还是2G网络 对不同的网络进行不同的处理,现将判断方法整理 ...