自动化测试平台的场景清理方法及脚本测试方法

文档序号:6624380阅读:284来源:国知局
自动化测试平台的场景清理方法及脚本测试方法
【专利摘要】本发明提供一种自动化测试平台的场景清理方法及脚本测试方法,所述用于嵌入式设备的自动化测试平台包括多个子系统,该多个子系统之间采用一全息树实现通信和数据共享,该全息树采用XMLDOM的数据结构,该多个子系统包括一脚本子系统、一仪器子系统、一用户子系统、一日志子系统和一显示子系统,该全息树包括脚本/日志子树、仪器子树、用户子树,该场景清理方法包括以下步骤:a、在所述脚本子系统中执行测试脚本操作;b、在所述脚本子系统中执行场景清理操作。本发明的自动化测试平台场景清理方法实现了测试平台与测试脚本在低耦合情况下的清场;同时在不影响现有自动化成果的基础上,改动代码最少。
【专利说明】自动化测试平台的场景清理方法及脚本测试方法

【技术领域】
[0001]本发明涉及一种通信【技术领域】,特别是涉及一种自动化测试平台的场景清理方法及脚本测试方法。

【背景技术】
[0002]在申请号为201210383003.9,发明名称为《用于嵌入式设备的自动化测试平台》的中国专利申请中公开了一种用于嵌入式设备的自动化测试平台。该用于嵌入式设备的自动化测试平台包括多个子系统,该多个子系统之间采用一全息树实现通信和数据共享,该全息树采用XMLDOM的数据结构,该多个子系统包括一脚本子系统、一仪器子系统、一用户子系统、一日志子系统和一显示子系统,该全息树包括脚本/日志子树、仪器子树、用户子树,其中,该脚本子系统用于执行测试脚本、收集测试结果,生成原始的日志节点以及根据测试结果构建和维护该脚本/日志子树;该仪器子系统用于维护该仪器子树以及同步远程仪器信息;该用户子系统用于完成该用户子树的构建以及持续更新,为其它子系统提供正确实时的用户状态信息并保证数据同步;该日志子系统用于根据该脚本日志子树构建一独立于该全息树的纯日志树,并且根据该纯日志树进行测试结果统计以及将统计结果写入该纯日志树的统计节点;该显示子系统用于读取该全息树中的各个子树以完成相应子系统的界面的构建。
[0003]在上述平台中,由于缺乏适当的清场能力。当测试模块环境需求差异明显时,相互之间不会受到各自残留环境的影响。但是,一旦测试规模变大之后,就无法忽略这些问题。这个时候,必须考虑清场问题。然而,现有的平台已经有大量的测试脚本存在。如果对平台进行大修改,必然会造成大量的测试脚本的修改工作。这无疑会增加额外的巨大成本。
[0004]现有技术中,自动化测试平台很多都考虑了清场机制,但是实现的方式各有不同。其中,清场是指在自动化测试过程中,当一个测试脚本执行完毕后,对自身环境进行恢复。具体地,包括以下几种清场方式:
[0005](I)简单清场
[0006]一种以复位DUT为主要手段的清理测试现场的方式。只需将DUT恢复默认配置,然而却需要等待较长的系统重启时间。
[0007](2)普通清场
[0008]也称为逆向操作清场,通常是通过逆向进行环境配置和DUT配置来实现的。就是将操作顺序逆向,进而得到操作前的环境。
[0009](3)多级清场
[0010]一种较为复杂的测试现场复位方式,通常用于嵌入式设备。通常分为本例级清场和公共环境清场,这两种清场其本质都是一个普通清场过程,不同的是被复位的配置在自动化测试环境中所处的层级角色不同。每个级别的清场动作都是一个单独的“普通清场”。在实践中,多级清场,主要是为了将多脚本公用的测试配置清楚。但是这个还取决于测试平台架构。
[0011]在实际使用中,如果使用简单清场,则需要面临两个问题,一是重启DUT的代价;二是现场破坏的代价。如果采用多级机制,则需要复杂化平台和脚本的之间的沟通机制,也就意味着要对平台和脚本进行同步修改。
[0012]对于上述用于嵌入式设备的自动化测试平台,使用多级清场的方式是比较合适的选择。因为在测试嵌入式设备时,尤其是网络设备,往往需要管理拓扑环境。对于存在多个测试脚本公用的拓扑环境,是需要多级机制才比较容易清理的。
[0013]现有技术中,申请号为201110176416.5、发明名称为《自动化测试中可自动恢复的目标程序运行控制方法及装置》的中国专利申请中公开了一种带重启的“多级清场”的方法。然而,该方法不适用于上述用于嵌入式设备的自动化测试平台。
[0014]申请号为201210188781.2、发明名称为《一种恢复测试环境方法及装置》的中国专利中公开一种恢复测试环境的“普通清场”方法。然而,如果按照这种方法,需要在平台和测试脚本之间加强耦合关系。也就是说,需要在平台和脚本两端同步修改。这无疑导致成本的增大。
[0015]申请号为201210238500.X、发明名称为《测试环境的自动处理方法、测试的自动化实现方法及装置》的中国专利申请中公开一种测试环境的“多级清场”方法。该方法考虑到了分布式管理的问题。对于分布式系统的测试,这个是必须的。但是上述用于嵌入式设备的自动化测试平台中被测设备(Device Under Testing,DUT)是单台嵌入式设备,并不需要这些分布式远程调用的方式,反而带来通信因素的不确定性和由于系统复杂度提升带来的稳定性损耗问题。
[0016]上述用于嵌入式设备的自动化测试平台是一种高可扩展性的平台。因此,需要提供一种适用于上述用于嵌入式设备的自动化测试平台的场景清理方法。


【发明内容】

[0017]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种自动化测试平台的场景清理方法及脚本测试方法,用于解决嵌入式设备的自动化测试平台不能清场的问题,克服了清场和遗留脚本之间的矛盾。
[0018]为实现上述目的及其他相关目的,本发明提供一种用于嵌入式设备的自动化测试平台的场景清理方法,所述用于嵌入式设备的自动化测试平台包括多个子系统,该多个子系统之间采用一全息树实现通信和数据共享,该全息树采用XMLDOM的数据结构,该多个子系统包括一脚本子系统、一仪器子系统、一用户子系统、一日志子系统和一显不子系统,该全息树包括脚本/日志子树、仪器子树、用户子树,其中,该脚本子系统用于执行测试脚本、收集测试结果,生成原始的日志节点以及根据测试结果构建和维护该脚本/日志子树;该用户子系统用于完成该用户子树的构建以及持续更新,为其它子系统提供正确实时的用户状态信息并保证数据同步;该日志子系统用于根据该脚本日志子树构建一独立于该全息树的纯日志树,并且根据该纯日志树进行测试结果统计以及将统计结果写入该纯日志树的统计节点;该显示子系统用于读取该全息树中的各个子树以完成相应子系统的界面的构建,该场景清理方法包括以下步骤:a、在所述脚本子系统中执行测试脚本操作;b、在所述脚本子系统中执行场景清理操作。
[0019]根据上述的用于嵌入式设备的自动化测试平台的场景清理方法,其中:通过调用清理脚本来执行场景清理操作。
[0020]进一步地,根据上述的用于嵌入式设备的自动化测试平台的场景清理方法,其中:不同的测试脚本对应不同的清理脚本。
[0021]根据上述的用于嵌入式设备的自动化测试平台的场景清理方法,其中:所述步骤a和步骤b的执行顺序为任意的。
[0022]同时,本发明还提供一种用于嵌入式设备的自动化测试平台的脚本测试方法,所述用于嵌入式设备的自动化测试平台包括多个子系统,该多个子系统之间采用一全息树实现通信和数据共享,该全息树采用XMLDOM的数据结构,该多个子系统包括一脚本子系统、一仪器子系统、一用户子系统、一日志子系统和一显不子系统,该全息树包括脚本/日志子树、仪器子树、用户子树,其中,该脚本子系统用于执行测试脚本、收集测试结果,生成原始的日志节点以及根据测试结果构建和维护该脚本/日志子树;该用户子系统用于完成该用户子树的构建以及持续更新,为其它子系统提供正确实时的用户状态信息并保证数据同步;该日志子系统用于根据该脚本日志子树构建一独立于该全息树的纯日志树,并且根据该纯日志树进行测试结果统计以及将统计结果写入该纯日志树的统计节点;该显示子系统用于读取该全息树中的各个子树以完成相应子系统的界面的构建,包括以下步骤:
[0023]步骤S1、根据仪器子系统、用户子系统、日志子系统和显示子系统的反馈,判断是否构建脚本/日志子树;若是,构建脚/日志本子树,生成测试列表,并通知显示子系统同步更新⑶I界面信息,并转入步骤S12 ;若否,转入步骤S2 ;
[0024]步骤S2、判断是否进行脚本测试;若否,转入步骤S12 ;若是,转入步骤S3 ;
[0025]步骤S3、读取测试列表;
[0026]步骤S4、判断是否有未测试脚本;若是,转入步骤S5 ;若否转入步骤S7 ;
[0027]步骤S5、从用户子树获得重测模式;
[0028]步骤S6、读取重测列表;
[0029]步骤S7、执行脚本测试;
[0030]步骤S8、执行清理脚本;
[0031]步骤S9、更新重测列表;
[0032]步骤S10、通知日志子系统做单项统计;
[0033]步骤SI 1、通知显示子系统更新⑶I ;
[0034]步骤S12、通知日志子系统统计总结果。
[0035]根据上述的用于嵌入式设备的自动化测试平台的脚本测试方法,其中:不同的测试脚本对应不同的清理脚本。
[0036]根据上述的用于嵌入式设备的自动化测试平台的脚本测试方法,其中:所述清理脚本米用Tcl/Tk语言编写。
[0037]根据上述的用于嵌入式设备的自动化测试平台的脚本测试方法,其中:如果所述测试脚本中已经存在清理场景的机制,则无需添加清理文件。
[0038]根据上述的用于嵌入式设备的自动化测试平台的脚本测试方法,其中:如果所述测试脚本中不存在清理场景的机制,则使用清理文件进行场景清理。
[0039]如上所述,本发明的自动化测试平台的场景清理方法及脚本测试方法,具有以下有益效果:
[0040](I)实现了测试平台与测试脚本在低耦合情况下的清场;
[0041](2)不影响现有自动化成果的基础上,改动代码最少。

【专利附图】

【附图说明】
[0042]图1显示为现有技术中的用于嵌入式设备的自动化测试平台的脚本测试方法的流程图;
[0043]图2显示为本发明的自动化测试平台场景清理方法的流程图;
[0044]图3显示为本发明中的用于嵌入式设备的自动化测试平台的脚本测试方法的流程图。

【具体实施方式】
[0045]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0046]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0047]在本公司之前的申请号为申请号为201210383003.9的专利中公开一种用于嵌入式设备的自动化测试平台。该用于嵌入式设备的自动化测试平台包括多个子系统,该多个子系统之间采用一全息树实现通信和数据共享,该全息树采用XMLDOM的数据结构,该多个子系统包括一脚本子系统、一仪器子系统、一用户子系统、一日志子系统和一显不子系统,该全息树包括脚本/日志子树、仪器子树、用户子树,其中,该脚本子系统用于执行测试脚本、收集测试结果,生成原始的日志节点以及根据测试结果构建和维护该脚本/日志子树;该仪器子系统用于维护该仪器子树以及同步远程仪器信息;该用户子系统用于完成该用户子树的构建以及持续更新,为其它子系统提供正确实时的用户状态信息并保证数据同步;该日志子系统用于根据该脚本日志子树构建一独立于该全息树的纯日志树,并且根据该纯日志树进行测试结果统计以及将统计结果写入该纯日志树的统计节点;该显示子系统用于读取该全息树中的各个子树以完成相应子系统的界面的构建。
[0048]本发明的自动化测试平台场景清理方法主要是在现有的用于嵌入式设备的自动化测试平台的脚本子系统中加入清场机制,在测试脚本执行完成后,调用清理脚本执行清理动作。清理脚本则是由每个测试脚本的开发者分别编写,这样就将庞大的任务分解到单人可完成的简单任务,从而省去了解决一个庞大的、持续增长的遗留脚本的清理问题,也弱化了测试平台和测试脚本之间的耦合度。
[0049]参照图1,用于嵌入式设备的自动化测试平台的脚本测试方法的流程如下:
[0050]判断是否构建脚本日志子树;
[0051]若是,则构建脚本子树,生成测试列表,然后通知显示子系统同步更新CTI界面信息;流程结束。
[0052]若否,判断是否进行测试;若不进行测试,流程结束;若进行测试,判断是否有未测试脚本;若有未测试脚本,则读取测试列表,循环进行脚本测试,并通知日志子系统做单项统计,通知显示子系统更新GUI,最后通知日志子系统统计总结果,流程结束;若无未测试脚本,则从用户子树获得重测模式,读取重测列表,循环进行脚本测试,并通知日志子系统做单项统计,通知显示子系统更新GUI,最后通知日志子系统统计总结果,流程结束。
[0053]由此可知,上述脚本子系统中,执行测试脚本是在一个测试脚本所在的文件夹中通过创建一个单独的脚本进程完成的,这个进程叫做main测试脚本。main测试脚本与测试平台之间通过一条只读管道文件进行通信。当这个main测试脚本执行结束之后,脚本子系统会收到消息,并继续下一个循环。在进行下一个循环之前,并没有对现场环境进行清理的机制。如果测试脚本没有主动提供清理机制,现有脚本子系统是不能进行任何测试环境清洁的。
[0054]如图2所示,本发明的自动化测试平台的场景清理方法具体包括以下步骤:
[0055]步骤a、在脚本子系统中执行测试脚本操作。
[0056]步骤b、在脚本子系统中执行场景清理操作。
[0057]其中,通过调用清理脚本的方式来执行场景清理操作。清理脚本用于清理测试环境残留,可以是任何语言编写的。例如,采用Tcl/Tk语言编写,那么,清理脚本可以是
XX.tcl ο
[0058]参照图3,本发明的用于嵌入式设备的自动化测试平台的脚本测试方法包括以下步骤:
[0059]步骤S1、根据其他子系统的反馈,判断是否构建脚本日志子树;若是,构建脚本子树,生成测试列表,并通知显示子系统同步更新图形用户界面(Graphical UserInterface,⑶I)信息,并转入步骤S12 ;若否,转入步骤S2 ;
[0060]步骤S2、判断是否进行脚本测试;若否,转入步骤S12 ;若是,转入步骤S3 ;
[0061]步骤S3、读取测试列表;
[0062]步骤S4、判断是否有未测试脚本;若是,转入步骤S5 ;若否转入步骤S7 ;
[0063]步骤S5、从用户子树获得重测模式;
[0064]步骤S6、读取重测列表;
[0065]步骤S7、执行脚本测试;
[0066]步骤S8、执行清理脚本;
[0067]步骤S9、更新重测列表;
[0068]步骤S10、通知日志子系统做单项统计;
[0069]步骤SI 1、通知显示子系统更新⑶I ;
[0070]步骤S12、通知日志子系统统计总结果。
[0071]对于测试脚本端,可以根据需要,添加清理文件,也可以不添加清理文件。如果测试脚本中已经存在了清理场景的机制,那就不需要再添加清理文件;如果没有,那么建议使用清理文件进行场景清理。
[0072]本发明可以采用先执行清理脚本操作后执行测试脚本操作的方式,二者效果是相同的。不同的是,先执行清理脚本操作和后执行清理脚本操作相比,后者更具有优势。这是因为前者需要对环境进行遍历,在实现上比较繁琐。
[0073]综上所述,本发明的自动化测试平台场景清理方法实现了测试平台与测试脚本在低耦合情况下的清场;同时在不影响现有自动化成果的基础上,改动代码最少。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0074]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1.一种用于嵌入式设备的自动化测试平台的场景清理方法,所述用于嵌入式设备的自动化测试平台包括多个子系统,该多个子系统之间采用一全息树实现通信和数据共享,该全息树采用XMLDOM的数据结构,该多个子系统包括一脚本子系统、一仪器子系统、一用户子系统、一日志子系统和一显示子系统,该全息树包括脚本/日志子树、仪器子树、用户子树,其中,该脚本子系统用于执行测试脚本、收集测试结果,生成原始的日志节点以及根据测试结果构建和维护该脚本/日志子树;该用户子系统用于完成该用户子树的构建以及持续更新,为其它子系统提供正确实时的用户状态信息并保证数据同步;该日志子系统用于根据该脚本日志子树构建一独立于该全息树的纯日志树,并且根据该纯日志树进行测试结果统计以及将统计结果写入该纯日志树的统计节点;该显示子系统用于读取该全息树中的各个子树以完成相应子系统的界面的构建,其特征在于,该场景清理方法包括以下步骤: a、在所述脚本子系统中执行测试脚本操作; b、在所述脚本子系统中执行场景清理操作。
2.根据权利要求1所述的用于嵌入式设备的自动化测试平台的场景清理方法,其特征在于:通过调用清理脚本来执行场景清理操作。
3.根据权利要求2所述的用于嵌入式设备的自动化测试平台的场景清理方法,其特征在于:不同的测试脚本对应不同的清理脚本。
4.根据权利要求1所述的用于嵌入式设备的自动化测试平台的场景清理方法,其特征在于:所述步骤a和步骤b的执行顺序为任意的。
5.一种用于嵌入式设备的自动化测试平台的脚本测试方法,所述用于嵌入式设备的自动化测试平台包括多个子系统,该多个子系统之间采用一全息树实现通信和数据共享,该全息树采用XMLDOM的数据结构,该多个子系统包括一脚本子系统、一仪器子系统、一用户子系统、一日志子系统和一显示子系统,该全息树包括脚本/日志子树、仪器子树、用户子树,其中,该脚本子系统用于执行测试脚本、收集测试结果,生成原始的日志节点以及根据测试结果构建和维护该脚本/日志子树;该用户子系统用于完成该用户子树的构建以及持续更新,为其它子系统提供正确实时的用户状态信息并保证数据同步;该日志子系统用于根据该脚本日志子树构建一独立于该全息树的纯日志树,并且根据该纯日志树进行测试结果统计以及将统计结果写入该纯日志树的统计节点;该显示子系统用于读取该全息树中的各个子树以完成相应子系统的界面的构建,其特征在于:包括以下步骤: 步骤S1、根据仪器子系统、用户子系统、日志子系统和显示子系统的反馈,判断是否构建脚本/日志子树;若是,构建脚/日志本子树,生成测试列表,并通知显示子系统同步更新⑶I界面信息,并转入步骤S12 ;若否,转入步骤S2 ; 步骤S2、判断是否进行脚本测试;若否,转入步骤S12 ;若是,转入步骤S3 ; 步骤S3、读取测试列表; 步骤S4、判断是否有未测试脚本;若是,转入步骤S5 ;若否转入步骤S7 ; 步骤S5、从用户子树获得重测模式; 步骤S6、读取重测列表; 步骤S7、执行脚本测试; 步骤S8、执行清理脚本; 步骤S9、更新重测列表; 步骤S10、通知日志子系统做单项统计; 步骤S11、通知显示子系统更新⑶I ; 步骤S12、通知日志子系统统计总结果。
6.根据权利要求5所述的用于嵌入式设备的自动化测试平台的脚本测试方法,其特征在于:不同的测试脚本对应不同的清理脚本。
7.根据权利要求5所述的用于嵌入式设备的自动化测试平台的脚本测试方法,其特征在于:所述清理脚本采用Tcl/Tk语言编写。
8.根据权利要求5所述的用于嵌入式设备的自动化测试平台的脚本测试方法,其特征在于:如果所述测试脚本中已经存在清理场景的机制,则无需添加清理文件。
9.根据权利要求5所述的用于嵌入式设备的自动化测试平台的脚本测试方法,其特征在于:如果所述测试脚本中不存在清理场景的机制,则使用清理文件进行场景清理。
【文档编号】G06F11/36GK104182341SQ201410417833
【公开日】2014年12月3日 申请日期:2014年8月22日 优先权日:2014年8月22日
【发明者】张鑫, 陈琳 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1