CN102609352B - 一种并行测试方法及并行测试服务器 - Google Patents
一种并行测试方法及并行测试服务器 Download PDFInfo
- Publication number
- CN102609352B CN102609352B CN201110021778.7A CN201110021778A CN102609352B CN 102609352 B CN102609352 B CN 102609352B CN 201110021778 A CN201110021778 A CN 201110021778A CN 102609352 B CN102609352 B CN 102609352B
- Authority
- CN
- China
- Prior art keywords
- test case
- group
- test
- case
- configuration file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种并行测试的方法及并行测试服务器,主要内容包括:通过文件配置方式来指定待执行的测试用例,并将待执行的测试用例进行划分,分别利用为划分得到的各组配置的系统资源,并行运行组内的多个测试用例,以达到多个测试用例并行运行的目的。相比于现有技术,不需要针对每次并行运行的不同测试用例分别编写相应的测试系统,且只需要创建一个配置文件被所有的测试用例使用,而不需要分别为每个测试用例编写测试脚本,能够有效地提高并行测试的工作效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种对测试用例并行测试的方法及并行测试服务器。
背景技术
测试用例是为某个特殊目标(如特定的软件产品)进行测试任务的描述,通过编制的一组用于测试输入、执行条件以及预期结果的代码,来测试该特殊目标的路径是否正确或该特殊目标是否满足要求。测试用例对于软件的安全性、稳定性方面的测试是非常重要的,通过执行测试用例后,将得到的执行结果与该测试用例对应的断言适配条件进行比较,根据所述执行结果的正确与否,来确定该测试用例所描述软件的功能是否正确。
为了提高测试用例的执行效率,业界提出了一种并行执行测试用例的方案,即在测试用例的编写过程中,为待执行的多个测试用例建立网络通讯的测试系统,当测试用例分别在多台计算机上并行测试时,测试用例之间可以通过具有网络通讯能力的测试系统获知其他测试用例是否执行完成等相关信息,实现多个测试用例的并行执行。
在目前的并行执行测试用例的方案中,需要针对每个测试用例编写相应的测试脚本,且为每次并行执行的多个测试用例编写测试系统,导致人力、物力资源浪费,测试系统和测试脚本的编写难度大,每个测试用例分别调用为自身编写的测试脚本和利用编写好的测试系统进行并行测试的过程也较为复杂,且不断的测试系统和测试脚本编写过程降低了测试用例并行执行的工作效率。
发明内容
本申请目的在于,提供一种并行测试的方法及并行测试服务器,用以解决现有技术中存在并行测试系统和测试脚本编写难度大、且不断的编写过程降低了测试用例并行执行的工作效率的问题。
一种并行测试的方法,预先创建配置文件,所述配置文件中包括系统资源信息和断言适配条件;
所述并行测试的方法包括:
对待执行的多个测试用例进行划分,划分得到的组内包含多个测试用例;
针对每一组,同时调用该组内多个测试用例,利用配置文件中的系统资源信息对应的系统资源运行组内的测试用例,并根据配置文件中的断言适配条件对该测试用例运行结果是否正确进行判定。
一种并行测试服务器,包括:
配置模块,用于创建配置文件,所述配置文件中包括系统资源信息和断言适配条件;
分组模块,用于对待执行的多个测试用例进行划分,划分得到的组内包含多个测试用例;
并行驱动模块,用于针对每一组,同时调用该组内多个测试用例,利用配置文件中的系统资源信息对应的系统资源运行组内的测试用例;
断言适配模块,用于根据配置文件中的断言适配条件对该测试用例运行结果是否正确进行判定。
本申请有益效果如下:
本申请实施例通过文件配置方式来指定待执行的测试用例,并将待执行的测试用例进行划分,分别利用为划分得到的各组配置的系统资源,并行运行组内的多个测试用例,以达到多个测试用例并行运行的目的。相比于现有技术,不需要针对每次并行运行的不同测试用例分别编写相应的测试系统,且只需要创建一个配置文件被所有的测试用例使用,而不需要分别为每个测试用例编写测试脚本,能够有效地提高并行测试的工作效率。
附图说明
图1为本申请实施例一并行测试的方法步骤示意图;
图2为本申请实施例一两种断言适配判定方式示意图;
图3为本申请实施例二配置文件示意图;
图4为本申请实施例二group内接口与并行池的关系示意图;
图5为本申请实施例二并行测试的方法步骤示意图;
图6为本申请实施例二按照执行方式具体运行测试用例的示意图;
图7为本申请实施例二并行池的使用示意图;
图8为本申请实施例三并行测试服务器结构示意图。
具体实施方式
为了避免每次并行执行测试用例时都需要编写相应的测试系统的问题,本申请实施例提出一种新的并行测试方案,通过文件配置方式指定待执行的测试用例,并将待执行的测试用例进行划分,分别利用为划分得到的各组分配的系统资源,并行运行组内的多个测试用例,以达到多个测试用例并行运行的目的。在测试用例编写完成后,可以通过本申请方案直接调用运行,不需要针对每次并行运行的不同测试用例分别编写相应的测试系统,且只需要创建一个配置文件被所有的测试用例使用,而不需要分别为每个测试用例编写测试脚本,有效提高并行测试的工作效率。
下面结合说明书附图对本申请实施例进行详细描述。
本申请各实施例中涉及的测试用例是测试人员编写并存储在某一存储空间内的代码,通过调用、运行测试用例来测试被测对象是否满足设定目标。
本申请各实施例中涉及的并行执行测试用例包括进程与线程两种模式,本发明各实施例中涉及的调用、运行测试用例可以是调用、运行测试用例的进程,或多线程。本发明实施例可以通过应用程序编程接口(Application ProgrammingInterface,API)来开发测试用例,所述API包括分布式测试API、http unit API、DB unitAPI等。
本申请各实施例中配置文件的系统资源信息是指:测试用例在一台计算机上运行时占用的资源的相关信息。系统资源可以用支持多个测试用例同时运行的容器--并行池来表示,测试用例划分得到的每组都对应一个并行池,并行池设置得越大,表示该并行池能够同时运行的测试用例数量越多。
本申请各实施例中配置文件的断言适配条件是指:对运行测试用例得到的运行结果是否正确的判断依据,每一测试用例对应一套断言适配条件。
实施例一
在并行测试之前,可以预先创建配置文件,在配置文件中记录了多个系统资源信息和断言适配条件,以便于在并行测试时,可以调用配置文件中的系统资源信息和来运行测试用例,并调用配置文件中的断言适配条件来判定运行结果的正确性。
如图1所示,为本申请实施例一中并行测试的方法步骤示意图,所述方法包括以下步骤:
步骤101:并行测试服务器对待执行的多个测试用例进行划分,划分得到的组内包含多个测试用例。
本实施例中划分得到的组的数量可以是多个也可以是一个,但每个组内包含的测试用例的数量必须大于1个,使得针对每组内的测试用例运行时,可以有至少两个测试用例同时运行。
并行测试服务器在划分测试用例时,可以将测试环境和/或被测对象相同的测试用例划分在同一组内,以便于同一组内的测试用例在一台计算机上运行时,可以减少测试用例之间运行环境的差别,减少对计算机上测试环境的配置,且具有相同测试环境和/或被测对象的测试用例在并行运行时可以有效降低相互之间的干扰、影响。
步骤102:针对每一组,并行测试服务器调用该组内的测试用例。
本实施例的方案中,若划分后得到多组,可以将各组串行排列,依次运行每组内的测试用例,在一组内的测试用例运行完毕后,继续调用下一组内测试用例;也可以将各组并行排列,组之间相互无先后关系,同时调用多组内的测试用例。
在本实施例的方案中,配置文件中还记载了待执行测试用例所在地址以及该测试用例的执行方式,因此,在本步骤中,并行测试服务器读取某一组内的一个测试用例的地址,从该地址对应的存储空间内调用相应的测试用例。
步骤103:并行测试服务器利用配置文件中的系统资源信息所对应的系统资源运行组内的测试用例。
配置文件中可以直接记载系统资源信息和断言适配条件,在本步骤中并行测试服务器利用相应的系统资源来运行测试用例,在某一系统资源被使用时,需要在配置文件中标记该被使用系统资源的系统资源信息,避免同一系统资源被同时调用。
较优地,所述配置文件中包含的信息划分为多个信息集合,每个信息集合中都记录了系统资源信息和断言适配条件。在步骤101和步骤102之间,由并行测试服务器为划分得到的每组确定对应的一个信息集合,以便于当运行一组内的测试用例时,可以直接调用对应的信息集合中指示的系统资源和断言适配条件。
步骤104:并行测试服务器根据测试用例对应的断言适配条件对运行结果是否正确进行判定。
在本步骤中,可以调用当前运行的测试用例组对应的信息集合中的断言适配条件来进行运行结果的正确性判定。
每一测试用例对应一套断言适配条件,根据断言适配条件对对应的测试用例的运行结果进行正确性判定时,根据配置文件中设置的断言规则不同,可以有两种断言适配判定方式,包括合并断言规则(and规则)和并列断言规则(or规则),如图2所示,为本实施例一根据断言适配条件对运行结果的正确性判定的具体说明如下:
第一步,在测试用例运行完毕得到运行结果后,判断运行结果的结果状态是否有误,若有误,则确定运行结果不正确;否则执行第二步。
本实施例中涉及的结果状态包括但不限于:运行是否正常退出(如测试用例的运行时长是否达到超时时长)、在正常退出时运行结果内容字段是否有误等。在测试用的运行时长达到超时时长或运行结果内容字段有误时,确定运行结果的结果状态有误。
第二步,在断言适配条件为合并断言时,若测试用例的运行结果与对应的所有断言适配条件都匹配,则确定运行结果正确;若存在对应的至少一条断言适配条件不匹配时,确定运行结果不正确。
在断言适配条件为并列断言时,若测试用例的运行结果与对应的至少一个断言适配条件匹配,则确定运行结果正确;在对应的所有断言适配条件都不匹配时,确定运行结果不正确。
通过本申请实施例一的步骤101~步骤104的记载,利用本申请实施例一的方案进行的测试用例的并行测试方法无需为每次的并行测试过程编写相应的测试系统代码,而是可以通过配置文件来记录运行测试用例需要的系统资源信息和断言适配条件,以及记录所要运行的测试用例的相关信息,能够有效提高并行测试的效率;进一步地,若划分得到的多个组之间也并行运行,则可以进一步提高并行测试效率;另外,不论多个组之间是串行运行或是并行运行,同一组内的多个测试用例并行地运行在同一计算机中,相对于现有技术中多个测试用例需要在多台计算机上并行执行的情况,使用本申请方法可以提高计算机资源的利用率。
实施例二
本申请实施例二通过一个具体实例对本申请实施例一的方案做详细描述。
本实施例二在进行并行测试之前,按照图3所示的结构编写配置文件,假设有10个待执行的测试用例,这些测试用例被划分为2组(group1和group2),其中,group1中包含6个测试用例,group2中包含4个测试用例,在此场景下,对配置文件的说明如下:
配置文件可以以数据包的形式存在,图3中只标示出了group1对应的信息集合,group2对应的信息集合在配置文件中的表示与图3类似。group1对应的信息集合主要包括三部分:
第一部分:
第一部分是栈点(pub)节点,pub节点中包括两部分信息:group1并行测试所需的整合信息和断言适配条件。
整合信息包括:
日志文件的存储地址、默认超时时长、组(group1和group2)间的执行序列。
所述日志文件的存储地址表示并行测试执行过程中生成的日志文件的存储地址,测试人员能够从该地址中获得并行测试的日志文件。
默认超时时长是测试人员定义的并行测试过程的运行时长,该超时时长不小于10个测试用例运行时占用时长之和,若并行测试过程占用的时长大于该默认超时时长,则可认为该并行测试过程出现问题。
group1和group2之间的执行序列包括group1和group2之间是串行执行还是并行执行的信息,若group1和group2之间串行执行,则执行序列中还可以进一步包括串行执行的先后顺序,以便于在并行测试时,可以按照组之间的执行序列并行或串行执行。例如:在划分组时,根据同一组内测试用例的测试环境和/或被测对象为组设置优先级,并按照优先级由高至低的顺序排列组。
断言适配条件包括:
字串表达式列表和断言规则。
字串表达式表示一套断言适配条件中的各条件表达式;断言规则中记录了所要采用的规则是合并断言规则(and规则)或并列断言规则(or规则)。在配置文件中记录断言适配条件的目的是:在测试用例运行完毕后,可以根据对应的断言适配条件验证运行结果的正确性。
第二部分:
第二部分是测试用例(work)节点,由于本实施例中group1有6个待执行的测试用例,因此,配置文件中有6个work节点,每个work节点中记录一个测试用例的执行方式和相关信息。
测试用例的相关信息包括:测试用例的名称以及测试用例所在的地址。在配置文件中写入测试用例的相关信息是为了在并行测试时,并行测试服务器能够准确地找到并调用待执行测试用例。
测试用例的执行方式包括:
测试用例的重复执行次数以及设定的超时时长,在配置文件中写入测试用例的执行方式是为了在并行测试时,并行测试服务器能够分别根据每一测试用例的执行方式,对该测试用例进行相应的操作。
在work节点中,除了记录测试用例的执行方式和相关信息之外,还可以记录该测试用例所测的被测对象的信息,包括被测对象的访问地址(如连接端口、访问用户名、密码、IP地址等)。这样做的好处是:针对集群架构的并行测试系统,待测的被测对象(如某一应用程序等被测对象)可能分布在不同的网元设备中,为了使测试用例在运行时能够对被测对象进行测试操作,在现有技术中,需要在集群架构的网元设备中分别部署代理服务器,通过代理服务器实现网元设备之间的通信,进而使测试用例能够通过网元设备之间的通信连接对被测对象进行测试操作。而通过本实施例二的方案,在集群架构的并行测试系统中,由于在work节点中记录被测对象的访问地址,因此无需在各网元设备中部署用于网元设备通信的代理服务器,而是在运行测试用例时,通过被测对象的访问地址来访问相应的被测对象,让测试用例对访问的被测对象进行测试操作。
第三部分:
第三部分是组(group)节点,在本实施例中组节点是group1节点,包括:work列表、并行池大小、组初始化接口以及组清理接口。
group1节点中的work列表中记录了划分在该组内的6个测试用例的work节点信息,以便于在并行测试时,并行测试服务器可以根据group1中的work列表读取相应的测试用例的信息并正确运行该测试用例。
group1节点中的并行池大小表示与group1节点对应的集合信息中的系统资源信息所对应的测试用例可用的系统资源量,并行池越大,表示group1节点中能够并行运行的测试用例越多。在并行测试时,并行测试服务器可以根据并行池的大小确定能够并行执行的测试用例的数量M(大于1的正整数)。
组初始化接口是group1内的测试用例被运行之前,调用的初始化程序;组清理接口是group1内的测试用例全部运行完毕后,调用的清理程度。图4所示为group1内组初始化接口、并行池和组清理接口之间的关系。在并行测试时,首先调用组初始化接口,然后在并行池内并行运行测试用例,在并行测试结束后调用组清理接口,退出测试过程。
在图3所示的配置文件配置完成后,并行测试服务器可以按照配置文件中记录的内容开始并行测试操作。如图5所示,为本实施例二中按照图3所示的配置文件并行测试的示意图,所述方法包括以下步骤:
步骤201:并行测试服务器加载配置文件,进行预处理。
在本步骤中,配置文件可驻留在并行测试服务器的内存中,将该配置文件作为并行测试过程中决策和行为的依据。
步骤202:并行测试服务器按照优先级高低的顺序,依次读取group1节点和group2节点,并将当前读取的group内的测试用例按照优先级由高至低的顺序进行排序。
在本实施例中,假设group1和group2串行执行,且group1的优先级高于group2,即先执行group1,后执行group2。
假设group1中6个测试用例的优先级由高至低的顺序是:测试用例1至测试用例6。
步骤203:并行测试服务器读取group1的并行池大小,确定能够并行执行的测试用例的数量M,假设本步骤中M=3。
步骤204:并行测试服务器按照优先级由高至低的顺序,依次将group1中的6个测试用例放置在并行池内。
在初始时,并行测试服务器将优先级最高的3个测试用例(测试用例1、测试用例2和测试用例3)的测试用例在并行池中运行;每当有一个测试用例执行完毕后,将还未执行的优先级最高的测试用例放置在并行池内。
步骤205:并行测试服务器根据运行的测试用例所在地址,调用对应的测试用例,并按照对应的执行方式运行调用的测试用例。
在步骤204中确定有3个测试用例放置在并行池中,则在步骤205中,并行测试服务器从group1节点中的work列表内读取3个测试用例的执行方式和相关信息后,从测试用例所在地址调用对应的测试用例,并按照每个测试用例对应的执行方式运行调用的测试用例。
本步骤中的执行方式包括重复执行次数以及设定的超时时长,具体的执行过程如图6所示,包括以下步骤:
第一步:在运行测试用例时,并行测试服务器判断该测试用例的运行次数是否已达到重复执行次数;
若是,则确定该测试用例执行完毕;否则,跳转至第二步。
第二步:并行测试服务器运行该测试用例,并实时检测该测试用例的运行时长是否达到超时时长,在达到超时时长时确定该测试用例执行完毕;否则,跳转至第三步。
第三步:并行测试服务器在本次测试用例运行结束时,将测试用例的运行次数加1,并跳转至第一步,直至达到重复执行次数或测试用例的运行时长达到超时时长后执行完毕该测试用例。
由于组内测试用例的数量大于并行池能够同时运行的测试用例的数量的情况,说明该组内测试用例的被测对象是一种资源紧缺性数据或者硬件,而为了使测试效率最大化,因此,在group1开始时,有3个测试用例被同时调用、运行,当这3个测试用例有任何一个运行完毕,此时并行池内的资源会空闲一部分,并行测试服务器会立即将还未运行的测试用例中,优先级最高的测试用例置于并行池中运行,始终保持并行池被最大化地利用,直至组内所有测试用例执行完毕,group1内的6个测试用例在并行池中运行以及排队如图7所示。
在group1内测试用例全部运行完毕后,运行group2,并且,此时可对group1运行后的运行结果的正确性进行验证。
步骤206:并行测试服务器根据配置文件中测试用例对应的断言适配条件对运行结果是否正确进行判定,并生成相应的并行测试报告向测试人员显示。
步骤207:将上述各步骤中生成的日志信息按照日志文件的存储地址存储为日志文件。
同时,从步骤201起,并行测试服务器启动计时器,判断运行总时长是否达到默认超时时长,在达到默认超时时长时,可以认为并行测试过程出现问题,并发出告警信息。
实施例三
本申请实施例三还提供一种能够执行实施例一和实施例二方案的并行测试服务器,如图8所示,并行测试服务器包括配置模块100、分组模块101、并行驱动模块102和断言适配模块103,其中:配置模块100用于创建配置文件,所述配置文件中包括系统资源信息和断言适配条件;分组模块101用于对待执行的多个测试用例进行划分,划分得到的组内包含多个测试用例;并行驱动模块102用于针对每一组,同时调用该组内多个测试用例,利用配置文件中的系统资源信息对应的系统资源运行组内的测试用例;断言适配模块103用于根据配置文件中的断言适配条件对该测试用例运行结果是否正确进行判定。
所述分组模块101具体用于将测试环境和/或被测对象相同的测试用例划分在同一组内;所述并行驱动模块102用于在待执行的测试用例划分至多个组时,按照为每组设置的优先级由高至低的顺序,依次运行每组内的测试用例;或者在各组间并行运行该组内包含的测试用例。
所述配置模块100具体用于将创建的配置文件设置多个信息集合,每个信息集合中都记录了系统资源信息和断言适配条件;所述并行测试服务器还包括对应建立模块104,用于针对测试用例划分后的每一组,确定配置文件中与该组对应的信息集合;所述并行驱动模块102具体用于利用运行的测试用例所在组对应的信息集合中的系统资源信息对应的系统资源运行调用的测试用例;断言适配模块103具体用于根据运行的测试用例所在组对应的信息集合中的断言适配条件对该测试用例运行结果是否正确进行判定。
所述并行驱动模块102包括确定子模块21和操作子模块22,其中:确定子模块21用于在所述配置文件中还包括测试用例所在地址以及测试用例的执行方式时,确定每一组内测试用例所在地址以及该测试用例的执行方式;操作子模块22用于根据组内测试用例所在地址调用对应的测试用例,并按照该测试用例对应的执行方式运行调用的测试用例。
所述操作子模块22具体用于将组内多个测试用例按照优先级由高至低的顺序进行排序,根据为该组分配的系统资源的大小,确定能够并行执行的M个优先级最高的测试用例,并根据所述M个测试用例所在地址调用对应的测试用例后,按照对应的执行方式运行调用的测试用例,以及每当有测试用例执行完毕后,若组内还存在未执行的测试用例,则调用并运行所述未执行的测试用例,直至组内所有测试用例执行完毕。
所述操作子模块22进一步具体用于在运行测试用例时,判断该测试用例的运行次数是否已达到重复执行次数,若是,则确定该测试用例执行完毕;否则,运行该测试用例,并检测该测试用例的运行时长是否达到超时时长,在达到超时时长时确定该测试用例执行完毕,否则,在本次测试用例运行结束时,将测试用例的运行次数加1,并重复执行判断该测试用例的运行次数是否达到重复执行次数的步骤。
所述断言适配模块103具体用于在断言适配条件为合并断言时,若运行结果与对应的所有断言适配条件都匹配,则确定运行结果正确;否则,确定运行结果不正确;在断言适配条件为并列断言时,若运行结果与对应的至少一个断言适配条件匹配,则确定运行结果正确;否则,确定运行结果不正确。
本实施例三中的并行测试服务器除了包括上述功能模块外,还可以进一步包括以下功能模块:
控制模块105,用于负责对并行测试服务器中其他功能模块进行总体调度和控制。
加载模块106,用于将生成的配置文件加载至并行测试服务器的内存中。
显示模块107,用于向测试人员实时显示测试用例的运行情况,包括:当前运行的测试用例以及该测试用例所在组。
日志模块108,用于生成日志文件。
报表模块109,用于根据断言适配模块13的判断结果生成并行测试报告。
API模块110,用于进行测试用例的编写,并将编写的测试用例存储至指定的存储空间。
由于配置模块100生成的配置文件中记录了定测试用例所测的被测对象的访问地址,因此,API模块110生成的测试用例可以自动读取被测对象的访问地址,在无需代理服务器的情况下实现分布式测试。
本实施例中的并行测试服务器可以在支持Pyhton虚拟机的操作系统下运行,最优地,可以在Linux/unix系统下运行,若并行测试服务器是多核计算机,能够更有效地进行并行测试,提高计算机能力的利用率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种并行测试的方法,其特征在于,
创建配置文件,所述配置文件中包括系统资源信息和断言适配条件;
对待执行的多个测试用例进行划分,划分得到的组内包含多个测试用例;
针对每一组,调用该组内多个测试用例,利用配置文件中的系统资源信息对应的系统资源运行组内的测试用例,并根据配置文件中的断言适配条件对该测试用例运行结果是否正确进行判定;
其中,所述配置文件中包含多个信息集合,每个信息集合中都记录了系统资源信息和断言适配条件;
所述方法还包括:针对测试用例划分后的每一组,确定配置文件中与该组对应的信息集合;
调用该组内多个测试用例,并利用配置文件中的系统资源信息和断言适配条件运行和判定测试用例,具体包括:
确定调用的测试用例所在组对应的信息集合;利用确定的信息集合中的系统资源信息对应的系统资源运行调用的测试用例,并根据确定的信息集合中的断言适配条件对该测试用例运行结果是否正确进行判定。
2.如权利要求1所述的方法,其特征在于,
划分在同一组内的测试用例的测试环境和/或被测对象相同;
若待执行的测试用例划分至多个组,则
将各组串行排列,按照为每组设置的优先级由高至低的顺序,依次运行每组内的测试用例,在一组内的测试用例运行完毕后,继续调用下一组内的测试用例;或者将各组并行排列,组之间无先后关系,同时调用多组内的测试用例。
3.如权利要求1所述的方法,其特征在于,所述配置文件中还包括测试用例所在地址以及测试用例的执行方式;
将测试用例进行划分之后,且调用组内测试用例之前,所述方法还包括:
确定每一组内测试用例所在地址以及该测试用例的执行方式;
调用该组内测试用例,利用为该组分配的系统资源运行组内测试用例,具体包括:
根据组内测试用例所在地址调用对应的测试用例,并按照该测试用例对应的执行方式运行调用的测试用例。
4.如权利要求3所述的方法,其特征在于,在组内包括多个测试用例时,调用该组内测试用例,利用为该组分配的系统资源运行组内测试用例,具体包括:
将组内多个测试用例按照优先级由高至低的顺序进行排序,并根据为该组分配的系统资源的大小,确定能够并行执行的M个优先级最高的测试用例;
根据所述M个测试用例所在地址调用对应的测试用例,并按照对应的执行方式运行调用的测试用例;
每当有测试用例执行完毕后,若组内还存在未执行的测试用例,则调用并运行所述未执行的测试用例,直至组内所有测试用例执行完毕;
所述M为大于1的正整数。
5.如权利要求3或4所述的方法,其特征在于,所述测试用例的执行方式包括该测试用例的重复执行次数以及设定的超时时长;
按照测试用例对应的执行方式运行调用的测试用例,具体包括:
在运行测试用例时,判断该测试用例的运行次数是否已达到重复执行次数;
若是,则确定该测试用例执行完毕;
否则,运行该测试用例,并检测该测试用例的运行时长是否达到超时时长,在达到超时时长时确定该测试用例执行完毕;否则,在本次测试用例运行结束时,将测试用例的运行次数加1,并重复执行判断该测试用例的运行次数是否达到重复执行次数的步骤。
6.如权利要求1所述的方法,其特征在于,利用为该组分配的系统资源运行组内测试用例,具体包括:
确定测试用例所测的被测对象的访问地址;
通过该访问地址访问对应的被测对象,使测试用例对对该被测对象进行测试操作。
7.如权利要求1所述的方法,其特征在于,根据测试用例对应的断言适配条件对运行结果是否正确进行判定,具体包括:
判断运行结果的结果状态是否有误,若有误,则确定运行结果不正确;
否则,进一步在断言适配条件为合并断言时,若运行结果与对应的所有断言适配条件都匹配,则确定运行结果正确;否则,确定运行结果不正确;在断言适配条件为并列断言时,若运行结果与对应的至少一个断言适配条件匹配,则确定运行结果正确;否则,确定运行结果不正确。
8.一种并行测试服务器,其特征在于,包括:
配置模块,用于创建配置文件,所述配置文件中包括系统资源信息和断言适配条件;
分组模块,用于对待执行的多个测试用例进行划分,划分得到的组内包含多个测试用例;
并行驱动模块,用于针对每一组,同时调用该组内多个测试用例,利用配置文件中的系统资源信息对应的系统资源运行组内的测试用例;
断言适配模块,用于根据配置文件中的断言适配条件对该测试用例运行结果是否正确进行判定;
其中,所述配置模块,具体用于将创建的配置文件设置多个信息集合,每个信息集合中都记录了系统资源信息和断言适配条件;
所述并行测试服务器还包括:对应建立模块,用于针对测试用例划分后的每一组,确定配置文件中与该组对应的信息集合;
所述并行驱动模块,具体用于利用运行的测试用例所在组对应的信息集合中的系统资源信息对应的系统资源运行调用的测试用例;所述断言适配模块,具体用于根据运行的测试用例所在组对应的信息集合中的断言适配条件对该测试用例运行结果是否正确进行判定。
9.如权利要求8所述的服务器,其特征在于,
所述分组模块,具体用于将测试环境和/或被测对象相同的测试用例划分在同一组内;
所述并行驱动模块,用于在待执行的测试用例划分至多个组时,
将各组串行排列,按照为每组设置的优先级由高至低的顺序,依次运行每组内的测试用例,在一组内的测试用例运行完毕后,继续调用下一组内的测试用例;或者将各组并行排列,组之间无先后关系,同时调用多组内的测试用例。
10.如权利要求8所述的服务器,其特征在于,
所述并行驱动模块包括:
确定子模块,用于在所述配置文件中还包括测试用例所在地址以及测试用例的执行方式时,确定每一组内测试用例所在地址以及该测试用例的执行方式;
操作子模块,用于根据组内测试用例所在地址调用对应的测试用例,并按照该测试用例对应的执行方式运行调用的测试用例。
11.如权利要求10所述的服务器,其特征在于,
所述操作子模块,具体用于将组内多个测试用例按照优先级由高至低的顺序进行排序,根据为该组分配的系统资源的大小,确定能够并行执行的M个优先级最高的测试用例,并根据所述M个测试用例所在地址调用对应的测试用例后,按照对应的执行方式运行调用的测试用例,以及每当有测试用例执行完毕后,若组内还存在未执行的测试用例,则调用并运行所述未执行的测试用例,直至组内所有测试用例执行完毕;
所述M为大于1的正整数。
12.如权利要求10或11所述的服务器,其特征在于,
所述操作子模块,具体用于在运行测试用例时,判断该测试用例的运行次数是否已达到重复执行次数,若是,则确定该测试用例执行完毕;否则,运行该测试用例,并检测该测试用例的运行时长是否达到超时时长,在达到超时时长时确定该测试用例执行完毕,否则,在本次测试用例运行结束时,将测试用例的运行次数加1,并重复执行判断该测试用例的运行次数是否达到重复执行次数的步骤。
13.如权利要求8所述的服务器,其特征在于,
所述断言适配模块,具体用于在断言适配条件为合并断言时,若运行结果与对应的所有断言适配条件都匹配,则确定运行结果正确;否则,确定运行结果不正确;在断言适配条件为并列断言时,若运行结果与对应的至少一个断言适配条件匹配,则确定运行结果正确;否则,确定运行结果不正确。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110021778.7A CN102609352B (zh) | 2011-01-19 | 2011-01-19 | 一种并行测试方法及并行测试服务器 |
HK12110532.0A HK1169872A1 (zh) | 2011-01-19 | 2012-10-23 | 種並行測試方法及並行測試服務器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110021778.7A CN102609352B (zh) | 2011-01-19 | 2011-01-19 | 一种并行测试方法及并行测试服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102609352A CN102609352A (zh) | 2012-07-25 |
CN102609352B true CN102609352B (zh) | 2014-11-19 |
Family
ID=46526742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110021778.7A Active CN102609352B (zh) | 2011-01-19 | 2011-01-19 | 一种并行测试方法及并行测试服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102609352B (zh) |
HK (1) | HK1169872A1 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102998613A (zh) * | 2012-11-26 | 2013-03-27 | 李文海 | 可实现电路板并行测试的测试系统和方法 |
CN103838654B (zh) * | 2012-11-27 | 2016-01-13 | 重庆新媒农信科技有限公司 | 一种多线程和并发测试模拟器及其测试方法 |
CN104598776B (zh) * | 2013-10-31 | 2018-11-23 | 深圳市腾讯计算机系统有限公司 | 一种对软件进行测试的方法及装置 |
CN103701587B (zh) * | 2013-12-10 | 2017-04-19 | 中国船舶重工集团公司第七0九研究所 | 一种多接口密码模块并行调度方法 |
CN103645989B (zh) * | 2013-12-26 | 2017-04-19 | 大唐移动通信设备有限公司 | 一种测试用例所需测试资源的分析装置以及方法 |
US10044451B2 (en) | 2014-02-24 | 2018-08-07 | Litepoint Corporation | Method for testing multiple wireless data packet signal transceivers using shared testing resources |
CN104915288A (zh) * | 2014-03-13 | 2015-09-16 | 阿里巴巴集团控股有限公司 | 测试方法及装置 |
CN104216829B (zh) * | 2014-08-29 | 2017-09-19 | 福建联迪商用设备有限公司 | 一种嵌入式模块并发测试的方法及系统 |
CN106547654A (zh) * | 2015-09-21 | 2017-03-29 | 中兴通讯股份有限公司 | 一种自动化测试方法及装置 |
CN105117345B (zh) * | 2015-09-23 | 2017-12-19 | 网易(杭州)网络有限公司 | 一种应用程序的接口测试方法及装置 |
CN105354035A (zh) * | 2015-11-17 | 2016-02-24 | 天津橙子科技有限公司 | 用于编写web工程测试用例的方法 |
CN105930260B (zh) * | 2015-12-23 | 2018-12-28 | 中国银联股份有限公司 | 一种系统可用性测试方法及装置 |
CN107193726A (zh) * | 2016-03-15 | 2017-09-22 | 展讯通信(上海)有限公司 | 一种终端并发测试方法及装置 |
CN106484485A (zh) * | 2016-10-21 | 2017-03-08 | 贵阳朗玛信息技术股份有限公司 | 多服务器的脚本执行方法及装置 |
CN106598852A (zh) * | 2016-12-05 | 2017-04-26 | 广州唯品会信息科技有限公司 | 软件测试方法及系统 |
CN108875368A (zh) * | 2017-05-10 | 2018-11-23 | 北京金山云网络技术有限公司 | 一种安全检测方法、装置及系统 |
CN107038120B (zh) * | 2017-05-25 | 2020-05-29 | 北京云测信息技术有限公司 | 一种软件测试方法和设备 |
CN107194115B (zh) * | 2017-06-16 | 2018-06-29 | 北京得瑞领新科技有限公司 | 一种批量化电路仿真方法和系统 |
CN107341103B (zh) * | 2017-06-16 | 2020-06-02 | 广州云测信息技术有限公司 | 一种软件兼容性的测试方法及系统 |
CN107291621A (zh) * | 2017-07-07 | 2017-10-24 | 恒生电子股份有限公司 | 测试用例的处理方法、处理装置、介质和电子设备 |
CN107688526A (zh) * | 2017-08-25 | 2018-02-13 | 上海壹账通金融科技有限公司 | 应用程序的性能测试方法、装置、计算机设备和存储介质 |
CN107741904A (zh) * | 2017-09-14 | 2018-02-27 | 平安科技(深圳)有限公司 | 测试机自动配置方法、装置、设备及存储介质 |
CN107948009B (zh) * | 2017-10-30 | 2020-12-25 | 中国电力科学研究院有限公司 | Plc协议测试的数据交互通道的构建方法及模型 |
CN108038013B (zh) * | 2017-11-30 | 2021-07-16 | 海尔优家智能科技(北京)有限公司 | 分布式性能测试方法及装置与计算机可读存储介质 |
CN109871308B (zh) * | 2017-12-04 | 2024-03-19 | 中兴通讯股份有限公司 | 自动化测试方法及装置、终端设备及计算机可读存储介质 |
CN109960645B (zh) * | 2017-12-22 | 2022-10-18 | 迈普通信技术股份有限公司 | 脚本测试方法、装置及脚本测试系统 |
CN108011891A (zh) * | 2017-12-22 | 2018-05-08 | 深圳乐信软件技术有限公司 | 一种应用访问方法、装置、服务器及计算机存储介质 |
CN108802517B (zh) * | 2018-03-06 | 2022-05-31 | 许继集团有限公司 | 一种就地化保护装置的测试方法及系统 |
CN108804311B (zh) * | 2018-05-07 | 2022-06-03 | 微梦创科网络科技(中国)有限公司 | 一种执行测试文件的方法及装置 |
CN110501627B (zh) * | 2018-05-17 | 2020-11-03 | 大唐移动通信设备有限公司 | 一种基站的数字逻辑电路检测方法和装置 |
CN110633200A (zh) * | 2018-06-25 | 2019-12-31 | 富士通株式会社 | 用于测试智能合约的方法和设备 |
CN108932196A (zh) * | 2018-06-27 | 2018-12-04 | 郑州云海信息技术有限公司 | 一种并行自动化测试方法,系统,设备及可读存储介质 |
CN110806967A (zh) * | 2018-08-06 | 2020-02-18 | 北京京东尚科信息技术有限公司 | 一种单元测试方法和装置 |
CN109299009A (zh) * | 2018-09-25 | 2019-02-01 | 金蝶软件(中国)有限公司 | 数据测试方法、装置、计算机设备和存储介质 |
CN109376090A (zh) * | 2018-10-25 | 2019-02-22 | 京信通信系统(中国)有限公司 | 软件自动测试方法及装置 |
CN109728975B (zh) * | 2018-12-29 | 2021-03-12 | 广东电网有限责任公司 | 一种网络协议攻击测试方法、装置、设备和可读存储介质 |
CN111427760B (zh) * | 2019-01-09 | 2024-05-28 | 阿里巴巴集团控股有限公司 | 页面测试方法、装置、设备及存储介质 |
CN110162466B (zh) * | 2019-04-19 | 2021-02-09 | 平安国际智慧城市科技股份有限公司 | 自动测试方法、装置、计算机设备和存储介质 |
CN112463574A (zh) * | 2019-09-06 | 2021-03-09 | 北京京东尚科信息技术有限公司 | 软件测试方法、装置、系统、设备和存储介质 |
CN110765026B (zh) * | 2019-10-31 | 2023-08-01 | 望海康信(北京)科技股份公司 | 自动化测试方法、装置、存储介质及设备 |
CN112988558B (zh) * | 2019-12-16 | 2024-09-17 | 迈普通信技术股份有限公司 | 测试执行方法、装置、电子设备及存储介质 |
CN111008147B (zh) * | 2019-12-20 | 2023-12-26 | 广州品唯软件有限公司 | 应用程序的测试方法、终端及计算机可读存储介质 |
CN111104336B (zh) * | 2019-12-30 | 2023-05-23 | 武汉烽火信息集成技术有限公司 | 一种基于容器和vnc的服务接口在线测试方法及装置 |
CN111324546A (zh) * | 2020-03-20 | 2020-06-23 | 普信恒业科技发展(北京)有限公司 | 一种任务测试方法及装置 |
CN114143235A (zh) * | 2020-08-13 | 2022-03-04 | 中国移动通信有限公司研究院 | Nfv自动测试方法、装置、设备及存储介质 |
CN112463645A (zh) * | 2021-01-15 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种测试用例调度方法、装置、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851665A (zh) * | 2005-11-07 | 2006-10-25 | 华为技术有限公司 | 一种利用测试套完成产品自动化测试的方法 |
CN1967500A (zh) * | 2006-04-19 | 2007-05-23 | 华为技术有限公司 | 自动测试过程中资源使用的方法 |
CN101227350A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种基于优先级调度的并行执行自动化测试系统及其方法 |
CN101252471A (zh) * | 2008-03-20 | 2008-08-27 | 中兴通讯股份有限公司 | 一种分布式自动化测试系统及其方法 |
JP2010262376A (ja) * | 2009-04-30 | 2010-11-18 | Hitachi Ltd | テスト分配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254329A1 (en) * | 2008-04-03 | 2009-10-08 | International Business Machines Corporation | Method for virtualization of input devices for parallel execution of test automation scripts |
-
2011
- 2011-01-19 CN CN201110021778.7A patent/CN102609352B/zh active Active
-
2012
- 2012-10-23 HK HK12110532.0A patent/HK1169872A1/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851665A (zh) * | 2005-11-07 | 2006-10-25 | 华为技术有限公司 | 一种利用测试套完成产品自动化测试的方法 |
CN1967500A (zh) * | 2006-04-19 | 2007-05-23 | 华为技术有限公司 | 自动测试过程中资源使用的方法 |
CN101227350A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种基于优先级调度的并行执行自动化测试系统及其方法 |
CN101252471A (zh) * | 2008-03-20 | 2008-08-27 | 中兴通讯股份有限公司 | 一种分布式自动化测试系统及其方法 |
JP2010262376A (ja) * | 2009-04-30 | 2010-11-18 | Hitachi Ltd | テスト分配方法 |
Also Published As
Publication number | Publication date |
---|---|
HK1169872A1 (zh) | 2013-02-08 |
CN102609352A (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609352B (zh) | 一种并行测试方法及并行测试服务器 | |
JP6488244B2 (ja) | 半導体デバイスの同時試験の方法、製造方法、コンピュータ記憶媒体 | |
Palanisamy et al. | Purlieus: locality-aware resource allocation for MapReduce in a cloud | |
Arslan et al. | Computing while charging: Building a distributed computing infrastructure using smartphones | |
TWI533211B (zh) | 用於任務排程之電腦系統,方法及電腦可讀取記錄媒體 | |
CN102999320A (zh) | 测试用例自动生成方法和系统 | |
CN105335281A (zh) | 一种自动mock外部依赖的方法及装置 | |
CN105190536B (zh) | 一种用于验证作业的系统及方法 | |
CN112486863B (zh) | 软件虚拟仿真方法、装置和电子设备 | |
JP2012123789A (ja) | アプリケーション性能試験のための並列作業負荷シミュレーション | |
KR101886317B1 (ko) | 가상 머신 배치 선택 장치 및 방법 | |
Han et al. | Refining microservices placement employing workload profiling over multiple kubernetes clusters | |
JP2019003637A (ja) | フィールドデバイスコミッショニングシステムおよびフィールドデバイスコミッショニング方法 | |
CN103856548A (zh) | 动态资源调度方法和动态资源调度器 | |
CN105009089A (zh) | 用于促进对在计算系统处的软件程序中指令原子性违反行为的动态和高效管理的机构 | |
CN110362469A (zh) | 基于模块化测试用例控制方法、装置、终端与存储介质 | |
US10785109B1 (en) | Automated generation of a network service design | |
Tavakoli et al. | Client-side straggler-aware I/O scheduler for object-based parallel file systems | |
An et al. | Model-driven generative framework for automated omg dds performance testing in the cloud | |
Al-Haboobi et al. | Developing a workflow management system simulation for capturing internal iaas behavioural knowledge | |
CN108959103A (zh) | 基于bwdsp库函数的软件测试方法 | |
CN108763039A (zh) | 一种业务故障模拟方法、装置及设备 | |
TWI706343B (zh) | 樣本回放資料存取方法、裝置及電腦設備 | |
Kraft et al. | A metaheuristic approach for best effort timing analysis targeting complex legacy real-time systems | |
CN100433171C (zh) | 存储设备的测试方法及测试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1169872 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1169872 Country of ref document: HK |