如何测试Android应用多终端适配?

2012-05-16 09:50:27来源:极客公园作者:depthsky

Android 碎片化的问题确实困扰的不少的应用开发商,Animoca 是香港的一个应用开发商,它的应用已经有7000万下载量,为了让应用有最佳的表现,他们购买了400多款手机对应用进行质量测试。

Android 碎片化的问题确实困扰的不少的应用开发商,Animoca 是香港的一个应用开发商,它的应用已经有7000万下载量,为了让应用有最佳的表现,他们购买了400多款手机对应用进行质量测试。

下面的这张照片是 Animoca 的用于测试的Android的设备全家福。Animoca 母公司 Outblaze CEO Yat Siu 称他们在网络上已经检测出有600多款不同的 Android 设备,而更糟糕的是,有很大的一部分设备在市面上已经无法买到。

如何测试Android应用多终端适配?

Android 系统由谷歌开发,以开源软件方式免费提供给全球手机和平板电脑厂商,外部厂商可以自由修改定制,这导致市场上的 Android 系统版本极为凌乱,缺乏统一管理也导致 Android 平台上出现了大量吸取用户话费的恶意应用。不过面对业界长期抱怨的 Android 平台碎片化问题,谷歌似乎仍未找到解决的良方。

Android 平台碎片化来源——终端难题

对于终端厂商和开发者来说,版本升级与适配测试工作是十分繁琐、复杂的,需要完成大量的软件开发、测试、适配和认证。

\

当 Google 将开放源代码录入 Android 开源项目库时,整个更新过程才能开始,而这通常只能是 Google 推出新的体验设备时才会有的。原始设备制造商必须要获得该代码,并整合到内部代码树,此时,这项工作才算开始。接下来,一般要面临三个阶段:

第一阶段:优化硬件抽象层(HAL)

硬件抽象层是 Android 的软件层的基础,这样才可以使软件访问硬件设备。为适应 Android4.0 系统,Google 采用了 TI OMAP 作为操作系统基础开发平台,这就让很多制造商不得不更新他们的 HAL,因为他们使用的不是基于 TI OMAP 的硬件方案,或者是高通,三星,联发科,ROCKCHIP 等等。不过同样是不以 TI 硬件作为开发平台,厂商升级的难易度也不尽相同,加之众多的产品型号、外形、屏幕尺寸和规格差异很大,HAL将需要针对每一个设备进行微调。

第二阶段:Android 定制修改

终端厂商为了满足自己运营商和其他合作伙伴的需求,开始对 Android 做定制修改。他们做了修补程序,自定义接口和其他一些杂项的修改,并对由此产生的系统ROM进行测试。所有的原始设备制造商都必须在定制 Android 平台后进行内部测试、入网测试、内置应用程序测试等环节。

第三阶段:网络部署

根据不同的设备和运营商,网络部署更新会有所不同。厂商倾向于通过测试小组测试来查找漏洞,然后再把更新公布给成千上万的普通用户。这就是所谓的浸泡测试。制造商可能会有几十个测试设备,但它们也无法测到每一个可能的软件和设置组合。通过浸泡测试,能在更新发布前避免BUG流出到用户手中。如果一切进行的顺利的话,这个更新就可以发布。

Android 平台碎片化危害——应用适配现状

随着 Android 终端的迅猛发展和普及,越来越多的 App 与终端的不适配导致的 App 应用不能安装、程序崩溃、意外终止等问题越来越多地困扰着广大的用户,也是终端厂商遭到投诉最多的一类问题,糟糕的口碑也使得愈加激烈的终端市场竞争雪上加霜。另一方面,大量终端厂商的低成本、低配置 Android 终端,以异常迅猛的趋势覆盖国内二三线城市、中亚和非洲国家市场,使得 App 应用和终端的不适配问题迅速国际化。据独立第三方测试机构Testin 的数据表明,目前中国主流的 App 应用对 Android 系统的适配率不到 70% 。同时,有接近半数的应用存在严重缺陷,主要体现在无法安装、点击后闪退、启动时间超长、UI错位、运行不稳定、与其他应用程序冲突等问题 。

谷歌的官方电子市场在一定程度上能测试和解决应用的适配,但基于国内的网络环境和混乱市场环境,普通用户还是看得到,用不到。

\

移动开发的一个重要难题,就是应用在开发过程中,必须使用手机真实环境进行测试,才有可能进入商用。由于手机操作系统的不同,以及操作系统版本之间的差异,使得真机测试这个过程尤其复杂,涉及终端、人员、工具、时间、管理等方面的问题。所有的移动互联网应用,测试是一个应用的必备环节,并且需要重复测试保证各种使用场景下的稳定性,在目前,全球移动互联网的应用测试绝大部分都是由人手工执行,少有的企业级解决方案灵活性很差,费用昂贵(国企专用哦,中小开发者们看看就行了)。

企业应用适配解决方案

一般大型企业通常都会选择诸如HP Business Process Testing之类的企业级应用方案,HP Business Process Testing 软件支持创建实际为模块、可重用的测试案例,帮助确定自动化测试的最佳方案。 它采用准确涵盖各项功能的业务流程,为业务分析师设计和调整测试提供了一种无需编写脚本的机制,与此同时,支持测试工程师专注于自动化的子系统。 HP Business Process Testing 软件无需您创建和维持定制框架。但事实上作为这样一款定位为企业级的应用,惠普的服务费用高昂,并不是所有中小型开发者都能够负担。(更多详细介绍见这里)

个人应用适配解决方案

国内开发者大多都会买测试机来测试,但很少有开发者能向本文开头介绍的那样买 400 多款手机对应用进行质量测试。不管是时间成本还是金钱成本都远远超出中小开发者的承受能力。

Testin 是一家面向全球互联网开发者和运营企业提供7x24自动真机 App 测试的 SaaS 服务平台,为广大移动 App 开发者提供免费的测试服务,建立面向全球 App 开发者的 App 在线云测试平台,以帮助各国移动 App 开发者可以随时选择全球或特定市场型号的终端、对 App 进行针对性的兼容适配性测试。更重要的是,it's free。

Testin 平台的操作性:

如图所示:

\

开发者向 Testin 提交 App,Testin 平台根据任务要求可以在全球的任何地点、网络、终端上自动测试这些 App,然后将测试结果即可交付给开发者。开发者会拿到关于应用适配的数据报告,同时,Testin 还提供自动脚本测试服务,开发者可以自定义脚本,让应用在Testin 的真机上按照自己设定的方式运行,以测试应用的操作性和稳定性。

以《商业价值》客户端测试为例:

1:上传 App 到 Testin 的云端,选择需要测试的机型。

\

2:由 Testin 分布在全国各地的不同环境下的真机自动安装运行 App,记录每一个环节并截图和生成 log 日志。

\

3:真机自动运行完成后,会生成数据报告,供开发者下载查看,数据报告包括应用的适配率,应用适配主要错误出现环节等。

\

Testin 平台的安全性:

1)所有在 Testin 测试平台提交的 App 测试用户可以自定义报告展示与否;

2)所有提交到 Testin 测试的 App 都将以黑盒的方式进行测试,完全不涉及程序代码;

3)目前 Testin 推出一款 Itest 测试客户端,用户可以自己录制测试脚本,只需将脚本提交测试平台即可,完全不涉及应用程序数据包;

4)所有提交到 Testin 测试平台的 App 数据包都会有相关保密协议;

Testin 在上周应用测试数突破了百万次,正在为全球数以万计开发者提供免费的测试服务。

附测试机机柜实体图一张。

\

笔者在对 Testin CEO 王军采访的时候,聊到他参加 GMIC2012 全球互联网大会期间,开发著名益智游戏割绳子(Cut the Rope)的 iFree 亚洲 CEO Evgeny Kosolapov 曾告诉他:“中国的山寨 Android 终端已经严重地困扰着他和他们的用户。”这算是真正的中国改变世界吗?

赞助商链接: