Android Visual UserInterface测试技术

时间:2022-09-22 05:31:11

Android Visual UserInterface测试技术

Android在短短3年间已成为嵌入式装置发展重要的平台之一,除手机之外各项新兴领域装置渐趋多元,并衍生出各式各样的功

>> Android软件测试技术分析 Android移动应用测试 Android开发常用技术初探 Android应用软件测试研究 OLE技术在Visual FoxPro中的应用 Visual FoxPro数据库技术及其应用 Visual Basic中ADO编程技术探析 串口通信技术在Visual C++中的实现 基于Android 的推送技术分析 基于Android的多线程处理技术 Android应用开发技术及平台搭建 Android开发技术的教学与研究 刍议Android底层接口开发技术实践 浅析Android应用软件的黑盒测试方法 基于Visual Basic的宁夏建设用地消耗考核系统的内容和关键技术 浅谈Visual FoxPro数据库加密技术及其应用 基于Visual C++的数据库访问技术比较研究 Visual Basic和SOL技术在学生信息管理系统中的应用探究 Visual Foxpro数据库技术在学籍管理中的一种应用 关于Visual Basic中远程数据库技术的探讨 常见问题解答 当前所在位置:l。

2、Google Mobile Service(GMS)

主要进行Google API的验证,但此部份并无法事先自行进行模拟测试,要交由Google进行认证授权,进行此测试项目认证的效益可分为两种:(1)测试完成后要在装置上印有Google商标。(2)仅需要使用Google服务授权,如Google Map、Gmail Account等这都需要GoogIe提供自有的APl函式库,才能正确执行这些服务功能。

Android VisuaI user Interface测试技术

经由上述的介绍,可得知现有的标准测试工具(CTS、GMS)皆是针对Android Framework API进行测试,如图3所示,此方式是透过Java语言编写JUnit的方式再透过Android内建Instrumentatlon接口进行测试,此种测试方式称为白盒测试(white-box test),优点在于当错误发生后测试者可以很明确指出是哪一行程序、哪一个API发生问题以协助开发者除错,但缺点则为测试程序撰写人员必须清楚地了解程序运作,以及函式间运作流程。

但实际上有很多情况,测试人员根本没足够时间研究程序原始码便被要求提供测试项目,因此本文提供了一个黑盒测试(bIack-boxtest)应用,结合影像辨识技术来撰写测试案例,测试案例撰写过程中不需要更动Android装置轫体亦不需要了解程序API如何呼叫及使用,而是透过截取画面的方式来模拟人员操作动作并依据指令进行画面判读,此种测试的优点在于测试人员可以更快速、更直觉的撰写测试案例,大幅降低学习程序语言的门坎,同时透过程序自动化技术达成Android装置测试,可以避免人为操作疏失并可进行长时间压力测试,缺点则为无法明确指出错误发生位置,只知道程序发生错误。

Visual User Interface测试工具在影像辨识方面,结合了麻省理工学院(MIT)所提出Sikuli技术:这是 一种可透过截取影像(screenshots)自动搜寻判断用户图形接口的可视化技术,其运作流程如图4所示,截取之影像配合Sikuli Script透过API的方式利用底层的影像辨识引擎OpenCV,进行解析判读。

相较于传统测试,Sikuli有以下特点:

程序代码的可读性(readability)和易用性(usability)。透过屏幕截图方法将动作描述在程序代码里面,让使用者能直接“看到”想控制的对象,这是一种非常直觉的动作。

除直观上的UI自动化,提供了一种把使用者操作UI的互动过程利用截图方式记录下来的新方法。

举例来说,要执行一个特定的应用程序,只需要分别截取程序图标(ICON),并要求进行点击(Click)即可,如图5所示,一个完整的单元测试包括:初始化(Init)、结束(End)以及测试案例(Test Case)三部份,当执行测试时程序会先进行setUP函式(初始化)所要求的动作,接着按照testa(测试案例)所指定的步骤执行测试,当测试完成之后会进入到tearDown函式(结束),完成一个单元测试项目。

若是要在同一台测试主机执行多机测试时,例如:想要使用装置A传送简讯给装置B,此时就必须先规划屏幕动作范围,于程序初始化时定义出待测装置所在画面位置,如图6所示,将一个画面分成左右两部份,装置A所有操作指令必须在画面左方完成,同理装置B的动作必须在画面右方完成。定义测试范围此一动作除了适用于多机测试,亦可加快测试主机影像判读速度、减少CPU运算负载。

Visual User Interface测试工具其测试案例设计流程如图7所示,首先将依照测试案例文字描述,使用Python语法将动作描述出来,在特定的执行画面进行画面状态判读,并依据不同的测试主机加入延迟时间(DeIay),完成后会产生三种格式档案:png为截取画面图像文件、html以及py则为记录动作指令的描述文件,此时可以将其编译成为执行档(.ski),方便日后执行测试不需要再透过IDE接口,连接Android装置即可开始进行测试。

如图8所示,为一个Android测试示范系统,其中包含了以下几项组件:

・Android Control AppliCation:用来在主控端上仿真Android装置动作。

・Automation Test Interface:测试程序主控制画面,可选择测试项目。

・DUT:待测Android装置。

・Log&Report:记录装置测试动作与测试结果。

结论

甫才结束的CES,可以预期今年将是Android系统移动装置发光发亮的一年,除了原有的移动电话市场加上平版装置的开发,越来越多的产品应用相继推出,相对的产品的功能性与稳定性也更趋重要,然而,现有的Android测试只能确保API兼容性(Compatibility)无法顾及装置其他层面,因此开发厂商需要寻求其他测试工具的配合辅助以达成测试需求。未来研究方向,应朝向Android测试工具的研发整合,以提供更快速、有效率的测试技术,达成Android装置测试完封之目标。

上一篇:德州仪器布局数据转换器未来市场 下一篇:用TLM导向设计为半导体业界充电