算子测试方法、系统、电子设备及计算机可读存储介质与流程

文档序号:33809835发布日期:2023-04-19 13:23阅读:38来源:国知局
算子测试方法、系统、电子设备及计算机可读存储介质与流程

本技术涉及算子测试领域,具体而言,涉及一种算子测试方法、系统、电子设备及计算机可读存储介质。


背景技术:

1、在数据科学领域中,对结构化数据进行处理的方式可以被提取出来,封装成为数据算子。在实际生产过程中,由于运算数据量可能非常大,算子在设计时往往需要基于分布式计算框架实现分布式运算。

2、由于分布式运算算子与单机算子均需要单元测试,并且需要保证其单元测试结果的一致性;因此,需要可以同时为单机算子以及分布式算子进行测试的测试系统,并根据相同的测试数据对二者的测试结果进行比对。

3、目前,对单机算子和分布式算子进行单元测试时,分别编写两套测试用例,构建两套测试系统;造成测试算子效率较低,并且成本较高。


技术实现思路

1、本技术实施例的目的在于提供一种算子测试方法、系统、电子设备及计算机可读存储介质,在获取待测算子对应的测试数据集之后,遍历并解析待测算子,以获得待测算子的输入数据类型;进一步地,根据输入数据类型、测试数据类型对待测算子进行测试。本技术实施例中对单机算子和分布式算子的测试进行了统一,降低了对算子测试的成本,提高了算子测试的效率。

2、第一方面,本技术实施例提供一种算子测试方法,算子测试方法包括:获取待测算子对应的测试数据集;其中,待测算子包括待测单机算子和待测分布式算子;根据测试数据集获取测试数据集中的测试数据类型,并隔离不同类型的测试数据类型;遍历并解析待测算子,以获得待测算子的输入数据类型;根据输入数据类型和测试数据类型,测试待测单机算子,并获取待测单机算子的测试结果;根据输入数据类型、测试数据类型和单机算子测试结果,测试待测分布式算子,并获取待测分布式算子的测试结果。

3、在上述实现过程中,在获取待测算子对应的测试数据集之后,遍历并解析待测算子,以获得待测算子的输入数据类型;进一步地,根据输入数据类型、测试数据类型对待测算子进行测试。由此可知,本技术实施例中对单机算子和分布式算子的测试进行了统一,相较于现有技术中对单机算子和分布式算子所进行的分立测试的测试方式,降低了对算子测试的成本,提高了算子测试的效率。

4、可选地,在本技术实施例中,单机算子存储于待测单机算子文件中;待测分布式算子存储于待测分布式算子文件中;遍历并解析待测算子,以获得待测算子的输入数据类型包括:遍历待测单机算子文件,解析待测单机算子文件中的待测单机算子,以获待测单机算子的输入数据类型;遍历待测分布式算子文件,并获取每一待测分布式算子在待测单机算子文件中对应的待测单机算子和对应的待测单机算子的输入数据类型。

5、在上述实现过程中,遍历并解析待测算子,以获得待测算子的输入数据类型;分别获得待测单机算子的输入数据类型,以及每一待测分布式算子在待测单机算子文件中对应的待测单机算子和对应的待测单机算子的输入数据类型;本技术实施例提供的算子测试方法基于单机算子和分布式段子相同的逻辑和相同的运行结果,分别获取对应的输入数据类型,从而实现对单机算子和分布式算子得测量。

6、可选地,在本技术实施例中,根据输入数据类型和测试数据类型,测试待测单机算子,并获取单机算子测试结果包括:判断测试数据集中是否存在与输入数据类型一致的测试数据类型;若测试数据集中存在与输入数据类型一致的测试数据类型,则将一致的测试数据类型对应的测试数据输入待测单机算子,并获取待测单机算子的输出;根据单机算子的输出获取待测单机算子的测试结果。

7、在上述实现过程中,测试待测单机算子时,将一致的测试数据类型对应的测试数据输入待测单机算子,并获取待测单机算子的输出,根据待测单机算子的输出可以判断测试是否通过,从而高效地完成单机算子的测试。

8、可选地,在本技术实施例中,待测单机算子的测试结果包括待测单机算子通过测试和待测单机算子不通过测试;根据单机算子的输出获取待测单机算子的测试结果包括:判断待测单机算子的输出是否符合预设要求;若待测单机算子的输出符合预设要求,则判定待测单机算子通过测试;其中,预设要求包括待测单机算子的输出对应的数据类型是否为预设类型和/或数据格式是否为预设格式。

9、在上述实现过程中,对于待测算子每个输出结果而言,如果返回类型符合算子预期的返回类型,则视为通过单元测试,将结果记录下来,不做额外处理;如果返回类型不符合预期,或运算时报错,则视为测试出算子异常,即测试不通过。

10、可选地,在本技术实施例中,根据输入数据类型、测试数据类型和单机算子测试结果,测试待测分布式算子,并获取待测分布式算子的测试结果包括:判断每一待测分布式算子在待测单机算子文件中对应的待测单机算子的测试结果;若判定每一待测分布式算子在待测单机算子文件中对应的待测单机算子的测试结果均为待测单机算子通过测试,则获取待测单机算子的输出;根据待测单机算子的输出和输入数据类型测试待测分布式算子,并获取待测分布式算子的测试结果。

11、在上述实现过程中,在单机算子通过测试的基础上,通过待测单机算子的输出和输入数据类型测试待测分布式算子;由此可知,使用本技术实施例提供的子测试方法,基于相同测试用例的测试,解决了分布式算子在测试时需额外编写相应测试用例以及其结果和单机算子一致性难以保证的问题。

12、可选地,在本技术实施例中,根据待测单机算子的输出和输入数据类型测试待测分布式算子,并获取待测分布式算子的测试结果包括:获取输入数据类型对应的测试数据;将对应的测试数据输入待测分布式算子,并获取待测分布式算子的输出;判断待测分布式算子的输出和待测单机算子的输出是否一致;若待测分布式算子的输出和待测单机算子的输出一致,则判定待测分布式算子的测试结果为待测分布式算子通过测试。

13、在上述实现过程中,在本技术实施例提供的算子测试方法中,单机算子的测试结果作为分布式算子的测试结果的基准,为分布式算子使用同样测试用例的情况下,可以快速得知分布式算子是否存在运行错误或输出不符合预期的问题;同时,快速确定了分布式算子输出的结果是否与单机算子的输出结果一致,即确定二者中是否至少存在一方有运算上的错误。

14、可选地,在本技术实施例中,根据测试数据集获取测试数据集中的测试数据类型,并隔离不同类型的测试数据类型包括:根据测试数据集获取测试数据集中所有的数据类型;将数据类型不同的测试数据进行隔离;其中,隔离包括将数据类型不同的测试数据放入测试数据集的不同行或不同列。

15、在上述实现过程中,本技术实施例提供的算子测试方法根据测试数据集获取测试数据集中的测试数据类型,并隔离不同类型的测试数据类型;从而实现对不同类型的数据的分隔,进而在数据匹配时能够更加快速,从而提高算子测试的效率。

16、第二方面,本技术实施例提供一种算子测试系统,算子测试系统包括:测试数据获取模块、测试数据类型获取模块、算子测试模块以及测试结果获取模块;测试数据获取模块,用于获取待测算子对应的测试数据集;其中,待测算子包括待测单机算子和待测分布式算子;测试数据类型获取模块,用于根据测试数据集获取测试数据集中的测试数据类型,并隔离不同类型的测试数据类型;算子测试模块,用于遍历并解析待测算子,以获得待测单机算子的输入数据类型;算子测试模块,还用于根据输入数据类型、测试数据类型和单机算子测试结果,测试待测分布式算子;测试结果获取模块,用于获取待测单机算子的测试结果,以及获取待测分布式算子的测试结果。

17、第三方面,本技术实施例提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。

18、第四方面,本技术实施例还提供一种计算机可读存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1