《嵌入式智能设备的测试方法研究.docx》由会员分享,可在线阅读,更多相关《嵌入式智能设备的测试方法研究.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式智能设备的测试方法研究ronggang导语:本文将基于Agent技术的测试方法引入到自动化测试平台中,通过测试控制Agent进步了脚本的通用性,通过目的设备Agent屏蔽了嵌入式设备的复杂性,通过网络环境Agent实现了对设备所处网络环境的控制摘要:随着普适计算技术的飞速开展,以智能手机、PDA、和便携式媒体中心为代表的嵌入式智能设备不断开展和成熟,这些设备通常都在各自的硬件平台上装备有定制的嵌入式操纵系统,拥有越来越多的应用程序。而对于这些应用软件的测试给软件提供商和设备制造商提出了严重的挑战。本文将基于Agent技术的测试方法引入到自动化测试平台中,通过测试控制Agent进步了脚本的
2、通用性,通过目的设备Agent屏蔽了嵌入式设备的复杂性,通过网络环境Agent实现了对设备所处网络环境的控制,进而可以较好的辅助测试人员完成对嵌入式智能设备的测试。关键词:普适计算;自动化测试;Agent技术;嵌入式设备TheResearchontheTestingMethodforEmbeddedSmartDevicesJiangBo,GaoXiaopeng,LongXiangAbstract:Withtherapiddevelopmentofthepervasivecomputing,theembeddedsmartdevicesgraduallyevolveandmature.These
3、devicesincludesmartphones,PDAandportablemultimediacenter,etc.AndtheytypicallyhaveacustomizedembeddedOSontheirownhardwareplatformwithrichapplications.Butthetestingoftheseapplicationsposesgreatchallengesforthird-partysoftwarevendersandphonemanufacturers.ThispaperintroducesAgent-basedtestingtechnologyt
4、otheautomatedtestingplatform.ThetestcontrolAgentimprovesthereusabilityofthetestingscripts.ThedeviceAgentreducesthecomplexityintroducedbytheembeddeddevices.AndthenetworkenvironmentAgentcanhelpcontrolthenetworkenvironmentofthesmartdevices.Thesecanhelpthetesterstofulfilltheirtestsontheembeddeddevicesmo
5、reefficiently.Keywords:pervasivecomputing;automatedtesting;agenttechnology;embeddeddevice智能软件Agent是可以为用户执行特定的任务、具有一定程度的智能、可以自主的执行局部任务并以一种适宜的方式和环境互相作用的软件程序。Agent有自主性、响应性、学习才能和社会性等特性。这使得它合适在高度动态的环境下做出及时的响应。嵌入式技术和新一代挪动通讯网络的开展使得嵌入式智能设备大量的涌现。这些设备的大都具有嵌入式操纵系统的支持,并运行着越来越丰富的应用程序。怎样对这些应用程序进展测试,就成为一个需要研究的课题。本
6、文将Agent技术引入嵌入式智能设备的测试中,使用目的设备Agent,测试控制Agent,网络环境Agent分别模拟和处理测试设备,测试工程师和测试环境的复杂性,利用Agent自身具有的特点,提出了一种有效的自动化测试的方法。2相关的研究及本文的思路Agent所具有的自主性、响应性、学习才能和社会性等特性,使得它很合适处理复杂测试系统中的问题。将Agent技术应用于测试领域已经有一些相关的研究,下面是详细的介绍。JeongeunChoi和ByoungjuChoi1提出了一个基于Agent技术的测试工具,它通过使用用户接口Agent来处理和测试者的交互,使用测试用例选择Agent来进展测试用例的
7、选择,并使用回归测试Agent进展回归测试,进而很好的实现了自动化的软件测试。但是他们提出的测试用例选择技术仅能在大量已有的测试用例中选择最正确的用例,不能减少编写测试用例本身的复杂性。另外一些研究将Agent技术应用到了某一领域的测试中。YuQi、DavidHung和EricWong3提出了一个基于Agent技术的Web应用程序测试方法。他们使用Agent技术降低了网络应用测试的复杂性。他们的方法不仅仅适用于Web应用程序的测试,也合适于嵌入式智能设备的测试。在实际测试经过中,测试人员很大的一项任务仍然是编写各种测试用例,要真正的进步测试效率,就要进步测试脚本的通用性,减少测试脚本的变化24
8、。常见的嵌入式智能设备测试工具比方TestQuest使用图像比对来判定目的设备的状态,这种方法固然实现了非侵入性的测试,但是存在两个问题:图片的抓取和传送消耗了大量测试资源.不同手机的用户界面风格变化很大,这使得测试脚本在用来进展新设备的测试时需要对脚本进展维护.然而,实际的设备中,当重要的事件发生时,系统会产生敏感事件来鼓励相关模块进展处理.假如可以在测试经过中捕捉这些敏感事件,就能更加高效的进展测试.并且,只要操纵系统一样,敏感事件的捕捉方式也是一样,测试用例不会由于界面的变化而变化。本文用目的设备Agent抽象和捕捉测试经过中的敏感事件,并将敏感事件发送给测试控制Agent。而测试控制A
9、gent收到敏感事件后,根据自己的知识,采取相应的动作的机制如异常处理,重新调度测试等加以处理。这正好可以作为Agent的推理规那么,用Agent的智能性来屏蔽测试经过的复杂性。此外,考虑到目的设备处于复杂的网络环境中,我们利用网络环境Agent来控制目的设备所处的网络信号,进而实现对设备所处网络环境的控制。3基于Agent的测试系统3.1总体构造测试系统的最终目的是实现一个挪动数字终端的自动化测试平台,可以对挪动数字终端上的系统软件和应用层软件建立模块化、可重用的测试脚本库,进步各种黑盒测试的效率,自动化测试结果的生成,并实现测试结果的回放。align=center图1.测试系统的整体架构/
10、align如图1所示,测试平台分为四层,包括用户接口层,测试控制层,通讯层和设备Agent层。其中,经过监控模块,测试环境控制模块和设备Agent层采用Agent的思想进展设计,以更好的支持嵌入式设备的测试。3.2系统根本执行流程测试经过是对真实用户使用手机时“输入-反应模型的一个模拟。系统的根本的使用用例如下,首先用户通过脚本编辑器或虚拟手机创立测试脚本并进展根本的配置,然后经过监控模块调度脚本开场执行,当脚本解释器解释执行脚本语句时,脚本解释器通常使用通讯模块向手机发送模拟按键,然脚本解释器进入等待状态,目的设备Agent从通讯模块得到按键,执行按键动作,截取屏幕并返回给测试控制Agent
11、,或假如手机有敏感世事件的发生如来电,短信,异常等也会反应给测试控制Agent,测试控制Agent接到数据,再次鼓励脚本运行,并同时将测试结果输入存入测试资源库。脚本继续运行下面的语句,直到运行完毕。3.3目的设备Agent目的设备Agent驻留在被测试的智能设备中,实现对目的设备的建模。本系统中它接收从PC机中接收到的控制命令,然后在智能设备中进展相应的操纵,包括模拟键盘事件,截取屏幕并返回给PC,以及根据知识库中的配置的测试目的,通过推理,有所选择的将必须的状态信息主动通知测试宿主机。3.3.1设备Agent依靠的决策规那么系统事件报告决策规那么SERD-RULE这个决策规那么决定设备Ag
12、ent在获取到状态信息时,是否将状态信息反应给上层系统。异常处理规那么EM-RULE这个决策规那么决定了当Agent发现测试中出现异常,要采取的处理方式。3.3.2Agent属性目的设备Agent具有下面的属性。自主性目的设备Agent使得测试用户无需关注设备的细节,它是设备功能和状态的一个很好的抽象,通过目的代理Agent,上层测试框架只需要执行相应的虚拟操纵,那么目的设备Agent会自动将这些虚拟操纵映射为对手机的实际操纵,并且手机的响应和其它状态也可以自动的反应给客户,这使得上层测试和底层的设备详细操纵无关。智能性当目的设备Agent获取到一个变化的被测系统状态或者信息时,它会根据推理规
13、那么,仅仅把和本次目的相关的信息发送给测试控制Agent。目的设备Agent还可以根据异常处理规那么,公道的处理测试中出现的异常。3.4测试控制Agent测试控制Agent实现了对测试经过的建模。它主要实现三个目的:在测试经过中,对测试人员感兴趣的事件进展捕捉,当这些敏感事件发生后,系统立即执行预定义的动作,并为测试提供准确和详尽的日志。通过和脚本解释器交互,实现异步的事件通知和交互测试用例的执行。处理测试经过中的异常,使得测试经过可以自己修复,进而多个脚本可以按照预先的调度正常运行。3.4.1测试控制Agent的决策规那么事件-条件-行动规那么ECA-RULE这是测试控制Agent所根据的核
14、心规那么,它定义了某个测试所关心的事件,并根据比对条件,采取相应的动作。异常处理规那么EM-RULE测试控制Agent也遵守异常处理规那么,它可以检测测试经过中发生的异常事件,并执行相应的解决方案,使得测试可以顺利的进展。3.4.2测试控制Agent的属性自主性使得测试人员无需过分关注测试的细节,测试人员仅仅需要选择测试目的,测试控制Agent就能根据知识库中的信息,自动生成ECA规那么表,并在脚本运行时,按照ECA规那么,捕捉敏感的事件并执行相应的操纵。测试控制Agent可以根据用户选择的测试目的,自动生成ECA规那么表,并根据ECA规那么,进展推理并采取相应的动作。测试控制Agent还能根
15、据异常处理规那么来处理测试经过中发身的异常,保障测试经过的自动,平稳进展。3.5网络环境Agent网络环境Agent实现了对网络环境的模拟和控制。为了测试手机的射频性能,通常使用基站模拟系统来提供设备所处的无线网络环境,并且利用编程接口,通过软件对设备的环境进展控制,使得复杂网络环境下对目的设备的测试成为可能。4系统评估为了评价本系统的有效性,我们设计了一个比拟实验。试验在信息产业部泰尔实验室真实的测试工程中进展。我们将测试工程师分为两组,第一组使用本文的系统MobileTest进展测试,第二组使用业界著名的TestQuestPro进展测试。测试的根据是中国通讯行业标准的数字挪动台测试局部。测
16、试的内容是根据这两个系统各自已经建立好的回归测试用例对新的智能手机进展回归测试,进而比拟这两个测试工具的测试效率和脚本的可维护性。实验度量了两个工具在测试不同种类的测试用例时,自动化执行的用例所占的百分比。从表中可见,固然TestQuest在功能测试上有更高的自动化率,在压力测试,多状态测试,多任务测试,临界测试和总计中,MobileTest有更好的测试覆盖率。这是由于在后四种测试中,测试用例需要不断追踪系统的状态,使用图片比对机制的TestQuest很难完成这些工作,而MobileTest却能使用Agent返回的敏感事件来进展处理。此外,MobileTest完成测试任务的时间时15天,比Te
17、stQuest的测试效率要高。本文提出了一个基于Agent技术的嵌入式智能设备的测试方法,它用Agent技术对嵌入式智能设备测试经过中的被测试设备,测试者和网络环境进展模拟和控制,很好的屏蔽了嵌入式智能设备的复杂性,进步了测试的效率和脚本的可重用性。将来的研究工作中,我们会进一步拓展整个测试系统,使之可以支持整个测试的生命周期。本文作者的创新点:本文将软件Agent技术引入到嵌入式智能设备的自动化测试中,利用Agent的特性,很好的屏蔽了嵌入式智能设备测试中,测试者,待测设备,网络环境的复杂性,进步了自动化测试的效率。6参考文献1JeongeunChoi,ByoundjuChoi:TestAg
18、entSystemDesignA.EwhaWomansUniversity,Proceedingsof1999IEEEInternationalFuzzySystemConferenceProceedings,pp326-327,1999.2何友全:软件测试方法与技巧J.微计算机信息,20003YuQi,DavidKung,EricWong:AnAgent-basedTestingApproachforWebApplicationsA.Proceedingsofthe29thAnnualInternationalComputerSoftwareandApplicationConference,pp1-3,2005.4古乐,史九林.软件测试技术概论M.清华大学出版社.2004作者简介:姜博1981-,男汉族,河南新乡人,北航大学在读硕士,主研方向:挪动计算,嵌入式软件测试。龙翔1963-,男汉族,教授,博士生导师,北航大学计算机学院计算机科学系主任,主研方向:嵌入式系统,计算机网络平安。高小鹏1970-,男汉族,北航大学计算机学院副教授,主研方向:计算机体系构造、高性能软件模拟器、嵌入式系统。