一种实现可定制测试流程的方法

文档序号:6559461阅读:182来源:国知局
专利名称:一种实现可定制测试流程的方法
技术领域
本发明涉及通讯测试领域,特别涉及通讯测试仪中灵活定制测试流程的方法。
背景技术
随着技术的发展,为提高生产测试的效率,自动化测试仪在通讯产品生产测试中的使用 越来越广泛。根据被测产品的测试方法或测试指标,首先将被测试流程分成一系列相对独立 且有一定顺序的测试项;然后在测试过程中,测试自动化软件按照预先设定的测试项顺序, 利用测试软硬件模块自动完成整个测试。
随着通讯产品的日益复杂,自动化生产测试的难度也越来越大,传统的自动化测试仪已 不能解决生产测试中不断涌现的新问题。
通讯产品的模块化结构对生产测试提出新的问题。即使是同一种产品,由于不同批次可 能采用不同类型的子模块,其测试流程和内容会有差异。传统的测试方法把每种被测产品设 计成一个独立的测试软件模块,当该产品局部发生变化时,即使是细微的测试项调整,也需 要再实现一个测试软件模块来满足需求。这种做法不仅效率低,而且也无法应付产品未来更 多的变化。
另外,由于通讯产品的不停升级,出现越来越多的版本,这些版本生产测试的测试过程 都是大同小异,甚至只有测试项顺序和部分测试项是否测试的不同。由于传统的测试方法在 实现测试项的时候固定了测试顺序,所以很难在既有相对稳定的结构下灵活调整测试流程。
由于通讯产品的组成和功能日益复杂,测试流程也更加复杂。固定和简单的测试流程也 越来越不满足用户要求。在复杂的测试流程中,某些关键测试项在测试过程中如测试失败, 需要立刻退出测试;某些测试项测试成功或失败,将跳转到特定的测试项;每个测试项在本 次测试中是否执行,是由其他几个测试项的实际测试结果决定;某些测试项需要重复测试, 根据统计结果决定其结果是否正确。所以即使是同一类型的被测对象,也会因为被测对象的 实际测试情况,而生成不同的测试路径。传统的自动化测试方法,实现如此复杂且可定制的 测试流程是相当困难的。
综上所述,传统的自动化测试方法,己无法满足在相对稳定的测试软件结构下灵活定制 测试流程并实现复杂流程控制的需求。

发明内容
本发明的目的是为了克服在生产测试中难于灵活配置和控制复杂测试流程的问题,而提 供一种自由定制测试流程并实现复杂流程控制的方法。
本发明所述的实现可定制测试流程的方法,其核心思想是将测试软件分成测试流程文 件和测试项模块两个相互独立的部分,在不影响测试项模块的基础上,可单独对测试流程文 件进行定制,完成复杂多变的流程控制。
本发明具体是这样实现的
一种实现可定制测试流程的方法,包括如下步骤
步骤1、根据被测对象特性将其相关的所有测试流程划分成多个测试项,并针对每个测 试项,实现与之相应的测试项模块;
步骤2、根据被测对象的测试要求,定义与测试要求对应的独立的测试流程文件;
步骤3、执行测试时,测试自动化软件对测试流程文件进行解析,并根据测试流程文件 的解析结果,调用和执行测试项模块,完成整个测试。
所述步骤1中的测试项,包含被测对象类型下不同批次、版本或存在不同子模块等情况 下的所有内容。
若被测对象出现版本升级或子模块更换导致测试项变动,可在现有的测试项模块中添加 新的内容,不必修改以前的测试项代码。
所述步骤2中的测试流程文件,是由测试流程编辑器生成的一种固定格式的文件或配置 文件,包括了测试对象所要测试的测试项及其测试流程;
每个测试项包括测试项名称、测试项模块文件名、测试项实现函数名等。
所述步骤2通过对各测试项的流程属性进行定义,完成复杂测试流程的定义
(1) 定义测试项的前置条件,即只有满足前置条件,该测试项才能进行测试;
(2) 定义测试项后续跳转,即定义当前测试项测试完成后待执行的下一个测试项;
(3) 定义测试项的重复测试属性,即进行重复测试该测试项的条件; 上述各步骤在各测试项中进行,次序可以调换。
所述测试项的前置条件定义,通过对其他测试项的测试结果进行与或操作完成,即各测
试项是否测试通过、失败或未测等元素的与或组合。
所述测试项的后续跳转属性,即指定测试完该测试项后的后续待测测试项。 所述测试项的后续跳转属性,需分别在当前测试项通过或失败时来定义后续跳转路径; 所述后续跳转途径包括三种,即继续测试下一项、跳转到指定项和测试结束,默认为继
续测试下一项。
所述步骤3:
测试自动化软件首先载入测试流程文件,将测试流程中的每个测试项及其流程属性数据 读到数据结构中;
从测试项数据结构中得到当前测试项,根据定义的前置条件,对作为条件的测试项结果 进行与或运算,得到前置条件是否满足的布尔值,当条件为假时,跳过该测试项,从数据结 构中读取下一个测试项数据;当条件为真,则立刻进行测试项的测试;
开始测试,首先査看测试项数据,获得该测试项对应的测试项模块及其测试函数名,然 后根据动态链接技术,调用并执行测试项模块中的测试项函数,完成测试项的实际测试,并 将测试结果保存到数据结构中;
当前测试项的测试完成后,读取测试项数据,根据测试结果,在数据结构中寻找测试流 程文件中测试项后续跳转属性所定义的测试项;将得到的新测试项作为当前测试项,重复上 述的过程进行测试。
在相对稳定的测试项模块基础上,可以根据不同测试要求,快速定制多个测试流程文件, 满足被测对象的复杂测试。
通过本发明,将测试项的具体实现和测试流程分成独立的两部分,与传统的测试方法而 言,具有以下优点-
1、 在相同的测试项模块下,可根据不同要求定义不同的测试流程,提高了适应测试仪测 试需求不断变更的能力;
2、 通过对每个测试项的流程属性的设置,能完成复杂的测试流程控制,满足复杂被测对
象的苛刻测试条件,提高了测试效率。


图1是本发明所述方法的具体实施流程图。
具体实施例方式
下面结合附图对技术方案的实施作进一步的详细描述
实现可定制测试流程的关键在于将整个测试分为测试项模块和测试流程文件两个相互独 立的结构。测试项模块只实现每个测试项的具体测试功能;测试流程则不关心测试项具体实 现,而只关心测试项执行顺序和存放路径等信息。
一、划分测试项并实现独立测试项模块
当需要对一种被测对象进行测试时,首先需要根据被测对象特性,将其所有相关的测试
流程划分成相对独立的多个测试项,每个测试项完成对被测对象的一个或多个指标的测试, 这些测试项应包含该类型下不同批次、版本或存在不同子模块等情况下的所有内容;根据这 些测试项,实现与之对应的测试项模块,测试项模块定义了测试项具体的测试过程,被测试 仪调用完成实际的测试。。
假设有一种无线通讯模块,包括1个数据通讯接口和2个不同的无线通讯接口,如对其 进行测试,可根据模块功能将其测试流程分成数据接口的通讯测试、两个无线接口的射频功 率测试、射频频率测试和数据传输误码测试,总共7个测试项。
根据被测对象的特性以及测试规程,实现该对象的所有测试项模块。测试项模块的形式 以及实现方法,可采用多种形式,如动态链接库、COM等形式。
被测无线通讯模块总共有7个测试项,故也有7个测试项模块与之对应,但在实际开发 中,不一定开发7个动态链接库来实现测试项,大多数情况是采用1个动态链接库,在该文 件中定义7个软件单元(如类、函数等)分别实现7个测试项,最终完成测试项模块的开发。
通常情况下,如被测对象出现版本升级或子模块更换导致测试项变动,可在现有的测试 项模块中添加新的内容,不必修改以前的测试项代码,这样,将使不同版本不同子模块能够 共享测试项模块。
二、定义独立的测试流程文件
根据具体的测试要求,可以创建与该测试要求对应的测试流程文件。即使是同一个测试 对象,如需要多种测试流程,则可以创建多个测试流程文件。测试流程文件可由专门的测试 流程编辑器(软件)生成的一种固定格式的文件或配置文件等形式,包括了测试对象所要测 试的测试项及其测试流程。
测试流程文件的基本组成单位是测试项,每个测试项信息至少包括测试项名称、测试项 模块文件名、测试项实现函数名等。
如上述无线通讯模块的测试,在已经完成了动态链接库(即测试项模块)后,可用测试 流程编辑器定义对应的7个测试项,并给每个测试项指定测试项名称、对应的动态链接库文 件名和实现该测试项的函数名。这样,测试流程文件中的每个测试项都能通过调用动态链接 库中的函数来完成测试项的实际测试。
测试流程文件的基本单元为测试项,每个测试项的数据都必须说明其对应的具体测试项 模块信息;并通过以下步骤对各测试项的流程属性进行定义,完成复杂测试流程定义-
1. 定义测试项的前置条件,即只有满足前置条件,该测试项才能进行测试;
2. 定义测试项后续跳转,即定义当前测试项测试完成后待执行的下一个测试项;
3. 定义测试项的重复测试属性,即进行重复测试该测试项的条件。
上述各步骤在各测试项中进行,次序可以调换。
每个测试项均可定义其测试前置条件。即在实际测试过程中只有该条件满足了才能执行 该测试项,否则将跳过该测试项而执行下一项。 一般,测试项的前置条件定义主要通过对其 他测试项的测试结果进行与或操作完成,即各测试项是否测试通过、失败或未测等元素的与 或组合。
被测无线通讯模块的测试项"无线接口 1传输误码测试",该测试项主要是对无线接口 1 发送和接收数据过程中是否误码进行测试,而进行该项测试,往往需要无线接口 1的射频收 发功能正常,所以可在流程文件中定义该测试项的前置条件为前面两个测试项都测试通过, 即如下所示的与操作表达式
(无线接口 1射频功率—测试通过)&(无线接口 1射频频率_测试通过)
显然,在执行无线接口 1传输误码测试时,会先判断该条件是否满足,如不满足,则跳 过该测试项,进行后续操作,如满足,则进行该测试项的测试。
每个测试项也可定义后续跳转属性,即指定测试完该测试项后的后续待测测试项。该属 性需分别在当前测试项通过或失败时来定义后续跳转路径,后续跳转定义一般包括三种途径, 即继续测试下一项、跳转到指定项和测试结束,默认为继续测试下一项。当选择"跳转到指 定项"时,必须指定当前测试流程文件中其中一个测试项。
如被测无线通讯模块的测试项"无线接口 l射频功率测试",当测试失败时,说明该接口 射频功能已经有故障,则后续的射频频率和传输误码也就无从测试,所以可以不继续接口 1 的测试,直接跳转到接口2,将测试失败后的后续跳转属性设置为"跳转到指定项",并选择 "无线接口 2射频功率测试"作为指定项。另外,可将测试项"数据接口通讯测试"失败后 的后续跳转属性设置为"测试结束",因为该数据接口通讯失败后将无法对后续所有测试项进 行测试。
除了定义测试项的前置条件和后续跳转属性,也可定义测试项本身的重复测试属性。即 设置重复测试的条件,直到该测试项结果的统计数据符合条件才退出该测试项。
被测无线通讯模块的传输误码测试,由于其误码要求高,所以采取了多次测试然后根据 其测试结果统计进行判断的方法。如可在流程编辑器中设置该测试项的重复测试属性为"在 最多10次的重复测试中,当测试通过累计达到8次时,退出重复测试"。则在实际测试时, 传输误码测试会进行重复执行,直到满足重复测试属性所设定的条件为止。
通过在流程编辑器定义了测试项及其各种流程属性后,便完成了测试流程文件,测试流
程文件对于被测对象而言,不一定是唯一的,可以根据测试要求,定义多个测试流程文件。
假设出现了该无线通讯模块一种新的型号,在硬件上只有一个数据通讯接口和无线通讯接口,
则对其进行测试时,不需要改变测试项模块,只要新定义一个测试流程文件,将上述测试流
程文件的接口 2相关测试项及其相关流程数据去掉即可。 三、解析测试流程,执行测试
在测试仪上,测试自动化软件载入测试流程文件和测试项模块,需要同时存在测试流程 文件和测试项模块,测试仪读入测试流程文件数据,按照测试项定义的前后顺序,依次解析 每个测试项的数据,包括测试项前置条件、后续跳转和重复测试属性等,并根据解析结果, 在测试中调用和执行测试项模块,完成实际的测试,两者不可或缺,直至测试结束。
测试自动化软件首先载入测试流程文件,将测试流程中的每个测试项及其流程属性数据 读到一定的数据结构中。该数据结构作为整个测试的数据中心,不仅包括了从测试流程文件 读到的数据,同时也将记录各个测试项测试的结果,整个流程的实现依靠对此数据结构的读 写。
从测试项数据结构中得到当前测试项,根据定义的前置条件,对作为条件的测试项结果 进行与或运算,得到前置条件是否满足的布尔值,当条件为假时,跳过该测试项,从数据结 构中读取下一个测试项数据;当条件为真,则立刻进行测试项的测试。当开始测试某测试项时,首先査看测试项数据,获得该测试项对应的测试项模块及其测 试函数名,即动态链接库文件名和函数名。然后根据动态链接技术,调用并执行测试项模块 中的测试项函数,完成测试项的实际测试,并将测试结果保存到数据结构中。如该测试项的 测试流程中定义了重复测试,则进行重复调用执行,并对测试返回结果并加以统计,直到满 足条件退出重复测试。
当前测试项的测试完成后,读取测试项数据,根据测试结果,在数据结构中寻找测试流 程文件中测试项后续跳转属性所定义的测试项。将得到的新测试项作为当前测试项,重复上 述的过程进行测试。
这种实现可定制测试流程的方法,不仅将测试流程作为一个独立的部分,从整个测试仪 中提取出来,而且提供了对流程进行复杂控制的功能。采用这种方法开发同样功能的测试项, 却可以定制各种复杂的生产测试流程,能够应对不同的系统要求和用户需求,实现了测试仪 的个性化,同时也满足了通讯产品日益复杂的生产测试要求,提高测试效率。
以上所述,仅是一个使用本发明的具体实施例,并非对发明做任何形式上的限制,该实 施例是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本 方法宗旨和权利要求所保护的范围情况下,还可以做出很多包括简单修改、等同替换和修饰 在内的变形,这些仍属于本发明的保护之内。
权利要求
1、一种实现可定制测试流程的方法,其特征在于,包括如下步骤步骤1、根据被测对象特性将其相关的所有测试流程划分成多个测试项,并针对每个测试项,实现与之相应的测试项模块;步骤2、根据被测对象的测试要求,定义与测试要求对应的独立的测试流程文件;步骤3、执行测试时,测试自动化软件对测试流程文件进行解析,并根据测试流程文件的解析结果,调用和执行测试项模块,完成整个测试。
2、 如权利要求1所述的实现可定制测试流程的方法,其特征在于-所述步骤1中的测试项,包含被测对象类型下不同批次、版本或存在不同子模块等情况 下的所有内容。
3、 如权利要求2所述的实现可定制测试流程的方法,其特征在于若被测对象出现版本升级或子模块更换导致测试项变动,可在现有的测试项模块中添加 新的内容,不必修改以前的测试项代码。
4、 如权利要求1所述的实现可定制测试流程的方法,其特征在于所述步骤2中的测试流程文件,是由测试流程编辑器生成的一种固定格式的文件或配置 文件,包括了测试对象所要测试的测试项及其测试流程;每个测试项包括测试项名称、测试项模块文件名、测试项实现函数名等。
5、 如权利要求1或4所述的实现可定制测试流程的方法,其特征在于-所述步骤2通过对各测试项的流程属性进行定义,完成复杂测试流程的定义(1) 定义测试项的前置条件,即只有满足前置条件,该测试项才能进行测试;(2) 定义测试项后续跳转,即定义当前测试项测试完成后待执行的下一个测试项;(3) 定义测试项的重复测试属性,即进行重复测试该测试项的条件; 上述各步骤在各测试项中进行,次序可以调换。
6、 如权利要求5所述的实现可定制测试流程的方法,其特征在于所述测试项的前置条件定义,通过对其他测试项的测试结果进行与或操作完成,即各测 试项是否测试通过、失败或未测等元素的与或组合。
7、 如权利要求5所述的实现可定制测试流程的方法,其特征在于 所述测试项的后续跳转属性,即指定测试完该测试项后的后续待测测试项。
8、 如权利要求7所述的实现可定制测试流程的方法,其特征在于所述测试项的后续跳转属性,需分别在当前测试项通过或失败时来定义后续跳转路径; 所述后续跳转途径包括三种,即继续测试下一项、跳转到指定项和测试结束,默认为继 续测试下一项。
9、 如权利要求5所述的实现可定制测试流程的方法,其特征在于 所述步骤3:测试自动化软件首先载入测试流程文件,将测试流程中的每个测试项及其流程属性数据 读到数据结构中;从测试项数据结构中得到当前测试项,根据定义的前置条件,对作为条件的测试项结果 进行与或运算,得到前置条件是否满足的布尔值,当条件为假时,跳过该测试项,从数据结 构中读取下一个测试项数据;当条件为真,则立刻进行测试项的测试;开始测试,首先査看测试项数据,获得该测试项对应的测试项模块及其测试函数名,然 后根据动态链接技术,调用并执行测试项模块中的测试项函数,完成测试项的实际测试,并 将测试结果保存到数据结构中;当前测试项的测试完成后,读取测试项数据,根据测试结果,在数据结构中寻找测试流 程文件中测试项后续跳转属性所定义的测试项;将得到的新测试项作为当前测试项,重复上 述的过程进行测试。
全文摘要
本发明公开了一种实现可定制测试流程的方法,包括根据被测对象特性将其相关的所有测试流程划分成多个测试项,并针对每个测试项,实现与之相应的测试项模块;根据被测对象的测试要求,定义与测试要求对应的独立的测试流程文件;执行测试时,测试自动化软件对测试流程文件进行解析,并根据测试流程文件的解析结果,调用和执行测试项模块,完成整个测试。与现有技术相比,本发明在相同的测试项模块下,可根据不同要求定义不同的测试流程,提高了适应测试仪测试需求不断变更的能力;通过对每个测试项的流程属性的设置,能完成复杂的测试流程控制,满足复杂被测对象的苛刻测试条件,提高了测试效率。
文档编号G06F11/26GK101098200SQ20061009046
公开日2008年1月2日 申请日期2006年6月27日 优先权日2006年6月27日
发明者傅佳芳, 汪步江, 高延玲, 黄一川 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1