当前位置:首页 > 测试测量 > 测试测量
[导读]近年来,随着智能手机操作系统的快速发展,在技术和需求层面上为手机自动化测试提供了丰富土壤,手机自动化测试越发成为广受瞩目的热门技术和重要研究领域。笔者在从事OPhone自动化测试工作过程中,对业内开展自动化

近年来,随着智能手机操作系统的快速发展,在技术和需求层面上为手机自动化测试提供了丰富土壤,手机自动化测试越发成为广受瞩目的热门技术和重要研究领域。

笔者在从事OPhone自动化测试工作过程中,对业内开展自动化测试的情况进行过一些粗浅的研究和总结。总体来说,目前手机自动化测试技术大体可分为白盒测试和黑盒测试两种。

白盒测试

在手机自动化测试领域,白盒测试包括两种类型,第一种是传统软件测试理论中所指的白盒测试,即依赖被测对象的源代码具体实现的测试方式。在手机软件开发过程中所做的单元测试即属于此类型。第二种则是结合手机软件自身特点,对传统概念做了一些延伸。它指的是通过解析、控制和校验手机GUI控件元素对手机进行测试的方式。这种方式不必一定依赖于被测对象的源代码,但对于被测对象的GUI实现有较强的关联性。这种类型的白盒测试一般用于验证应用程序功能和界面显示正确性的功能测试。如果测试框架足够好,也可用来做自动化的性能测试、压力测试等。

目前几大主流手机操作系统对上述两种白盒测试方式都有很好的支持。例如,对于第一种类型:iOS在开发环境Xcode中提供了OCUnit框架;Android在SDK中集成了JUnit框架;Windows Phone 7可以使用Silverlight Unit Test Framework;Symbian在开发工具中提供了EUnit框架,同时还有Symbian OS Unit框架可供使用。总得来看,各个系统采用的都是xUnit这一业界广泛接受的理念。

图1 Android开发环境中集成的JUnit测试框架

第二种类型的白盒测试实现起来要比第一种类型复杂,因为它不仅要做到对界面组成元素的解析、识别、调用和比对,更要做到对被测应用所在进程做诸如发送触屏事件、发送按键事件这样的操作控制。当前,除Windows Phone 7尚不明确外,各主流系统均提供了这样的能力,如iOS系统从4.0版本开始增加的UI Automation instrument、Android从发布伊始就提供的 JUit和Instrumentation、Windows Mobile 6在SDK中集成的WMTF框架、Symbian 3基于QT开发的Testability Driver框架。图2 Symbian 3的Testability Driver框架基本架构图

图2 Symbian 3的Testability Driver框架基本架构图

白盒测试具有测试效率高、测试运行稳定性好、不易受UI改动影响等优点,但测试脚本往往采用编程语言(Android/OPhone的白盒测试脚本使用java语言开发)、脚本开发技术门槛高,同时会受到操作系统本身特性的限制,跨进程测试实现困难(在Android/OPhone上,如在编辑彩信时跳转到文件管理器里挑选附件,后续测试脚本是无法执行的,因为文件管理器和彩信不在同一个进程中)。

黑盒测试

相对于白盒测试而言,黑盒测试指的是通过外部指令驱动手机并通过外部方式进行测试结果校验的测试方式,即不考虑系统本身提供的自动化测试能力,所有的测试行为均在系统外部进行。比较典型的自动化黑盒测试方案是:通过手机操作系统对外提供的接口向手机发送触屏、按键等指令控制手机执行各种操作,同时将特定操作步骤执行后的手机当前屏幕显示做截图,再将截图数据通过图像对比或OCR的方式进行结果校验。

黑盒测试方式多被手机厂商或独立的手机自动化测试工具提供商所采用。像诺基亚在S40平台上使用的Austere C、在S60平台上使用的ART2、摩托罗拉在非智能机平台上使用的FlexAuto、索爱在多个产品平台上使用的BRAT、独立软件开发商BSQUARE公司的CountDown均属于黑盒自动化测试系统。

图3 BSQUARE公司的CountDown

黑盒测试方式不受操作系统内部特性的限制(如可以避免跨进程操作的限制),对手机操作系统本身是否具备高级的自动化测试能力也没有很高的要求;测试脚本可以采用描述性语言,而且可以提供简单易用的图形化操作界面,降低了使用门槛,有利于自动化测试在测试团队中的大范围推广。但由于使用图像对比或OCR的方式做结果校验,测试脚本受UI变动的影响较大,脚本维护成本会比较高;在执行效率、不同规格的手机适配便利性方面也不如白盒测试方式。

由于白盒测试和黑盒测试各有利弊,一般来说,在实际测试项目中,两种测试方式会配合使用、各取所长。

OPhone的自动化测试

OPhone走的是Android+ 路线,自然继承了Android在自动化测试方面的能力。目前OPhone在白盒自动化测试方面使用的也是JUnit+Instrumentation框架,对上述两种白盒测试类型都能很好的支持。黑盒自动化测试方面,OPhone目前有两套自己的黑盒测试系统A-Tool和OSTT,分别用于平台测试的各环节(如功能测试、压力测试、交互测试等)和OPhone专项测试中的MTBF(平均无故障时间)测试。基于两套测试框架共开发出近万个测试脚本,覆盖了大多数应用层模块和部分底层模块。基于以上框架开发的分布式测试系统和多框架集成测试系统已经投入使用或即将完成研发。同时OPhone还具有自行开发或引进的各类自动化测试工具24款,类型涵盖了功能测试工具、压力测试工具、性能测试工具、MTBF稳定性测试工具、测试辅助工具和系统监控工具。

通过构建自动化测试框架、开发自动化测试脚本、构建自动化测试系统和开发自动化测试工具,OPhone已经初步形成了较为完善的自动化测试体系。自动化测试已经应用在OPhone平台开发流程中的各个环节,例如每日构建出来后自动执行版本检查,对各软件模块进行单元测试,对系统进行自动化功能测试和自动化系统测试,产品上市前还有自动化的MTBF测试。

由于手机产品与用户有密切的交互,很多功能需要以测试人员的主观感受作为检验结果的依据,所以人工测试仍会在手机测试工作中占主导地位。但随着自动化测试技术的发展,会有越来越多的人工测试可以被自动化测试所替代,也会有越来越多的人工无法完成的测试任务被自动化测试所实现。如何更好的实施自动化测试,仍将会是业内关注的热点。OPhone团队也将继续在此方面进行有益的探索和实践,以此提升OPhone测试水平,更好的保障OPhone产品的质量。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

东莞2023年9月7日 /美通社/ -- 9月6日,国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(简称"TÜV莱茵")与维沃移动通信有限公司(简称"vivo&...

关键字: VIVO 测试技术 硬件测试 射频

新项目为e络盟社区成员敞开了自动化测试大门

关键字: 自动化测试 图形化编程

罗德与施瓦茨公司(以下简称"R&S公司")开发了全新的R&SZNrun自动化测试。对于完全自动化验证PCIex8线缆,软件可以控制一个由R&SZNB矢量网络分析仪和可扩展的R&SOSP开关矩阵组成的测试配置,创建一个具有...

关键字: 自动化测试 PCIe系统

中国上海,2023年7月10日 – 安富利旗下全球电子元器件产品与解决方案分销商e络盟将携手全球自动化测试和测量系统领先制造商NI亮相2023慕尼黑上海电子展。届时,二者将共同展示NI一系列精选测试与测量产品,以满足工程...

关键字: 自动化测试 测量系统

行业调研数据显示,芯片行业的产值和营收一直在不断提高,同时其地位受到大众的关注。光刻机在芯片领域当然独占鳌头,但一颗芯片的成功不只取决于光刻部分,测试对芯片的质量更有不容忽视的意义。

关键字: 光刻机 自动化测试 芯片制造

3月22-24日,第30届测试与故障诊断技术研讨会在武汉华天大酒店隆重举办。本次研讨会旨在贯彻落实科技强国战略,促进智能测试、故障诊断等关键核心技术的攻关和产业化应用,提升技术创新能力,并邀请了相关领域内包括知名高校和知...

关键字: 测试技术 测试与故障诊断

在最近举行的i14y Lab O-RAN服务和平台互操作性测试会议(这是O-RAN 联盟2022年秋季全球互操作性测试会议的一部分)上,罗德与施瓦茨(以下简称"R&S"公司)和VIAVI So...

关键字: 罗德与施瓦茨 ORAN射频单元 自动化测试

当前,百行百业持续推进数字化转型,软件测试作为提质增效和预防风控的保障作用日益凸显。11月3日,紫光股份旗下新华三集团联合中国软件测试认证委员会(CSTQB®)、TMMi基金会中国分会(TMMiCN)共同举办“数字化转型...

关键字: 新华三 测试技术 数字化转型

华为全联接大会2022在深圳和线上举办。华为云CEO张平安发表“构筑行业云底座,一切皆服务”主题演讲,分享了华为云在“构建全球存算网”“加速应用现代化”“使能产业上云”三个方面的创新实践,并发布15大云服务新品和能力升级...

关键字: 华为 华为云 软件 OPHONE

(全球TMT2022年10月11日讯)10月10号,彩色星球科技(简称:彩星科技)参加在迪拜举行的2022中东电脑及网络信息展GITEX(Gitex Technology Week)。彩星科技设立专业展台,介绍彩色元宇...

关键字: OPHONE GIT TECHNOLOGY
关闭
关闭