CN103793318A - 一种模块稳定性的分布式测试方法及装置 - Google Patents

一种模块稳定性的分布式测试方法及装置 Download PDF

Info

Publication number
CN103793318A
CN103793318A CN201210422462.3A CN201210422462A CN103793318A CN 103793318 A CN103793318 A CN 103793318A CN 201210422462 A CN201210422462 A CN 201210422462A CN 103793318 A CN103793318 A CN 103793318A
Authority
CN
China
Prior art keywords
test data
data set
computing node
test
data line
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.)
Granted
Application number
CN201210422462.3A
Other languages
English (en)
Other versions
CN103793318B (zh
Inventor
刘佳
刘晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201210422462.3A priority Critical patent/CN103793318B/zh
Publication of CN103793318A publication Critical patent/CN103793318A/zh
Application granted granted Critical
Publication of CN103793318B publication Critical patent/CN103793318B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种模块稳定性的分布式测试方法及装置,其中模块稳定性的分布式测试方法包括:获取与测试数据相关的配置文件,其中所述配置文件以数据行的方式记录了各个测试数据集标识;对所述配置文件按行进行切分,得到两个以上的数据行,以及,根据各数据行中的测试数据集标识确定该数据行对应的计算节点,并将该数据行发送至所述对应的计算节点上;在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址,并获取所述存放地址的测试数据集,以及,在各计算节点上部署被测模块,并在部署的被测模块中运行获取的测试数据集以输出测试日志。通过上述方式,本发明能够有效提高模块稳定性测试的效率。

Description

一种模块稳定性的分布式测试方法及装置
【技术领域】
本发明涉及测试技术,特别涉及一种模块稳定性的分布式测试方法及装置。
【背景技术】
测试是软件开发过程中的重要环节。根据测试的目的,测试可分为功能测试和性能测试。功能测试关注模块的功能,需要验证模块的功能实现是否符合模块的需求规格。性能测试则关注模块整体运行的稳定性和健壮性。其中稳定性测试是性能测试的一个重要方面,其主要通过向模块输入大量数据来检测模块在连续进行数据处理时是否能够稳定运行。
现有技术在进行模块稳定性测试时,是采用单机的方式进行的,即在单一终端上部署被测模块,然后准备大量的数据作为输入,对被测模块的运行进行测试。由于单一终端的计算能力是有限的,在输入数据量很大的情况下,被测模块要运行完所有的输入数据,花费的时间会比较长,也就是说,现有技术在进行模块稳定性测试时的效率很低。
【发明内容】
本发明所要解决的技术问题是提供一种模块稳定性的分布式测试方法及装置,以提高模块稳定性测试的效率。
本发明为解决技术问题而采用的技术方案是提供一种模块稳定性的分布式测试方法,包括:获取与测试数据相关的配置文件,其中所述配置文件以数据行的方式记录了各个测试数据集标识;对所述配置文件按行进行切分,得到两个以上的数据行,以及,根据各数据行中的测试数据集标识确定该数据行对应的计算节点,并将该数据行发送至所述对应的计算节点上;在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址,并获取所述存放地址的测试数据集,以及,在各计算节点上部署被测模块,并在部署的被测模块中运行获取的测试数据集以输出测试日志。
根据本发明之一优选实施例,所述配置文件中的测试数据集标识为代表该测试数据集的数字。
根据本发明之一优选实施例,根据各数据行中的测试数据集标识确定该数据行对应的计算节点的步骤包括:求各数据行中的测试数据集标识与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
根据本发明之一优选实施例,在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址的步骤包括:将接收到的数据行中的测试数据集标识填入预设的域名模板及端口模板中的槽位,得到测试数据集的存放地址。
根据本发明之一优选实施例,所述配置文件中的测试数据集标识为该测试数据集的存放地址。
根据本发明之一优选实施例,根据各数据行中的测试数据集标识确定该数据行对应的计算节点的步骤包括:将各数据行中的测试数据集标识对应的哈希值转换为整数,求该整数与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
本发明还提供了一种模块稳定性的分布式测试方法,包括:获取测试数据;对所述测试数据进行切分,得到两个以上的测试数据集,以及,分别将各测试数据集发送至对应的计算节点;在各计算节点上部署被测模块,并在部署的被测模块中运行接收到的测试数据集以输出测试日志。
根据本发明之一优选实施例,对所述测试数据进行切分的步骤包括:确定所述测试数据的各封装单元;将包含至少一个封装单元的数据片段作为测试数据集。
根据本发明之一优选实施例,确定所述测试数据的各封装单元的步骤包括:根据被测模块的输入数据类型确定封装长度,并根据所述封装长度划分所述测试数据的各封装单元。
根据本发明之一优选实施例,确定所述测试数据的各封装单元的步骤包括:将所述测试数据编码为文本,并根据所述文本中的换行符划分所述测试数据的各封装单元。
根据本发明之一优选实施例,所述方法在部署的被测模块中运行接收到的测试数据集前进一步包括:对接收到的测试数据集进行解码。
本发明还提供了一种模块稳定性的分布式测试装置,包括:配置文件获取单元,用于获取与测试数据相关的配置文件,其中所述配置文件以数据行的方式记录了各个测试数据集的标识;切分单元,用于对所述配置文件按行进行切分,得到两个以上的数据行,以及,根据各数据行中的测试数据集标识确定该数据行对应的计算节点,并将该数据行发送至所述对应的计算节点上;测试单元,用于在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址,并获取所述存放地址的测试数据集,以及,在各计算节点上部署被测模块,并在部署的被测模块中运行获取的测试数据集以输出测试日志。
根据本发明之一优选实施例,所述配置文件中的测试数据集标识为代表该测试数据集的数字。
根据本发明之一优选实施例,所述切分单元根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方式包括:求各数据行中的测试数据集标识与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
根据本发明之一优选实施例,所述测试单元在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址的方式包括:将接收到的数据行中的测试数据集标识填入预设的域名模板及端口模板中的槽位,得到测试数据集的存放地址。
根据本发明之一优选实施例,所述配置文件中的测试数据集标识为该测试数据集的存放地址。
根据本发明之一优选实施例,所述切分单元根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方式包括:将各数据行中的测试数据集标识对应的哈希值转换为整数,求该整数与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
本发明还提供了一种模块稳定性的分布式测试装置,包括:测试数据获取单元,用于获取测试数据;切分单元,用于对所述测试数据进行切分,得到两个以上的测试数据集,以及,将各测试数据集分别发送至对应的计算节点;测试单元,用于在各计算节点上部署被测模块,并在部署的被测模块中运行接收到的测试数据集以输出测试日志。
根据本发明之一优选实施例,所述切分单元包括:确定单元,用于确定所述测试数据的各封装单元;划分单元,用于将包含至少一个封装单元的数据片段作为测试数据集;通讯单元,用于将各测试数据集分别发送至对应的计算节点。
根据本发明之一优选实施例,所述确定单元根据被测模块的输入数据类型确定封装长度,并根据所述封装长度划分所述测试数据的各封装单元。
根据本发明之一优选实施例,所述确定单元将所述测试数据编码为文本,并根据所述文本中的换行符划分所述测试数据的各封装单元。
根据本发明之一优选实施例,所述测试单元进一步用于在部署的被测模块中运行接收到的测试数据集前,对接收到的测试数据集进行解码。
由以上技术方案可以看出,本发明通过在多个计算节点上部署被测模块,并在各个计算节点的被测模块中运行部分测试数据,即测试数据集,能够实现模块稳定性的分布式测试。由于各计算节点中的被测模块是相同的,而测试过程又可以并发地进行,因此,当各计算节点的测试数据均运行完之后,相当于在被测模块上运行了各计算节点的测试数据之和,这与单机上进行模块稳定性测试的效果完全相同,但是却能使整个测试过程需要花费的时间大大降低,从而显著提高了测试效率。
【附图说明】
图1为本发明中模块稳定性的分布式测试装置的实施例一的结构示意框图;
图2为本发明中切分单元102的实施例的结构示意框图;
图3为本发明中测试数据的一个实施例的示意图;
图4为本发明中测试数据的又一个实施例的示意图;
图5为本发明中模块稳定性的分布式测试装置的实施例二的结构示意框图;
图6a为本发明中配置文件的一个实施例的示意图;
图6b为本发明中配置文件的又一个实施例的示意图;
图7为本发明中模块稳定性的分布式测试方法的实施例一的流程示意图;
图8为本发明中模块稳定性的分布式测试方法的实施例二的流程示意图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
请参考图1,图1为本发明中模块稳定性的分布式测试装置的实施例一的结构示意框图。
如图1所示,该实施例的装置包括:测试数据获取单元101、切分单元102及测试单元103。
其中测试数据获取单元101和切分单元102可以位于相同的终端(如图1中均位于终端0),也可以位于不同的终端(图中未示出)。本实施例中具有多个计算节点,即图1中所示的终端1至终端n,其中每个计算节点均包含一个测试单元,由于每个测试单元的实现是类似的,因此在本实施例中,以测试单元103为例说明具体的实现过程。
具体地,测试数据获取单元101,用于获取测试数据。由于本发明实现的是模块的稳定性测试,因此测试数据获取单元101获取的是大量的测试数据。
具体地,切分单元102,用于对获取到的测试数据进行切分,得到两个以上的测试数据集,以及,将各测试数据集分别发送至对应的计算节点。
请参考图2,图2为切分单元102的实施例的结构示意框图。在图2所示的实施例中,切分单元102包括:确定单元1021、划分单元1022及通讯单元1023。其中确定单元1021,用于确定测试数据的各封装单元。划分单元1022,用于将包含至少一个封装单元的数据片段作为测试数据集。通讯单元1023,用于将各测试数据集发送至对应的计算节点。测试数据获取单元101获取的测试数据的格式是由被测模块决定的,有可能是文本,也有可能是二进制的数据。如果测试数据的格式为文本,则确定单元1021可以按照文本行确定测试数据的封装单元,即每个文本行可作为一个封装单元。如果测试数据的格式为二进制文本,则为了对测试数据进行合理划分以得到测试数据集,确定单元1021确定各封装单元可以有以下两种实施方式。
实施方式一:确定单元1021根据被测模块的输入数据类型确定封装长度,并根据该封装长度划分测试数据的各封装单元。被测模块在测试前即已确定,由于被测模块是确定的,根据被测模块的定义可以确定被测模块的输入数据类型。由数据类型可以确定该类型数据的长度,该长度即为封装长度。请参考图3,图3是本发明中测试数据的一个示意图。
实施方式二:确定单元1022将测试数据编码为文本,并根据文本中的换行符划分测试数据的各封装单元。具体地,可采用base64对二进制的测试数据进行编码,得到如图4所示的测试数据,根据换行符“/”即可确定各封装单元。
在确定单元1021确定了测试数据的各封装单元后,划分单元1022确定测试数据集时,每个测试数据集包含的封装单元的数目可以随机确定,既可以包含一个,也可以包含多个。在划分单元1022确定了各个测试数据集后,通讯单元1023就可以将各个测试数据集发送至对应的计算节点。优选地,通讯单元1023可将一个测试数据集发送至一个计算节点。
每个计算节点包含一个测试单元,以图1为例,测试单元103,用于在终端1对应的计算节点上部署被测模块,并在部署的被测模块中运行接收到的测试数据集以输出测试日志。部署被测模块就是准备被测模块的运行环境,在部署的被测模块中运行接收的测试数据集就是以测试数据集作为输入,调用被测模块,这与现有技术中的测试过程是类似的。值得注意的是,如果确定单元1022以实施方式二的方式确定各封装单元,则测试单元进一步还用于在部署的被测模块中运行接收到的测试数据集前,对接收到的测试数据集进行解码。
通过图1所示的分布式测试装置可以看出,对测试数据进行切分后,在多个计算节点上分别利用切分后的测试数据集运行被测模块,可以在很短的时间内,让被测模块运行完大量数据,有效提高了模块稳定性测试的效率。但是在图1所示的实施例中,由于测试数据是集中获取的,并且测试数据量很大,因此在测试数据获取单元101获取测试数据,即进行数据准备阶段,花费的时间比较长,为了提高数据准备阶段的效率,本发明的装置还可以以图5所示的实施例二的方式实施。
请参考图5,图5为本发明中模块稳定性的分布式测试装置的实施例二的结构示意框图。如图5所示,该实施例的装置包括:配置文件获取单元201、切分单元202及测试单元203。
其中配置文件单元获取单元201和切分单元202可以位于相同的终端(如图5中均位于终端0),也可以位于不同的终端(图中未示出)。本实施例中具有多个计算节点,即图5中所示的终端1至终端n,其中每个计算节点均包含一个测试单元,由于每个测试单元的实现是类似的,因此在本实施例中,以测试单元203为例说明具体的实现过程。
具体地,配置文件获取单元201,用于获取与测试数据相关的配置文件,其中配置文件以数据行的方式记录了各个测试数据集的标识。请参考图6a和图6b,图6a及图6b分别是配置文件的实施例的示意图。
在图6a中,配置文件中的测试数据集标识为代表该测试数据集的数字。图6b中,配置文件中的测试数据集标识为测试数据集的存放地址。
下面将针对上述配置文件的两个不同实施例,分别介绍后续处理单元的实施方式。
切分单元202,用于对配置文件按行进行切分,得到两个以上的数据行,以及,根据各数据行中的测试数据集标识确定该数据行对应的计算节点,并将该数据行发送至对应的计算节点上。
具体地,如果配置文件如图6a所示,则切分单元202根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方式包括:求各数据行中的测试数据集标识与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
本发明装置的测试过程,是在多个计算节点上并发进行实现的。具体的计算节点总数,可以根据测试需要预先确定。在切分单元202将图6a所示的配置文件按行切分之后,每个数据行就包含了一个测试数据集标识,由于该标识是一个数字,因此切分单元202通过该数字与计算节点之间余数可以确定该数据行对应的计算节点。例如,配置文件中总共有100个数据行,其包含的标识分别从1至100,而计算节点的总数为100,则这种方式下,包含标识1的数据行就会对应至编号为1的计算节点,包含标识2的数据行就会对应至编号为2的计算节点,以此类推,每个数据行会对应一个计算节点。如果配置文件中总共有100个数据行,其包含的标识分别从1至100,而计算节点的总数为50,则这种方式下,标识从1至50的数据行分别对应编号从1至50的计算节点,并且标识从51至100的数据行也会分别对应编号从1至50的计算节点。这种方式能够充分实现分布式计算的负载均衡。
如果配置文件如图6b所示,则切分单元202切分得到的数据行均为文本形式,此时,切分单元202根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方法包括:将各数据行中的测试数据集标识对应的哈希值转换为整数,求该整数与预设的计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。其中,求文本的哈希值并将哈希值转换为整数,可通过调用相应的函数实现,由于在各种程序语言中,这种函数实现均属于现有技术,在此不再赘述。在转换为整数后的操作与前面描述图6a的配置文件的实施方式类似,不再重复。
切分单元202在确定了每个数据行对应的计算节点后,就可以将该数据行发送至对应的计算节点,由该节点的测试单元进行后续操作。由于各计算节点的测试单元的实施方式是类似的,下面仅以图5中的终端1上的测试单元203为例进行介绍。
测试单元203,用于在终端1对应的计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址,并获取该地址的测试数据集,以及,在终端1对应的计算节点上部署被测模块,并在部署的被测模块中运行获取的测试数据集以输出测试日志。
具体地,针对图6a的实施例,测试单元203确定测试数据集的存放地址的方式包括:将接收到的数据行中的测试数据集标识填入预设的域名模板及端口模板中的槽位,得到测试数据集的存放地址。例如,预设的域名模板为“[id].wdbd.bailing.baidu.com”,端口模板为“[id]+10000”,其中“[]”表示的就是槽位。
而针对图6b的实施例,测试单元203直接将接收到的数据行提取出来,就是测试数据集的存放地址。
在得到地址后,测试单元203获取已知地址下的测试数据集的方式与现有技术中提取数据的方式是类似的。
在得到测试数据集后,测试单元203在计算节点上部署被测模块,以及运行测试数据集的方式与图1所示的实施例中的测试单元103类似,不再重复介绍。
通过图5所示的实施例,本发明的装置能够将获取测试数据的工作分散至不同的计算节点上并发执行,这样,即使模块稳定性测试需要大量的测试数据,在每个计算节点需要获取的测试数据量也不会很大,从而使得正式对被测模块进行测试前的数据准备时间大大降低。
值得注意的是,尽管图1或图5所示的实施例中,测试数据、配置文件或测试日志表示在图中所示的终端0、终端1等终端之外,但是本发明并不限于此,测试数据、配置文件及测试日志可以集中或分布存储于任意终端中,本发明并不对此进行限制。
请参考图7,图7为本发明中模块稳定性的分布式测试方法的实施例一的流程示意图。如图7所示,该实施例的方法包括:
步骤S301:获取测试数据。
步骤S302:对测试数据进行切分,得到两个以上的测试数据集,以及,分布将各测试数据集发送至对应的计算节点。
步骤S303:在各计算节点上部署被测模块,并在部署的被测模块中运行接收到的测试数据集以输出测试日志。
步骤S302中对测试数据进行切分,具体包括:
步骤S3021:确定测试数据的各封装单元。例如,根据被测模块的输入数据类型确定封装长度,并以该封装长度划分测试数据的各封装单元,或者,将测试数据编码为文本,并根据文本中的换行符划分测试数据的各封装单元。
步骤S3022:将包含至少一个封装单元的数据片段作为测试数据集。具体地,测试数据集包含的封装单元的数目可以随机确定,既可以包含一个,也可以包含多个。
此外,步骤S302中,将各个测试数据集发送至对应的计算节点时,优选的,将一个测试数据集发送至一个计算节点。
如果步骤S3022中,将测试数据编码为文本,并根据文本中的换行符划分测试数据的各封装单元,则在步骤S303中,在部署的被测模块中运行接收到的测试数据集前,还需要先对接收到的测试数据集进行解码。
请参考图8,图8为本发明中模块稳定性的分布式测试方法的实施例二的流程示意图。如图8所示,该实施例的方法包括:
步骤S401:获取与测试数据相关的配置文件,其中配置文件以数据行的方式记录了各个测试数据集标识。
步骤S402:对配置文件按行进行切分,得到两个以上的数据行,以及,根据各数据行中的测试数据集标识确定该数据行对应的计算节点,并将该数据行发送至对应的计算节点上。
步骤S403:在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址,并获取该地址的测试数据集,以及,在各计算节点上部署被测模块,并在部署的被测模块中运行获取的测试数据集以输出测试日志。
在一种实施方式中,上述配置文件中的测试数据集标识为代表该测试数据集的数字。
与之对应的,步骤S402中根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方式包括:求各数据行中的测试数据集标识与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
与之对应的,步骤S403中在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址的方式包括:将接收到的数据行中的测试数据集标识填入预设的域名模板及端口模板中的槽位,得到测试数据集的存放地址。
在另一种实施方式中,配置文件中的测试数据集标识为该测试数据集的存放地址。
与之对应的,步骤S402中根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方式包括:将各数据行中的测试数据集标识对应的哈希值转换为整数,求该整数与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (22)

1.一种模块稳定性的分布式测试方法,包括:
获取与测试数据相关的配置文件,其中所述配置文件以数据行的方式记录了各个测试数据集标识;
对所述配置文件按行进行切分,得到两个以上的数据行,以及,根据各数据行中的测试数据集标识确定该数据行对应的计算节点,并将该数据行发送至所述对应的计算节点上;
在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址,并获取所述存放地址的测试数据集,以及,在各计算节点上部署被测模块,并在部署的被测模块中运行获取的测试数据集以输出测试日志。
2.根据权利要求1所述的方法,其特征在于,所述配置文件中的测试数据集标识为代表该测试数据集的数字。
3.根据权利要求2所述的方法,其特征在于,根据各数据行中的测试数据集标识确定该数据行对应的计算节点的步骤包括:
求各数据行中的测试数据集标识与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
4.根据权利要求3所述的方法,其特征在于,在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址的步骤包括:
将接收到的数据行中的测试数据集标识填入预设的域名模板及端口模板中的槽位,得到测试数据集的存放地址。
5.根据权利要求1所述的方法,其特征在于,所述配置文件中的测试数据集标识为该测试数据集的存放地址。
6.根据权利要求5所述的方法,其特征在于,根据各数据行中的测试数据集标识确定该数据行对应的计算节点的步骤包括:
将各数据行中的测试数据集标识对应的哈希值转换为整数,求该整数与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
7.一种模块稳定性的分布式测试方法,包括:
获取测试数据;
对所述测试数据进行切分,得到两个以上的测试数据集,以及,分别将各测试数据集发送至对应的计算节点;
在各计算节点上部署被测模块,并在部署的被测模块中运行接收到的测试数据集以输出测试日志。
8.根据权利要求7所述的方法,其特征在于,对所述测试数据进行切分的步骤包括:
确定所述测试数据的各封装单元;
将包含至少一个封装单元的数据片段作为测试数据集。
9.根据权利要求8所述的方法,其特征在于,确定所述测试数据的各封装单元的步骤包括:
根据被测模块的输入数据类型确定封装长度,并根据所述封装长度划分所述测试数据的各封装单元。
10.根据权利要求8所述的方法,其特征在于,确定所述测试数据的各封装单元的步骤包括:
将所述测试数据编码为文本,并根据所述文本中的换行符划分所述测试数据的各封装单元。
11.根据权利要求10所述的方法,其特征在于,所述方法在部署的被测模块中运行接收到的测试数据集前进一步包括:对接收到的测试数据集进行解码。
12.一种模块稳定性的分布式测试装置,包括:
配置文件获取单元,用于获取与测试数据相关的配置文件,其中所述配置文件以数据行的方式记录了各个测试数据集的标识;
切分单元,用于对所述配置文件按行进行切分,得到两个以上的数据行,以及,根据各数据行中的测试数据集标识确定该数据行对应的计算节点,并将该数据行发送至所述对应的计算节点上;
测试单元,用于在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址,并获取所述存放地址的测试数据集,以及,在各计算节点上部署被测模块,并在部署的被测模块中运行获取的测试数据集以输出测试日志。
13.根据权利要求12所述的装置,其特征在于,所述配置文件中的测试数据集标识为代表该测试数据集的数字。
14.根据权利要求13所述的装置,其特征在于,所述切分单元根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方式包括:
求各数据行中的测试数据集标识与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
15.根据权利要求14所述的装置,其特征在于,所述测试单元在各计算节点上根据接收到的数据行中的测试数据集标识确定测试数据集的存放地址的方式包括:
将接收到的数据行中的测试数据集标识填入预设的域名模板及端口模板中的槽位,得到测试数据集的存放地址。
16.根据权利要求12所述的装置,其特征在于,所述配置文件中的测试数据集标识为该测试数据集的存放地址。
17.根据权利要求16所述的装置,其特征在于,所述切分单元根据各数据行中的测试数据集标识确定该数据行对应的计算节点的方式包括:
将各数据行中的测试数据集标识对应的哈希值转换为整数,求该整数与计算节点总数之间的余数,并将以该余数为编号的计算节点作为该数据行对应的计算节点。
18.一种模块稳定性的分布式测试装置,包括:
测试数据获取单元,用于获取测试数据;
切分单元,用于对所述测试数据进行切分,得到两个以上的测试数据集,以及,将各测试数据集分别发送至对应的计算节点;
测试单元,用于在各计算节点上部署被测模块,并在部署的被测模块中运行接收到的测试数据集以输出测试日志。
19.根据权利要求18所述的装置,其特征在于,所述切分单元包括:
确定单元,用于确定所述测试数据的各封装单元;
划分单元,用于将包含至少一个封装单元的数据片段作为测试数据集;
通讯单元,用于将各测试数据集分别发送至对应的计算节点。
20.根据权利要求19所述的装置,其特征在于,所述确定单元根据被测模块的输入数据类型确定封装长度,并根据所述封装长度划分所述测试数据的各封装单元。
21.根据权利要求19所述的装置,其特征在于,所述确定单元将所述测试数据编码为文本,并根据所述文本中的换行符划分所述测试数据的各封装单元。
22.根据权利要求21所述的装置,其特征在于,所述测试单元进一步用于在部署的被测模块中运行接收到的测试数据集前,对接收到的测试数据集进行解码。
CN201210422462.3A 2012-10-29 2012-10-29 一种模块稳定性的分布式测试方法及装置 Active CN103793318B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210422462.3A CN103793318B (zh) 2012-10-29 2012-10-29 一种模块稳定性的分布式测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210422462.3A CN103793318B (zh) 2012-10-29 2012-10-29 一种模块稳定性的分布式测试方法及装置

Publications (2)

Publication Number Publication Date
CN103793318A true CN103793318A (zh) 2014-05-14
CN103793318B CN103793318B (zh) 2018-06-12

Family

ID=50669019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210422462.3A Active CN103793318B (zh) 2012-10-29 2012-10-29 一种模块稳定性的分布式测试方法及装置

Country Status (1)

Country Link
CN (1) CN103793318B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486139A (zh) * 2014-11-26 2015-04-01 中国建设银行股份有限公司 一种系统通信检测方法及装置
CN105760291A (zh) * 2014-12-17 2016-07-13 阿里巴巴集团控股有限公司 一种回归测试方法和系统
CN106502887A (zh) * 2016-10-13 2017-03-15 郑州云海信息技术有限公司 一种稳定性测试方法、测试控制器及系统
CN108038013A (zh) * 2017-11-30 2018-05-15 海尔优家智能科技(北京)有限公司 分布式性能测试方法及装置与计算机可读存储介质
CN108874611A (zh) * 2017-05-12 2018-11-23 北京金山云网络技术有限公司 一种测试数据的构建方法及装置
CN109558525A (zh) * 2018-12-12 2019-04-02 北京锐安科技有限公司 一种测试数据集的生成方法、装置、设备和存储介质
CN110297762A (zh) * 2019-05-24 2019-10-01 平安银行股份有限公司 插件式自动测试方法、装置、计算机设备及存储介质
CN110377512A (zh) * 2019-07-12 2019-10-25 广州华多网络科技有限公司 测试应用程序的方法、装置、服务器和存储介质
CN112131104A (zh) * 2020-09-11 2020-12-25 北京达佳互联信息技术有限公司 测试数据分发方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006436A1 (en) * 2007-06-29 2009-01-01 Alqudah Yazan A Automated yield analysis system
CN101916280A (zh) * 2010-08-17 2010-12-15 上海云数信息科技有限公司 并行计算系统及按查询内容进行负载均衡的方法
CN102053982A (zh) * 2009-11-02 2011-05-11 阿里巴巴集团控股有限公司 一种数据库信息管理方法和设备
CN102222036A (zh) * 2010-04-14 2011-10-19 阿里巴巴集团控股有限公司 一种自动化测试方法和设备
CN102347864A (zh) * 2011-11-02 2012-02-08 网宿科技股份有限公司 基于内容分发网络的服务质量监控系统
CN102629247A (zh) * 2011-12-31 2012-08-08 成都市华为赛门铁克科技有限公司 一种数据处理方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006436A1 (en) * 2007-06-29 2009-01-01 Alqudah Yazan A Automated yield analysis system
CN102053982A (zh) * 2009-11-02 2011-05-11 阿里巴巴集团控股有限公司 一种数据库信息管理方法和设备
CN102222036A (zh) * 2010-04-14 2011-10-19 阿里巴巴集团控股有限公司 一种自动化测试方法和设备
CN101916280A (zh) * 2010-08-17 2010-12-15 上海云数信息科技有限公司 并行计算系统及按查询内容进行负载均衡的方法
CN102347864A (zh) * 2011-11-02 2012-02-08 网宿科技股份有限公司 基于内容分发网络的服务质量监控系统
CN102629247A (zh) * 2011-12-31 2012-08-08 成都市华为赛门铁克科技有限公司 一种数据处理方法、装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
百度技术博客: "分布式测试执行", 《HTTP://BAIDUTECH.BLOG.51CTO.COM/4114344/743834》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486139A (zh) * 2014-11-26 2015-04-01 中国建设银行股份有限公司 一种系统通信检测方法及装置
CN104486139B (zh) * 2014-11-26 2019-02-12 中国建设银行股份有限公司 一种系统通信检测方法及装置
CN105760291A (zh) * 2014-12-17 2016-07-13 阿里巴巴集团控股有限公司 一种回归测试方法和系统
CN105760291B (zh) * 2014-12-17 2019-08-09 阿里巴巴集团控股有限公司 一种回归测试方法和系统
CN106502887A (zh) * 2016-10-13 2017-03-15 郑州云海信息技术有限公司 一种稳定性测试方法、测试控制器及系统
CN108874611A (zh) * 2017-05-12 2018-11-23 北京金山云网络技术有限公司 一种测试数据的构建方法及装置
CN108038013A (zh) * 2017-11-30 2018-05-15 海尔优家智能科技(北京)有限公司 分布式性能测试方法及装置与计算机可读存储介质
CN109558525A (zh) * 2018-12-12 2019-04-02 北京锐安科技有限公司 一种测试数据集的生成方法、装置、设备和存储介质
CN110297762A (zh) * 2019-05-24 2019-10-01 平安银行股份有限公司 插件式自动测试方法、装置、计算机设备及存储介质
CN110377512A (zh) * 2019-07-12 2019-10-25 广州华多网络科技有限公司 测试应用程序的方法、装置、服务器和存储介质
CN112131104A (zh) * 2020-09-11 2020-12-25 北京达佳互联信息技术有限公司 测试数据分发方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN103793318B (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
CN103793318A (zh) 一种模块稳定性的分布式测试方法及装置
WO2017113912A1 (zh) 物理层软件自动化测试方法和装置
US10133622B2 (en) Enhanced error detection in data synchronization operations
CN110287163B (zh) 安全日志采集解析方法、装置、设备及介质
CN111683066B (zh) 异构系统集成方法、装置、计算机设备和存储介质
CN105955878A (zh) 服务器端的测试方法及系统
CN105302885B (zh) 一种全文数据的提取方法和装置
CN108459850B (zh) 生成测试脚本的方法、装置及系统
CN101894059B (zh) 一种运行状态的检测方法及系统
CN107347062A (zh) 一种日志数据处理的方法、电子设备和可读存储介质
CN108241576A (zh) 一种接口测试方法及系统
CN103067372B (zh) 云终端登录云服务器的方法及登录系统
CN108231132B (zh) 一种nand闪存验证装置和验证系统
CN104518968A (zh) 一种报文处理的方法和透明代理服务器
CN106886476B (zh) 一种客户端的内存分析方法、装置及系统
US10123190B2 (en) System and method for testing a CoAP server
CN102999424A (zh) 一种并行远程自动化测试的方法
CN111290996A (zh) 文档格式转换方法、装置、设备及可读存储介质
CN114253798A (zh) 指标数据采集方法和装置、电子设备、存储介质
CN103220188A (zh) 一种http数据采集设备
CN105068926A (zh) 一种程序测试方法及其设备
CN110442439B (zh) 任务进程处理方法、装置和计算机设备
CN111767161A (zh) 远程调用深度识别方法、装置、计算机设备及可读存储介质
CN104090895B (zh) 获取基数的方法、装置、服务器及系统
CN110825538A (zh) 一种基于mq可自定义数据类型动态进行数据交互的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant