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. typecheck()简析

    #define typecheck(type,x) \ ({ type __dummy; \ typeof(x) __dummy2; \ (void)(&__dummy == &__d ...

  2. Objective-c中的单例

    单例是指静态分配的实例,就是只开辟一块内存,不会重新开辟内存,而 iphone sdk 中全是这种实例,例如[UIApplication sharedApplication] 返回一个指向代表应用程序 ...

  3. 多线程学习之三生产者消费者模式Guarded Suspension

    Guarded Suspension[生产消费者模式] 一:guarded suspension的参与者--->guardedObject(被防卫)参与者                1.1该 ...

  4. 一步一步写算法(之prim算法 上)

    原文:一步一步写算法(之prim算法 上) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 前面我们讨论了图的创建.添加.删除和保存等问题.今 ...

  5. ubuntu eclipse android搭建

    1.eclipse加入android adt: 终端:sudo gedit /etc/hosts 加入: #for android 173.194.72.93 dl.google.com 173.19 ...

  6. IT行业新名词--透明手机/OCR(光学字符识别)/夹背电池

    透明手机 机身设计的一大关键部分是可替换玻璃的使用,利用导电技术,在看不到线路的环境下,让LED发光. 这样的玻璃内含液晶分子,对于内容的显示则是通过电流对分子的刺激来实现.当手机断电后,分子位置会随 ...

  7. MVC的TryUpdateModel

    MVC的TryUpdateModel 我们在使用MVC的时候,给model赋值只需要 TryUpdateModel(model) 就搞定了,而在webForm,winForm中,我们要写长长的 xx. ...

  8. 添加MySql Metat Database 信息

    有时候我们想看看 一个数据库上面 某种元素(比如表名)的所有信息,在Mysql上 我们可以通过引入information_schema 的方式,就可以非常方便的查看到. 添加步骤 Edit->P ...

  9. css3中webkit-box的用法(平分父元素)

    display:box;box-flex是css3新添加的盒子模型属性,它的出现可以解决我们通过N多结构.css实现的布局方式.经典的一个布局应用就是布局的垂直等高.水平均分.按比例划分.目前box- ...

  10. [转] 关于 Eclipse 导出 Android项目 JavaDoc 详细过程

    关于Eclipse 导出JavaDoc过程中,遇到的问题 ,google 了一下 ,网友们 总说不一 ,最终 还是 搞定了 现在分享给大家 希望对大家有所帮助 用Eclipse默认的 JavaDoc需 ...