一种用于测试仪的分时测试方法

文档序号:6559460阅读:159来源:国知局
专利名称:一种用于测试仪的分时测试方法
技术领域
本发明涉及一种自动测试方法,特别涉及通讯测试仪中对多个被测对象进行测试的方法。
背景技术
目前大多数自动化测试仪,采用上位机一下位机两层结构,完成对被测对象的测试和测 量。上位机一般由计算机和测试监控软件组成,完成测试流程的生成和控制、测试数据信息 的存取和显示,以及与用户进行交互操作等功能;下位机则是由具备一定处理能力的专用测 试硬件设备或仪表组成。测试仪上位机通过某些通讯接口,按照一定的通讯协议,实现与下 位机的交互通讯,也可通过其他接口对测试仪下位机直接进行操作。被测对象是在测试仪下 位机的直接控制下进行测试的, 一般不会与上位机直接交互。
一般地,在某个时刻,测试仪只能对一个被测对象进行测试或测量。传统的测试方法是: 首先将被测对象置于测试仪环境中,然后测试仪上位机启动测试程序,将所有的测试流程分 成多个相对独立测试项,并依次执行。上位机每执行一个测试项,都是通过对下位机发送测 试命令或进行直接操作,由下位机对被测对象进行实际测试,上位机就处于等待状态。当该 项测试完成后,由下位机将测试数据返回到上位机,上位机判断测试数据后保存测试结果, 进入下一测试项的测试,直至所有测试项都完成。
上述测试仪及其测试方法能够满足目前多数情况的需求,但在某些情况下,由于被测对 象的特性,使用上述方法进行操作的效率很低。如CDMA基站系统的时钟单板,其测试流程 包括程序下载、自动参数设置、TOD状态等测试项,这些测试项的耗时较长,采用上述测试 方法对该板进行测试,总共需要两小时左右。分析CDMA基站时钟单板的测试过程,大部分 测试项并不需要上位机一直对其操作,如TOD测试项,上位机下发测试命令给下位机,下位 机开始测试,在后续TOD实际测试过程中己不再需要上位机的参与,上位机只需在指定的时 间下发命令给下位机,査询测试是否完成并获得测试数据即可。所以在整个测试过程中,上 位机有效参与测试的时间非常短,大多数过程是处于空闲状态。
对于类似的被测对象,采用上述的测试方法,在某个时刻,测试仪只能测一个被测对象, 效率非常低,而且也不能充分利用测试仪的资源。

发明内容
本发明的目的是为了提供一种利用分时特性,可同时对多个被测对象进行测试的方法, 解决了传统测试仪在面对某些被测对象时测试效率低、资源利用率低的问题,明显提高了测 试效率,提高了测试仪的利用率。
本发明所述用于测试仪的分时测试方法的核心思想是建立一套上位机和多套下位机, 每个下位机相互独立,而且只对一个被测对象进行操作,上位机可以与各个下位机进行双向 通讯。将测试仪上位机的处理时间分割成细微的时间片,在一个时间片内,上位机只与一个 下位机进行相互通讯,在下一个时间片,上位机与另外一个下位机通讯,直到与所有下位机 都完成至少一次通讯。依此顺序,上位机与所有下位机进行通讯,直至完成所有被测对象的 测试工作。
本发明具体是这样实现的
一种用于测试仪的分时测试方法,包括如下步骤
步骤1、根据被测对象的测试特性和方法,将被测对象的测试流程分成相对独立且存在一 定次序的测试项;
步骤2、将上位机软件处理时间分片,在单个时间片内,上位机只与一个下位机进行通讯, 依次完成所有下位机通讯,如此循环,直至所有的被测对象测试完成;
步骤3、上位机软件査询到所有的被测对象都测试完成,测试结束,退出测试程序。 所述上位机软件由测试模块和支撑软件组成,
所述测试模块完成与测试业务相关的功能,所述支撑软件则完成辅助的功能; 所述下位机是具有处理能力的专用测试硬件设备或测试仪表; 所述上位机软件发出测试命令,所述下位机和被测对象完成测试。
所有的被测对象的测试并不一定同步,各个被测对象测试项是独立的;允许在测试过程 中随时加入新的被测对象,进入轮流测试;每个时间片会执行一个被测对象的一个测试项, 但一个测试项有可能在前后多个时间片里进行测试。
所述步骤2的测试过程中,分时是在上位机软件中实现,时间片动态分配,每个时间片 的时间大小不定,具体步骤如下
1、 开始当前时间片,获得当前被测对象,并读取当前待测测试项;
2、 执行当前被测对象的当前测试项;
3、 当前测试项返回后,保存测试项数据,结束当前时间片;
4、 跳到下一个被测对象,分配新的时间片进行测试,转入l,直至所有的被测对象测试 完成。
当用户开始测试时,在上位机软件中创建独立的测试线程;
测试线程启动后,根据测试仪得到的实际被测对象信息,创建和更新测试对象数据,上 位机软件为每个被测对象创建一个软件数据结构; 被测对象数据将被包含在一定的容器里。
所述时间片的时间大小不定,由测试项的测试函数的定义决定,整个测试过程是由时间 片组成的;
在每个时间片内,
首先从保存被测对象的容器中找到当前被测对象,该对象数据中的测试位置指示了实际 的被测对象,再从对象数据中获得当前测试项信息;
根据当前测试项信息,调用实现测试项的测试函数,进行实际的测试,当函数返回后, 将当前测试结果保存在测试对象数据中,当前时间片结束;
在紧接着下一个时间片中,在容器中找到下一个被测对象,重复上述测试,直至所有的 被测对象都已经完成,则结束整个测试。
所述测试项的测试函数返回中有三种类型,分别是测试成功、测试失败或挂起;
当所述函数返回测试成功或失败时,说明该测试项已经完成,不仅将保存测试结果,也 将根据测试项定义,找到下一个测试项信息并设为当前测试项,待被测对象得到的下一个时 间片执行;
当函数返回测试挂起时,说明该测试项尚未完成,依旧保存当前测试项信息,待被测对 象得到的下一个时间片执行。
采用本发明所述方法,具备以下优点
1、 与传统测试仪一次测试一个被测对象比较,通过分时测试,充分利用上位机性能,与 多个下位机进行交互,同时完成多个被测对象,提高了测试效率;
2、 与传统测试仪比较,分时测试充分利用了测试仪资源,降低了测试仪成本。


图1是本发明具体实施的流程图。
具体实施例方式
下面结合附图对技术方案的实施作进一步的详细描述
采用该发明,测试仪的上位机软件一般由测试模块和支撑软件组成,测试模块完成与测 试业务相关的功能,支撑软件则完成辅助的功能,如界面显示、数据存取等。 一般地,上位机软件发起测试命令,但实际的测试是由下位机和被测对象完成的。下位 机是具有处理能力的专用测试硬件设备或者测试仪表,能够和被测对象相互配合完成真正的 测试。在进行并行测试时,下位机资源支持同时对若干被测对象进行测试。
在CDMA基站时钟单板的测试中,下位机通过唯一的串口与上位机进行通讯,接受上位 机下发的测试命令进行测试,或对下发的査询指令进行回答;同时,下位机和各被测单板一 起组成实际进行测试的子系统,它们能够同时进行测试。
具体的步骤如下
一、 将被测对象的测试流程分割成有前后顺序关系的一系列测试项 根据被测对象的测试特性和方法,首先将被测对象的测试流程分成多个测试项。 如根据CDMA基站时钟单板的测试方法和特性,将测试流程划分成相对独立且存在一定
次序的测试项,包括程序下载、自动参数设置、TOD状态测试等测试项,这些测试项的具体 测试过程由测试动态链接库文件中的函数来实现。
这些测试项的大多数测试过程都是由上位机下发测试命令给下位机,下位机开始测试并 给上位机回应,然后上位机不时的下发命令査询测试是否完成,下位机则将当前测试情况返 回给上位机,直到上位机下发命令査询到测试已完成且获得测试结果为止。
这些测试项的完成并不是在一次测试完成,如TOD状态测试,整个测试过程需要30分 钟,都是在轮流测试中的多个时间片完成的。
二、 将上位机处理时间分片,在一个时间片内,上位机只与一个下位机进行通讯,依次 完成所有下位机通讯,如此循环,直至所有的被测对象测试完成。
所述步骤二的测试过程中,分时是在上位机软件中实现,时间片动态分配,每个时间片 的长短可不定。具体步骤如下
1、 开始当前时间片,获得当前被测对象,并读取当前待测测试项;
2、 执行当前被测对象的当前测试项;
3、 当前测试项返回后,保存测试项数据,结束当前时间片;
4、 跳到下一个被测对象,分配新的时间片进行测试,转入步骤l,如所有被测对象所有 测试项都已完成,则跳出轮流测试。
上述步骤并不要求同步所有的被测对象的测试,各个被测对象测试项是独立的;允许在 测试过程中随时加入新的被测对象,进入轮流测试;每个时间片会执行一个被测对象的一个 测试项,但一个测试项有可能在前后多个时间片里进行测试。
当用户开始测试时,在上位机软件中创建独立的测试线程。不管被测对象有多少个,都 只使用同一个测试线程进行测试。测试线程启动后,根据测试仪得到的实际被测对象信息,
创建或更新测试对象数据。上位机软件为每个测试对象创建一个软件数据结构,包含了被测 对象的ID、测试位置、当前测试项等信息。这些测试对象数据将被包含在一定的容器里,如 数组、链表等,以便在测试后续过程,利用容器快速定位和处理指定的被测对象。
如CDMA基站的时钟单板测试仪,在上位机软件中为单板及其相关属性创建了一个类, 定义了被测单板测试槽号、当前步骤ID等成员,并为每个实际待测的单板创建该类的对象, 这些对象以链表形式保存。
当测试开始后,对所有被测对象的所有测试项按照一定的次序轮流测试,执行一个被测 对象中其中一个测试项的时间称为时间片,每个时间片的时间大小不定,由测试项的测试函
数的定义决定,整个测试过程是由时间片组成的。
在每个时间片内,首先从保存被测对象的容器中找到当前被测对象,该对象数据中的测
试位置指示了实际的被测对象,再从对象数据中获得当前测试项信息;根据当前测试项信息, 调用实现测试项的函数,进行实际的测试,当函数返回后,将当前测试结果保存在测试对象 数据中,当前时间片结束。在紧接着下一个时间片中,在容器中找到下一个被测对象,重复 上述测试。每个被测对象的每个测试项都有机会获得时间片进行测试。
在新时间即将开始的时刻,上位机软件会对保存在容器中的下一个被测对象首先进行检 査,确认其是否已经完成所有测试项的测试,如已经完成,则直接跳过该对象对下一个对象 进行操作。如所有的被测对象都己经完成,则结束整个测试。
如在CDMA基站时钟单板测试中,假设同时测试多块单板,则测试对象链表包含了对应 的多个测试对象。
当测试开始时,上位机软件从链表中依次获得当前测试单板,检査该单板的测试标志是 否为全部测试完成,如未完成,则读取单板的当前待测测试项数据,根据数据中测试项动态 链接库文件名及其测试项函数名,调用相应动态链接库文件中的函数,函数执行并返回后, 将测试结果保存在测试流程中。
测试项函数定义了一个测试项的具体测试过程, 一般,完成一个测试项只需要执行一次 函数,但在某些情况下,需要在前后分隔的多个时间片中多次执行函数才可。在实现中,每 个测试项函数返回中有三种类型,分别是测试成功、测试失败或挂起。当函数返回测试成功 或失败时,说明该测试项已经完成,不仅将保存测试结果,也将根据测试项定义,找到下一 个测试项信息并设为当前测试项,待该单板得到的下一个时间片执行;当函数返回测试挂起 时,说明该测试项尚未完成,依旧保存当前测试项信息,待该单板得到的下一个时间片执行。
如TOD状态测试函数,该函数将包含上位机发送査询测试是否完成的命令,并等候和分 析下位机返回的结果,如返回下位机已测试完成,则该函数返回测试成功或测试失败,如返
回下位机仍在测试,则该函数返回测试挂起。所以,在测试TOD状态测试的近半个小时时间 内,虽然在多个时间片对该被测单板的TOD状态进行测试,多次调用了该函数,但除了最后 获得结果的时间片外,其他情况下该函数均返回测试挂起,当函数返回测试挂起后,说明该 测试项尚未测试完成,需要分配后续时间片继续对该测试项进行测试。当前时间片结束后, 从测试链表中获得下一个单板,进行上述测试。
在每个新时间片开始,上位机软件会查询当前被测单板是否已经测试完成,如己经完成,
则跳到链表中的下一个单板(如当前单板在链表结尾位置,则认为下一单板在链表起始位置), 继续判断和测试,直至所有的时钟单板测试完成。 三、测试结束,退出程序
当上位机软件査询到所有的被测对象都已经测试完成,则退出轮流测试的循环,并退出 测试程序,完成整个测试过程。
在上述测试实现过程,可以看到在测试进行过程中,可以随时加入新的被测对象。如在 CDMA基站时钟单板测试中,加入新的单板,则在上位机软件链表中加入新的测试单板数据, 也就加入了轮流测试的过程。并且,由于各单板的测试状态均被链表中对应的测试对象数据 所记录,所以各单板的测试进度可以不同步。
上述方案的被测对象测试的实际测试是由下位机和被测对象共同完成的,它们本身具有 并行测试的特性,测试过程虽然需要上位机的干预,但每个被测对象上下位机通讯过程中具 有通讯次数少、时间短的特点,而整个测试过程上位机空闲时间较长。所以方案的本质在于 充分利用上位机测试单个被测对象时大量空闲时间的特点,将其变成上位机多个被测对象轮 流对下位机测试进行通讯的分时测试方案。采用该方法,利用分时特性,将原先测试一个对 象的空闲时间用于其它多个对象测试,使得测试效率比传统方法明显提高。
上面描述的是一个使用分时测试方法实现多个被测对象的生产测试具体实施例。需要注 意该实施例仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明所述方法的 启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可以做出很多变形,这些 均属于本发明的保护之内。
权利要求
1、一种用于测试仪的分时测试方法,其特征在于,包括如下步骤步骤1、根据被测对象的测试特性和方法,将被测对象的测试流程分成相对独立且存在一定次序的测试项;步骤2、将上位机软件处理时间分片,在单个时间片内,上位机只与一个下位机进行通讯,依次完成所有下位机通讯,如此循环,直至所有的被测对象测试完成;步骤3、上位机软件查询到所有的被测对象都测试完成,测试结束,退出测试程序。
2、 如权利要求1所述的用于测试仪的分时测试方法,其特征在于-所述上位机软件由测试模块和支撑软件组成,所述测试模块完成与测试业务相关的功能,所述支撑软件则完成辅助的功能; 所述下位机是具有处理能力的专用测试硬件设备或测试仪表; 所述上位机软件发出测试命令,所述下位机和被测对象完成测试。
3、 如权利要求1所述的用于测试仪的分时测试方法,其特征在于所有的被测对象的测试并不一定同步,各个被测对象测试项是独立的;允许在测试过程 中随时加入新的被测对象,进入轮流测试;每个时间片会执行一个被测对象的一个测试项, 但一个测试项有可能在前后多个时间片里进行测试。
4、如权利要求1或2或3所述的用于测试仪的分时测试方法,其特征在于 所述步骤2的测试过程中,分时是在上位机软件中实现,时间片动态分配,每个时间片 的时间大小不定,具体步骤如下1、 开始当前时间片,获得当前被测对象,并读取当前待测测试项;2、 执行当前被测对象的当前测试项;3、 当前测试项返回后,保存测试项数据,结束当前时间片;4、 跳到下一个被测对象,分配新的时间片进行测试,转入l,直至所有的被测对象测试 完成。
5、 如权利要求4所述的用于测试仪的分时测试方法,其特征在于-当用户开始测试时,在上位机软件中创建独立的测试线程;测试线程启动后,根据测试仪得到的实际被测对象信息,创建和更新测试对象数据,上 位机软件为每个被测对象创建一个软件数据结构; 被测对象数据将被包含在一定的容器里。
6、 如权利要求4所述的用于测试仪的分时测试方法,其特征在于所述时间片的时间大小不定,由测试项的测试函数的定义决定,整个测试过程是由时间 片组成的;在每个时间片内,首先从保存被测对象的容器中找到当前被测对象,该对象数据中的测试位置指示了实际 的被测对象,再从对象数据中获得当前测试项信息;根据当前测试项信息,调用实现测试项的测试函数,进行实际的测试,当函数返回后, 将当前测试结果保存在测试对象数据中,当前时间片结束;在紧接着下一个时间片中,在容器中找到下一个被测对象,重复上述测试,直至所有的 被测对象都已经完成,则结束整个测试。
7、 如权利要求6所述的用于测试仪的分时测试方法,其特征在于 所述测试项的测试函数返回中有三种类型,分别是测试成功、测试失败或挂起; 当所述函数返回测试成功或失败时,说明该测试项已经完成,不仅将保存测试结果,也将根据测试项定义,找到下一个测试项信息并设为当前测试项,待被测对象得到的下一个时 间片执行;当函数返回测试挂起时,说明该测试项尚未完成,依旧保存当前测试项信息,待被测对 象得到的下一个时间片执行。
全文摘要
本发明公开了一种用于测试仪的分时测试方法,包括,根据被测对象的测试特性和方法,将被测对象的测试流程分成相对独立且存在一定次序的测试项;将上位机软件处理时间分片,在单个时间片内,上位机只与一个下位机进行通讯,依次完成所有下位机通讯,如此循环,直至所有的被测对象测试完成;上位机软件查询到所有的被测对象都测试完成,测试结束,退出测试程序。采用本发明所述方法,与传统测试仪一次测试一个被测对象比较,通过分时测试,充分利用上位机性能,与多个下位机进行交互,同时完成多个被测对象,提高了测试效率;分时测试充分利用了测试仪资源,降低了测试仪成本。
文档编号G06F11/00GK101098359SQ20061009046
公开日2008年1月2日 申请日期2006年6月27日 优先权日2006年6月27日
发明者傅佳芳, 汪步江, 高延玲, 黄一川 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1