专利名称:多种互斥条件下的多模式测试系统及其方法
技术领域:
本发明涉及一种计算机硬件测试系统及其方法,特别是涉及一种多种互斥条件下的多模式测试系统及其方法。
背景技术:
计算机硬件测试的过程中,由于不同的硬件具有不同的特性,因此对每个硬件测试的线程之间的互斥要求也就不尽相同。有些测试项要求用户参与测试(例如要求用户敲击键盘、鼠标等),用户在同一时间只能处理一个这样的测试项,所以这样的测试项之间必须一个一个的互斥进行。有些测试项虽然针对的不是同一硬设备,但它们用到了同一个设备为其提供服务,如Movie,Audio,由于都要使用声卡,因此不能同时进行测试。还有些测试项在测试过程中,不允许同一设备上的其它所有测试项运行,如LPT,COM等串行的接口,多个测试项必须串行测试才可以。还有些测试项在测试过程中,不允许其它所有测试项同时运行,这一测试项必须独占CPU进行测试,不允许有一点干扰。另外一些测试项没有任何特殊的要求,只要与其它测试不冲突就可以进行测试了。
实际上在计算机硬件测试过程中,一些测试项并不是单单要求上面的一条就可以了,有些测试项既要求设备互斥,又要求用户在测试过程中交互进行测试等。这样测试项线程之间的调度就会比较复杂。如何控制测试线程,使它们之间不冲突,同时又能更好的测试出计算机的性能,是当前测试方法的重要发展方向。
现有的测试方法只是顺序的进行测试,这样测试项之间的关系就简化了。有些测试程序将测试项进行分类,分为交互的与非交互的,需要互斥的以及不需要互斥的等几种情况。经过分类后虽然线程调度的复杂度有所降低,但是实际情况下,计算机并不是这幺纯粹的处理一系列的操作,它有可能同时处理几个不同设备的交互和非交互的很多操作。这样测试线程调度实现的方法虽然比较简单,但它存在测试时间上的花费比较多的问题,因此整体性能以及准确度等都不是很理想。
发明内容
本发明所要解决的技术问题在于提供一种多种互斥条件下的多模式测试系统及其方法,可根据测试项的多种互斥测试要求进行多种模式的测试,从而保证了对硬件以及计算机整体性能的测试准确性。
为了实现上述目的,本发明提供了一种多种互斥条件下的多模式测试系统,包括一等待模块,包括一等待队列,用以接收用户所选的测试项;一临时等待队列,用以临时存储冲突测试项;一模式确定模块,用以接收用户输入的测试模式;一测试模块,其包括一运行队列,该测试模块对该运行队列中的测试项进行测试;一变量控制模块,其根据该测试模式以及用户的选择,开启相应的测试变量,控制该测试模块的测试循环次数;及一互斥判断模块,其提取该等待队列以及该临时等待队列的测试项,并判断其互斥条件,将允许测试项存储至该运行队列,将该冲突测试项存储至该临时等待队列中等待调用。
上述的多种互斥条件下的多模式测试系统,其特点在于,所述测试模式包括循环串行模式、循环并行模式、时间串行模式、时间并行模式、及循环并行扩展模式。
上述的多种互斥条件下的多模式测试系统,其特点在于,所述循环串行模式还包括普通串行模式。
上述的多种互斥条件下的多模式测试系统,其特点在于,所述循环并行模式还包括普通并行模式。
上述的多种互斥条件下的多模式测试系统,其特点在于,所述互斥条件包括独占、交互冲突、设备级冲突以及无任何冲突。
另外,本发明还提供了一种多种互斥条件下的多模式测试方法,包括如下步骤确定测试项,并根据该测试项确定测试模式;创建等待队列、临时等待队列以及运行队列,并将该测试项存储至该等待队列中;从该等待队列以及该临时等待队列中提取测试项,同时判断其互斥条件;根据该互斥条件将该当前测试项存储至相应的队列;若测试项为当前允许测试项,则将其存储至该运行队列中;及若测试项为当前冲突测试项,则将其存储至该临时等待队列中;及根据该测试模式对运行队列中的测试项进行测试。
上述的多种互斥条件下的多模式测试方法,其特点在于,所述根据该互斥条件将该当前测试项存储至相应的队列的步骤还包括若测试项为当前允许测试项,则将其存储至该运行队列中;及若测试项为当前冲突测试项,则将其存储至该临时等待队列中。
上述的多种互斥条件下的多模式测试方法,其特点在于,还包括根据该测试项开启控制变量,控制测试项的测试循环次数。
上述的多种互斥条件下的多模式测试方法,其特点在于,所述测试模式包括循环串行模式、循环并行模式、时间串行模式、时间并行模式、以及循环并行扩展模式。
上述的多种互斥条件下的多模式测试方法,其特点在于,所述互斥条件包括独占、交互冲突、设备级冲突、无任何冲突。
本发明所提的多种互斥条件下的多模式测试系统及其测试方法,可以同时控制许多测试线程之间的互斥情况,不会出现测试冲突。同时兼顾了多种测试调度模式,能满足用户全方面的需要,其不但可以用于单项测试,而且可以针对不同的设备进行测试,还可以进行整体测试,多种测试模式,并使得运行结果更加精确的反映了实际的情况。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图1是本发明所提的多种互斥条件下的多模式测试系统的模块架构图;
图2是本发明所提的多种互斥条件下的多模式测试方法的运作流程图;及图3是本发明根据互斥条件对测试线程进行处理的流程图。
具体实施例方式
本发明涉及一种多种互斥条件下的多模式测试系统及其方法,首先由图1说明本发明的系统,该图是本发明所提的系统的模块架构图,如图1所示,等待模块110包括等待队列111以及临时等待队列112,互斥判断模块150与等待模块110以及模式确定模块120相连,其判断等待模块110中测试项的互斥条件,根据判断结果将允许测试项放入测试模块130进行测试,否则将冲突测试项放入临时等待队列112中等待调用。变量控制模块140根据用户设定的控制变量控制测试模块130中测试项的测试循环次数,从而可根据测试项的多种互斥测试要求进行多种模式的测试。各模块的详细说明如下(1)等待模块110,包括等待队列111以及临时等待队列112,其中等待队列111,其接收用户所选的测试项;临时等待队列112,用以临时存储冲突测试项。
(2)模式确定模块120,用以接收用户输入的测试模式,用户根据选中的测试项选择相应的测试模式,测试模式包括循环串行模式(Loop SequentialMode)、循环并行模式(Loop Parallel Mode)、时间串行模式(Time SequentialMode)、时间并行模式(Time Parallel Mode)、及循环并行扩展模式(LoopParallel Extendable)。其中循环串行模式若循环次数为一次,则为普通串行模式(Common Sequential Mode);循环并行模式若循环次数为一次则为普通并行模式(Common Parallel Mode)。
如果是Loop Sequential Mode(包括Common Sequential Mode),由一个变量loopcount控制,当每次运行完一次时,loopcount增加一,当到达用户设定的次数时,运行结束,清空等待队列、运行队列、临时等待队列。如果是LoopParallel Mode(包括Common Parallel Mode)、Loop Parallel Extendable,则等待最慢的一个测试线程运行用户设定的次数之后,结束。如果是Time SequentialMode,则开启一个定时器Timer,以串行方式调度测试线程,当到达用户设定的时间后,运行终止,清空等待队列、运行队列、临时等待队列。如果是TimeParallel Mode,则开启一个Timer,以并行方式调度测试线程,当到达用户设定的时间后,运行终止,清空等待队列、运行队列、临时等待队列。
(3)测试模块130,其还包括一运行队列131,该测试模块用以对该运行队列中的测试项进行测试。当用户选择中途停止测试时,给每个运行的线程发送消息,运行终止,清空等待队列、运行队列、临时等待队列。
(4)变量控制模块140,其根据该测试模式以及用户的设定,开启相应的变量,控制该测试模块的测试循环次数;及(5)互斥判断模块150,其提取该等待队列以及该临时等待队列的测试项,并判断其互斥条件,将互斥条件允许的测试项存储至该运行队列,将该冲突测试项存储至该临时等待队列中等待调用。其中互斥条件是根据测试项返回的互斥信息,互斥条件共有四种,分别为无任何冲突(Exclusive With None)、设备级冲突(Exclusive With Device)、独占(Exclusive With All)以及交互冲突。同时测试项还要返回交互情况的信息IsInteractive的值。
不同的互斥条件对应不同的优先级,Exclusive With All的测试项,不能与其它测试项一起运行,故优先级最高;交互的测试项,同一时间只能运行一个这样的测试项,它的优先级其次;由于Exclusive With Device的测试项,一个设备只能运行一个测试项,它优先级为第三;Exclusive With None的优先级最低。
该互斥判断模块150从等待队列111中取出一个测试项,如果测试项是Exclusive With All,那么它只能单独运行,只有当运行队列中没有运行的测试项时,这个测试项才能被调度起来,同时进入等待状态,直到该测试项运行完毕,系统重新恢复为运行状态,否则,这个测试项仍在等待队列111中。如果是IsInteractive的测试项,则先判断运行队列131中有没有IsInteractive的运行的测试项,然后判断它的设备级的互斥条件,决定它是否可以运行;如果测试项是Exclusive With Device,要对运行队列131进行判断,如果没有同设备的运行的测试项,才能开启线程运行这个测试项;如果运行着的测试线程,达到了最大线程数,则进入等待状态,直到有测试线程运行完毕为止。
接着,通过图2来说明本发明的流程,该图是本发明所提的多种互斥条件下的多模式测试方法的运作流程图。步骤210,首先确定测试项,并根据该测试项确定测试模式。测试模式包括循环串行模式(Loop Sequential Mode)、循环并行模式(Loop Parallel Mode)、时间串行模式(Time Sequential Mode)、时间并行模式(Time Parallel Mode)、及循环并行扩展模式(Loop ParallelExtendable)。
其中循环串行模式若循环次数为一次,则为普通串行模式(CommonSequential Mode);循环并行模式若循环次数为一次则为普通并行模式(Common Parallel Mode)。如果是Loop Sequential Mode(包括CommonSequential Mode),由一个变量loopcount控制,当每次运行完一次时,loopcount增加一,当到达用户设定的次数时,运行结束,清空等待队列、运行队列、临时等待队列。
如果是Loop Parallel Mode(包括Common Parallel Mode)、Loop ParallelExtendable,则等待最慢的一个测试线程,运行用户设定的次数之后,结束运行;如果是Time Sequential Mode,开启一个Timer,串行的调度测试线程,当到达用户设定的时间后,运行终止,清空等待队列、运行队列、临时等待队列;如果是Time Parallel Mode,开启一个Timer,并行调度测试线程,当到达用户设定的时间后,运行终止,清空等待队列、运行队列、临时等待队列。
步骤220,然后创建等待队列、临时等待队列以及运行队列,并将等待队列以及运行队列初始化,将该测试项存储至该等待队列中,再根据该测试项开启控制变量Timer或Itemcount,控制测试项的测试循环次数。
步骤230,将控制变量初始化,然后从该等待队列以及临时等待队列中提取测试项,同时判断其互斥条件。其中互斥条件是根据测试项返回的互斥信息,共有四种,分别为无任何冲突(Exclusive With None)、设备级冲突(ExclusiveWith Device)、独占(Exclusive With All)以及交互冲突。同时测试项还要返回交互情况的信息IsInteractive的值。不同的互斥条件对应不同的优先级,Exclusive With All的测试项,不能与其它测试项一起运行,故优先级最高;交互的测试项,同一时间只能运行一个这样的测试项,它的优先级其次;由于Exclusive With Device的测试项,一个设备只能运行一个测试项,它优先级为第三;Exclusive With None的优先级最低。
步骤240,根据该互斥条件将该当前测试项存储至相应的队列(请参见图3)。若测试项为当前允许测试项,则开启线程运行这个测试项,并将其存储至运行队列中(步骤241);若测试项为当前冲突测试项,则将其存储至临时等待队列中(步骤242)。
步骤250,再根据该测试模式对运行队列中的测试项进行测试。如果测试项是Exclusive With All,那么它只能单独运行,只有当运行队列中没有其它正在运行的测试项时,这个测试项才能被调度起来,同时进入等待状态,直到该测试项运行完毕,系统重新恢复为运行状态,否则,这个测试项仍在等待队列中。如果是IsInteractive的测试项,则先判断运行队列中有没有IsInteractive的运行的测试项,然后判断它的设备级的互斥条件,决定它是否可以运行;如果测试项是Exclusive With Device,要对运行队列进行判断,如果没有同设备的运行的测试项,才能开启线程运行这个测试项;如果运行着的测试线程,达到了最大线程数,同时进入等待状态,直到有测试线程运行完毕为止。
下面以循环串行模式为例对本发明进行详细说明。
当前测试项为Memory Walking 0,Memory Walking 1,Memory MarchR(Excliusive with none),每个测试项要求开启2个线程进行测试,Keyboard,Mouse(Interative),每个测试项要求开启1个线程进行测试,VideoColor Purity,Video DAC Address,Video Mode,Video Direct(Interative),每个测试项要求开启2个线程,用户选择Loop Sequential Mode进行测试,最大线程数为9999,要求运行10个Loop的情况下,调度如下将用户选择的Memory Walking 0,Memory Walking 1等测试项,以及它们设定的线程数放入等待队列中,等候被系统调度,将Loopcount设为0,准备测试。
从临时等待队列中取出一个测试项的一个线程,判断它的互斥条件,如果可以运行,将其线程数减一,当线程数为0时,将其从临时等待队列中删除。如果临时等待中没有可以开启的测试项线程,从等待队列中取出一个测试项线程,判断它的互斥条件,如果可以开启,将其开启,放入运行队列,否则将该测试项放入临时等待队列中。循环判断,直到临时等待队列,等待队列为空时,等待。当运行队列为空时,将Loopcount增加一,重新调度线程的下一次运行。如果Loopcount达到10次,程序运行结束。
运行结果为Memory Walking 0,Memory Walking 1,Memory March R的2个线程,Keyboard的1个线程,被开启运行,当交互线程Keyboard结束后Mouse被开启,然后陆续是设备级交互线程Video Color Purity,Video DACAddress,Video Mode,Video Direct一个一个线程被开启运行,一次Loop结束,下一次循环又从Memory Walking 0开始运行,直到10次Loop,测试结束,显示测试信息。
下面以循环并行模式为例,对本发明进行详细说明。
当前测试项包括Memory Walking 0,Memory Walking 1,Memory MarchR(Exclusive with node),每个测试项要求开启3个线程进行测试,Keyboard,Mouse(Interactive),每个测试项要求开启2个线程进行测试,VideoColor Purity,Video DAC Address,Video Mode,Video Direct(Interactive),每个测试项要求开启4个线程,用户选择Loop Parallel Mode进行测试,要求运行10次,最大线程数为9999的情况下,调度如下将用户选择的Memory Walking 0,Memory Walking 1等测试项,以及它们设定的线程数放入等待队列中,等候被系统调度,将Loopcount设为0,准备测试。
从临时等待队列中取出一个测试项的一个线程,判断它的互斥条件,如果可以运行,将其线程数减一,当线程数为0时,将其从临时等待队列中删除。如果临时等待中没有可以开启的测试项线程,从等待队列中取出一个测试项线程,判断它的互斥条件,如果可以开启,将其开启,放入运行队列,否则将该测试项放入临时等待队列中。当等待队列到达队尾时,下一次循环又从等队列的头开始,Loopcount增加一,直到10次。当临时等待队列为空时,等待运行队列中测试项结束后,测试结束。
运行结果为Memory Walking 0,Memory Walking 1等Exclusive with none的测试项的每个线程运行10次的同时,Keyboard,Mouse,Video Color Purity等交互的测试项的每个线程依次运行10次。
下面以时间串行模式为例对本发明进行详细说明。
当前测试项为包括Storage HardDisk Funnel Read,Storage HardDiskRandom Read,(Exclusive with none),每个测试项要求开启2个线程,MoviePlay,Mouse(Interactive),每个测试项要求开启2个线程,LPT ECPModeReadWrite,LPT ExtenalLoopback,LPT SPPMode ReadWrite(Exclusive withdevice),每个测试项要求开启2个测试线程。用户选择Time Sequential Mode运行测试,最大线程数为9999的情况下,调度如下将用户选择的Storage HardDisk Funnel Read,Storage HardDisk RandomRead等测试项,以及它们设定的线程数放入等待队列中,等候被系统调度,将Loopcount设为0,开启一个Timer,设定结束运行时间,准备测试。
然后从临时等待队列中取出一个测试项的一个线程,判断它的互斥条件,如果可以运行,将其线程数减一,当线程数为0时,将其从临时等待队列中删除。如果临时等待中没有可以开启的测试项线程,从等待队列中取出一个测试项线程,判断它的互斥条件,如果可以开启,将其开启,放入运行队列,否则将该测试项放入临时等待队列中。循环判断,直到临时等待队列,等待队列为空时,等待。当运行队列为空时,将Loopcount增加一,重新调度线程的下一次运行。当Timer到时时,发送消息,将运行队列中的每一线程结束,结束测试。
运行结果为Storage HardDisk Funnel Read,Storage HardDisk Random Read的2个线程,Movie Play,LPT ECPMode ReadWrite的1个线程,被开启运行,当交互线程Movie Play结束后Mouse被开启。当LPT ECPMode ReadWrite运行结束后,LPT ExtenalLoopback,LPT SPPMode ReadWrite一次运行。这到一次Loop结束,下一次循环又从Storage HardDisk Funnel Read开始运行,直到10次Loop,测试结束,显示测试信息。
下面以时间并行模式为例,对本发明进行详细说明。
当前测试项为Storage HardDisk Funnel Read,Storage HardDisk RandomRead(Exclusive with none),每个测试项要求开启2个线程,MoviePlay,Mouse(Interacitve),每个测试项要求开启2个线程,LPT ECPModeReadWrite,LPT ExtenalLoopback,LPT SPPMode ReadWrite(Exclusive withdevice),每个测试项要求开启2个测试线程。用户选择Time Parallel Mode运行测试,最大线程数为9999的情况下,调度如下将用户选择的Storage HardDisk Funnel Read,Storage HardDisk RandomRead等测试项,以及它们设定的线程数放入等待队列中,等候被系统调度,将Loopcount设为0,开启一个Timer,设定结束运行时间,准备测试。
从临时等待队列中取出一个测试项的一个线程,判断它的互斥条件,如果可以运行,将其线程数减一,当线程数为0时,将其从临时等待队列中删除。如果临时等待中没有可以开启的测试项线程,从等待队列中取出一个测试项线程,判断它的互斥条件,如果可以开启,将其开启,放入运行队列,否则将该测试项放入临时等待队列中。当等待队列到达列尾时,下一次循环又从等队列的头开始,Loopcount增加一,直到Timer到时时,将所有的运行线程结束掉,将临时等待队列、运行队列清空,测试结束。
运行结果Storage HardDisk Funnel Read,Storage HardDisk Random Read等Exclusive with none的测试项的每个线程运行10次的同时,MoviePlay,Mouse交互的测试项线程依次运行,LPT ECPMode ReadWrite,LPTExtenalLoopback,LPT SPPMode ReadWrite也依次运行直到Timer到时为止。
下面循环串行模式为例,对本发明进行详细说明。
当前测试项为Storage HardDisk Funnel Read,Storage HardDisk RandomRead,(Exclusive with none),每个测试项要求开启3个线程,用户选择LoopSequential Mode进行测试,要求运行10次,最大线程数为4的情况下,调度如下将用户选择的Storage HardDisk Funnel Read,Storage HardDisk RandomRead等测试项,以及它们设定的线程数放入等待队列中,等候被系统调度,将Loopcount设为0,准备测试。
从临时等待队列中取出一个测试项的一个线程,判断它的互斥条件,如果可以运行,将其线程数减一,当线程数为0时,将其从临时等待队列中删除。如果临时等待中没有可以开启的测试项线程,从等待队列中取出一个测试项线程,判断它的互斥条件,如果可以开启,将其开启,放入运行队列,否则将该测试项放入临时等待队列中。当开始的线程数达到4时,等待,直到有线程结束,才可以调度。当等待队列到达队尾时,下一次循环又从等队列的头开始,Loopcount增加一,直到10次。当临时等待队列为空时,等待运行队列中测试项结束后,测试结束。
运行结果为Storage HardDisk Funnel Read三个线程和Storage HardDiskRandom Read的一个线程同时运行,当有一个线程结束后,Storage HardDiskRandom Read的第二个线程才可以运行,当有一个线程结束后,StorageHardDisk Random Read的第三个线程才可以运行,一次Loop结束,Loopcount增加一,直到10次。
下面以循环并行模式为例,对本发明进行详细说明。
当前测试项为Memory Walking 0,Memory Bit stuct,MultiCPU,(Exclusivewith none),每个测试项要求开启2个测试线程,最大线程数为9999,用户选择Loop Parallel Extendable运行测试,要求循环10次,调度的情况如下将用户选择的Memory Walking 0,Memory Bit stuct,MultiCPU等测试项,以及它们设定的线程数放入等待队列中,等候被系统调度,将Loopcount设为0,将ItemCount值设为0,准备测试。
从临时等待队列中取出一个测试项的一个线程,判断它的互斥条件,如果可以运行,将其线程数减一,当线程数为0时,将其从临时等待队列中删除。如果临时等待中没有可以开启的测试项线程,从等待队列中取出一个测试项线程,判断它的互斥条件,如果可以开启,将其开启,放入运行队列,否则将该测试项放入临时等待队列中。每开启一个线程,将ItemCount增加一。当等待队列到达列尾时,等待。每个开启的测试线程内部运行完10此后,ItemCount减一。当ItemCount为0时,发送消息,调度运行队列中的线程结束运行。
运行结果Memory Walking 0,Memory Bit stuct,MultiCPU的6个测试线程同时运行,直到最慢的Memory Walking 0运行10此后,运行结束。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种多种互斥条件下的多模式测试系统,包括一等待模块,包括一等待队列,用以接收用户所选的测试项;一临时等待队列,用以临时存储冲突测试项;一模式确定模块,用以接收用户输入的测试模式;一测试模块,其包括一运行队列,该测试模块对该运行队列中的测试项进行测试;一变量控制模块,其根据该测试模式以及用户的选择,开启相应的测试变量,控制该测试模块的测试循环次数;及一互斥判断模块,其提取该等待队列以及该临时等待队列的测试项,并判断其互斥条件,将允许测试项存储至该运行队列,将该冲突测试项存储至该临时等待队列中等待调用。
2.根据权利要求1所述的多种互斥条件下的多模式测试系统,其特征在于,所述测试模式包括循环串行模式、循环并行模式、时间串行模式、时间并行模式、及循环并行扩展模式。
3.根据权利要求2所述的多种互斥条件下的多模式测试系统,其特征在于,所述循环串行模式还包括普通串行模式。
4.根据权利要求2所述的多种互斥条件下的多模式测试系统,其特征在于,所述循环并行模式还包括普通并行模式。
5.根据权利要求1所述的多种互斥条件下的多模式测试系统,其特征在于,所述互斥条件包括独占、交互冲突、设备级冲突以及无任何冲突。
6.一种多种互斥条件下的多模式测试方法,包括如下步骤确定测试项,并根据该测试项确定测试模式;创建等待队列、临时等待队列以及运行队列,并将该测试项存储至该等待队列中;从该等待队列以及该临时等待队列中提取测试项,同时判断其互斥条件;根据该互斥条件将该当前测试项存储至相应的队列;若测试项为当前允许测试项,则将其存储至该运行队列中;及若测试项为当前冲突测试项,则将其存储至该临时等待队列中;及根据该测试模式对运行队列中的测试项进行测试。
7.根据权利要求6所述的多种互斥条件下的多模式测试方法,其特征在于,所述根据该互斥条件将该当前测试项存储至相应的队列的步骤还包括若测试项为当前允许测试项,则将其存储至该运行队列中;及若测试项为当前冲突测试项,则将其存储至该临时等待队列中。
8.根据权利要求6所述的多种互斥条件下的多模式测试方法,其特征在于,还包括根据该测试项开启控制变量,控制测试项的测试循环次数。
9.根据权利要求6所述的多种互斥条件下的多模式测试方法,其特征在于,所述测试模式包括循环串行模式、循环并行模式、时间串行模式、时间并行模式、以及循环并行扩展模式。
10.根据权利要求6所述的多种互斥条件下的多模式测试方法,其特征在于,所述互斥条件包括独占、交互冲突、设备级冲突、无任何冲突。
全文摘要
本发明涉及一种多种互斥条件下的多模式测试系统及其方法,首先确定测试项,并根据该测试项确定测试模式,然后创建等待队列、临时等待队列以及运行队列,并将该测试项存储至等待队列中,从等待队列及临时等待队列中提取测试项,互斥判断模块根据互斥条件,若测试项为当前允许测试项,则将其存储至运行队列中,若测试项为当前冲突测试项,则将其存储至临时等待队列中,最后根据该测试模式对运行队列中的测试项进行测试。
文档编号G06F9/46GK1684042SQ20041003116
公开日2005年10月19日 申请日期2004年4月13日 优先权日2004年4月13日
发明者刘文涵, 宋建福, 吴健 申请人:英业达股份有限公司