数据测试方法、装置、非易失性存储介质和处理器与流程

文档序号:23589886发布日期:2021-01-08 14:25阅读:100来源:国知局
数据测试方法、装置、非易失性存储介质和处理器与流程

本发明涉及数据测试领域,具体而言,涉及一种数据测试方法、装置、非易失性存储介质和处理器。



背景技术:

目前,在进行算法测试时,由于算法测试的特殊性,不同于传统的接口测试的是,其可以根据返回状态码以及逻辑处理结果,进行校验,其有一个确定的预期返回。

算法测试通常是通过手工进行的。但是,对算法进行手工测试困难,无法在短时间内运行更多的测试,使得对算法进行测试的效率低。

针对上述的对算法进行测试的效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种数据测试方法、装置、非易失性存储介质和处理器,以至少解决对算法进行测试的效率低的技术问题。

根据本发明实施例的一个方面,提供了一种数据测试方法。该包括:获取测试用例,其中,测试用例用于对目标算法数据进行测试,目标算法数据用于构建目标算法;通过第一调用接口调用目标算法数据,并通过测试用例对目标算法数据进行测试,得到第一返回结果;将第一返回结果和第二返回结果进行比较,其中,第二返回结果为对目标算法数据进行测试得到的标准结果;在第一返回结果与第二返回结果相同的情况下,确定对目标算法数据测试成功;在第一返回结果与第二返回结果不相同的情况下,确定目标算法数据测试失败

可选地,在将第一返回结果和第二返回结果进行比较之前,该方法还包括:通过第二调用接口调用第二返回结果。

可选地,获取测试用例,包括:通过c#编码加载目标表格中的测试用例。

可选地,在通过第一调用接口调用目标算法数据之前,该方法还包括:将目标表格中的一行数据作为参数,以调用第一调用接口。

可选地,获取测试用例,包括:通过随机数生成测试用例,其中,在调用测试用例进行测试时,传入测试的执行次数。

可选地,在通过第一调用接口调用目标算法数据之前,该方法还包括:通过随机数随机生成测试数据,以调用第一调用接口。

可选地,第一返回结果包括:点到圆的最近距离和点在圆上的投影点的坐标。

可选地,在确定对目标算法数据测试成功,或确定目标算法数据测试失败之后,该方法还包括:将对目标算法数据测试成功的结果或对目标算法数据测试失败的结果,写入目标表格中。

根据本发明实施例的另一方面,还提供了一种数据测试装置。该装置可以包括:获取单元,用于获取测试用例,其中,测试用例用于对目标算法数据进行测试,目标算法数据用于构建目标算法;测试单元,用于通过第一调用接口调用目标算法数据,并通过测试用例对目标算法数据进行测试,得到第一返回结果;比较单元,用于将第一返回结果和第二返回结果进行比较,其中,第二返回结果为对目标算法数据进行测试得到的标准结果;第一确定单元,用于在第一返回结果与第二返回结果相同的情况下,确定对目标算法数据测试成功;第二确定单元,用于在第一返回结果与第二返回结果不相同的情况下,确定目标算法数据测试失败。

根据本发明实施例的另一方面,还提供了一种非易失性存储介质,其特征在于,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的数据测试方法。

根据本发明实施例的另一方面,还提供了一种处理器。该处理器用于运行程序,其中,程序被设置为运行时执行本发明实施例的数据测试方法。

根据本发明实施例的另一方面,还提供了一种电子装置。该电子装置可以包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的数据测试方法。

在本发明实施例中,获取测试用例,其中,测试用例用于对目标算法数据进行测试,目标算法数据用于构建目标算法;通过第一调用接口调用目标算法数据,并通过测试用例对目标算法数据进行测试,得到第一返回结果;将第一返回结果和第二返回结果进行比较,其中,第二返回结果为对目标算法数据进行测试得到的标准结果;在第一返回结果与第二返回结果相同的情况下,确定对目标算法数据测试成功;在第一返回结果与第二返回结果不相同的情况下,确定目标算法数据测试失败。也就是说,本申请通过第一调用接口调用用于构建目标算法的目标算法数据,并通过获取到的测试用例对目标算法数据进行测试,将得到的第一返回结果与第二返回结果进行对比,来确定是否对目标算法数据测试成功,从而实现了一种动化测试方案,可以在短时间内重复多次执行,完成手工测试所不能涉及的场景,达到了提高对算法进行测试的效率的技术效果,进而解决了对算法进行测试的效率低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种数据测试方法的流程图;

图2是根据本发明实施例的一种对算法库计算点到圆的最近距离及交点坐标的自动化测试框架的示意图;

图3是根据本发明实施例的一种从excel读取数据进行算法测试的方法的流程图;

图4是根据本发明实施例的一种使用生成随机数进行算法测试的方法的流程图;

图5是根据本发明实施例的一种数据测试装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种数据测试方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种数据测试方法的流程图。如图1所示,该方法包括如下步骤:

步骤s102,获取测试用例,其中,测试用例用于对目标算法数据进行测试,目标算法数据用于构建目标算法。

在本发明上述步骤s102提供的技术方案中,测试用例可以为预先设计好的测试用例,比如,为目标表格中的测试用例,也可以为通过随机数方法生成的测试用例,其用于对目标算法数据进行测试,目标算法数据可以用于构建目标算法,从而通过测试用例可以实现对目标算法进行测试。

可选地,该实施例的目标算法可以为包括许多算法,且可调用的算法库,可以包括计算点到圆的最近距离及点在圆上的投影点的坐标的算法(比如,jlgcom),其中,点在圆上的投影点的坐标也可以称为交点坐标。

步骤s104,通过第一调用接口调用目标算法数据,并通过测试用例对目标算法数据进行测试,得到第一返回结果。

在本发明上述步骤s104提供的技术方案中,在获取测试用例之后,可以通过第一调用接口调用目标算法数据,并通过测试用例对目标算法数据进行测试,得到第一返回结果。

在该实施例中,第一调用接口可以为目标算法的c#调用接口,在目标算法为可调用的算法库的情况下,第一调用接口也可以为算法接口,可以由c++算法工程师预先提供。该实施例通过第一调用接口调用目标算法数据,并通过获取到的测试用例对目标算法数据进行测试,得到第一返回结果,该第一返回结果也即接口调用后的结果。

步骤s106,将第一返回结果和第二返回结果进行比较,其中,第二返回结果为对目标算法数据进行测试得到的标准结果。

在本发明上述步骤s106提供的技术方案中,在通过测试用例对目标算法数据进行测试,得到第一返回结果之后,可以将第一返回结果和第二返回结果进行比较,比如,将第一返回结果和第二返回结果进行相等比较运算,可以是获取第一返回结果与第二返回结果之间的差,如果该差为0,则可以确定第一返回结果和第二返回结果相等,如果该差不为0,则可以确定第一返回结果和第二返回结果不相等。

在该实施例中,第二返回结果为用于与第一返回结果进行比较的标准结果,使得算法测试有参照结果可用,以确定是否对目标算法数据测试成功,可以为第三方库的返回结果。

步骤s108,在第一返回结果与第二返回结果相同的情况下,确定对目标算法数据测试成功。

在本发明上述步骤s108提供的技术方案中,在将第一返回结果和第二返回结果进行比较之后,如果第一返回结果与第二返回结果相同,则可以确定对目标算法数据测试成功。

在该实施例中,由于第二返回结果为对目标算法数据进行测试得到的标准结果,如果第一返回结果与第二返回结果相同,也即,第一返回结果为对目标算法数据进行测试得到的标准结果,则可以确定对目标算法数据测试成功,也即,对目标算法测试通过,单条测试用例通过。

步骤s110,在第一返回结果与第二返回结果不相同的情况下,确定目标算法数据测试失败。

在本发明上述步骤s110提供的技术方案中,在将第一返回结果和第二返回结果进行比较之后,如果第一返回结果与第二返回结果不同,则可以确定对目标算法数据测试失败。

在该实施例中,如果第一返回结果与第二返回结果不同,也即,第一返回结果并非对目标算法数据进行测试得到的标准结果,则可以确定对目标算法数据测试失败,也即,对目标算法测试失败,单条测试用例失败。

通过上述步骤s102至步骤s110,获取测试用例,其中,测试用例用于对目标算法数据进行测试,目标算法数据用于构建目标算法;通过第一调用接口调用目标算法数据,并通过测试用例对目标算法数据进行测试,得到第一返回结果;将第一返回结果和第二返回结果进行比较,其中,第二返回结果为对目标算法数据进行测试得到的标准结果;在第一返回结果与第二返回结果相同的情况下,确定对目标算法数据测试成功;在第一返回结果与第二返回结果不相同的情况下,确定目标算法数据测试失败。也就是说,该实施例通过第一调用接口调用用于构建目标算法的目标算法数据,并通过获取到的测试用例对目标算法数据进行测试,将得到的第一返回结果与第二返回结果进行对比,来确定是否对目标算法数据测试成功,从而实现了一种动化测试方案,可以在短时间内重复多次执行,完成手工测试所不能涉及的场景,达到了提高对算法进行测试的效率的技术效果,进而解决了对算法进行测试的效率低的技术问题。

下面对该实施例的上述方法进行进一步介绍。

作为一种可选的实施方式,在步骤s106,将第一返回结果和第二返回结果进行比较之前,该方法还包括:通过第二调用接口调用第二返回结果。

在该实施例中,第二调用接口可以为revit第三方库的c#调用接口,也即,revit第三方库接口,由c++算法工程师预先提供,用于作为算法比对的标准。该实施例可以通过第二调用接口调用第二返回结果,该第二返回结果也即revit第三方库接口返回结果,进而将第一返回结果和第二返回结果进行比较,以确定对目标算法数据是否测试成功。

作为一种可选的实施方式,步骤s102,获取测试用例,包括:通过c#编码加载目标表格中的测试用例。

在该实施例中,在实现获取测试用例时,可以是自己设计测试用例,也可以使用c#编码来加载目标表格中所设计的测试用例,其中,目标表格可以为excel。

作为一种可选的实施方式,在步骤s104,通过第一调用接口调用目标算法数据之前,该方法还包括:将目标表格中的一行数据作为参数,以调用第一调用接口。

在该实施例中,可以编码实现循环读取目标表格中的数据,可以将目标表格中的一行数据作为参数,用于调用第一调用接口。可选地,该实施例在通过上述参数调用第一接口的同时,还可以通过上述参数调用第二调用接口。

作为一种可选的实施方式,步骤s102,获取测试用例,包括:通过随机数生成测试用例,其中,在调用测试用例进行测试时,传入测试的执行次数。

在该实施例中,在实现获取测试用例时,可以是使用编写的随机数方法来生成测试用例,在调用该通过随机数生成的测试用例进行测试时,可以传入测试的执行次数,以保证测试在有限次数内执行。

作为一种可选的实施方式,在步骤s104,通过第一调用接口调用目标算法数据之前,该方法可以包括:通过随机数随机生成测试数据,以调用第一调用接口。

在该实施例中,在通过第一调用接口调用目标算法数据之前,通过随机数随机生成测试数据,可以采用随机测试方法实现随机生成测试数据,通过该测试数据来调用第一接口。可选地,该实施例在通过上述测试数据调用第一接口时,还可以通过上述测试数据调用第二接口。

作为一种可选的实施方式,第一返回结果包括:点到圆的最近距离和点在圆上的投影点的坐标。

在该实施例中,通过测试用例对目标算法数据进行测试,得到的第一返回结果可以为测试点到圆的最近距离与点在圆上的投影点的坐标,其中,测试点到圆的最近距离也即返回的距离,点在圆上的投影点的坐标也即坐标点位置。

可选地,第二返回结果包括点到圆的最近距离的标准结果和点在圆上的投影点的坐标的标准结果。

作为一种可选的实施方式,在步骤s108,确定对目标算法数据测试成功,或步骤s110,确定目标算法数据测试失败之后,该方法还包括:将对目标算法数据测试成功的结果或对目标算法数据测试失败的结果,写入目标表格中。

在该实施例中,在确定对目标算法数据测试成功,也即,确定对目标算法测试成功,或者,在确定目标算法数据测试失败,也即确定对目标算法测试失败之后,可以将对目标算法数据测试成功的结果或对目标算法数据测试失败的结果,写入目标表格中,比如,写入excel,从而实现了将测试返回结果进行记录的目的。

该实施例提供了一种针对算法的自动化测试方案,让算法测试有参照结果可用,其可在短时间内重复多次使用,以提升测试效率,完成手工测试所不能涉及的场景,从而避免了无法通过手工测试完成算法校验,更好地利用人力资源,提高了对算法进行测试的效率,进而解决了对算法进行测试的效率低的技术问题。

实施例2

下面结合优选的实施方式对本发明实施例的技术方案进行进一步举例说明。

在该实施例中,算法库可以为包括许多算法的可调用的算法库,相关技术中并没有对其进行测试的方案以及工具。该实施例提供了一种针对上述算法的测试方案,使用c#搭建一个算法自动化测试的框架,可以重复多次使用,以提升测试效率,完成手工测试所不能涉及的场景,从而避免无法通过手工测试完成算法校验的问题。

算法的测试因其自身的特殊性,不同于传统的接口测试,可以根据返回状态码及逻辑处理结果,进行校验,有一个确定的预期返回。但是,手工测试比较困难,无法在短时间内运行更多的测试。

该实施例可以使用c#语言实现对算法库搭建自动化测试框架。

图2是根据本发明实施例的一种对算法库计算点到圆的最近距离及交点坐标的自动化测试框架的示意图。如图2所示,该框架包括使用自己定义的测试用例进行测试testfromexcel(),进行随机数的测试testrandom(),终止程序processkill()。其中,在使用testfromexcel(),testrandom()进行之后,可以使用自动测试算法库助手(autotestjlgcomhelper)进行进一步自动化测试,从而实现算法自动化测试。

下面对该实施例的使用自定义的测试用例的场景进行测试的方法进行介绍。

图3是根据本发明实施例的一种从excel读取数据进行算法测试的方法的流程图。如图3所示,该方法可以包括以下步骤:

步骤s301,开始执行testfromexcel()方法。

该实施例可以设计测试用例,可以使用c#编码加载excel中设计的测试用例。

步骤s302,调用算法接口。

在该实施例中,算法接口可以为算法库的c#调用接口,可以由c++算法工程师提供,可以通过编码实现循环读取excel数据,将excel中的一行数据作为参数,来调用算法接口。

步骤s303,调用revit第三方库接口。

在该实施例中,revit第三方库接口可以为revit第三方库的c#调用接口,用于作为算法比对的标准,可以由c++算法工程师提供,可以通过编码实现循环读取excel数据,将excel中的一行数据作为参数,来调用revit第三方库接口。

步骤s304,判断算法接口调用后的结果与revit第三方库接口返回结果是否相等。

如果算法接口调用后的结果与revit第三方库接口返回结果相等,则执行步骤s305;否则,执行步骤s306。

步骤s305,确定测试结果为单条测试用例通过。

在该实施例中,算法接口调用后的结果可以为点到圆的最近距离及点到圆的投影点的坐标。如果点到圆的最近距离及点到圆的投影点的坐标均与revit第三方库接口返回结果相等,则表示单条测试用例通过。

步骤s306,确定测试结果为单条测试用例失败。

如果点到圆的最近距离及点到圆的投影点的坐标均与revit第三方库接口返回结果不相等,则表示单条测试用例失败。

步骤s307,将测试结果写入excel中。

在确定测试结果为单条测试用例通过,或者在确定测试结果为单条测试用例失败之后,可以将测试结果写入excel中。

下面对该实施例的进行随机数的测试的场景进行介绍。

图4是根据本发明实施例的一种使用生成随机数进行算法测试的方法的流程图。如图4所示,该方法可以包括以下步骤:

步骤s401,开始执行testtestrandom()方法。

该实施例可以使用编写的随机数方法生成测试用例。

步骤s402,批量生成随机数。

在该实施例中,可以传入随机测试的执行次数。

步骤s403,调用算法接口。

在该实施例中,算法接口可以为算法库的c#调用接口,可以由c++算法工程师提供,可以使用随机测试方法来随机生成测试数据,通过测试数据来调用算法接口。

步骤s404,调用revit第三方库接口。

在该实施例中,revit第三方库接口可以为revit第三方库的c#调用接口,用于作为算法比对的标准,可以由c++算法工程师提供,可以使用随机测试方法来随机生成测试数据,通过测试数据来调用revit第三方库接口。

步骤s405,判断算法接口调用后的结果与revit第三方库接口返回结果是否相等。

如果算法接口调用后的结果与revit第三方库接口返回结果相等,则执行步骤s406;否则,执行步骤s407。

步骤s406,确定测试结果为单条测试用例通过。

在该实施例中,算法接口调用后的结果可以为点到圆的最近距离及点到圆的投影点的坐标。如果点到圆的最近距离及点到圆的投影点的坐标均与revit第三方库接口返回结果相等,则表示单条测试用例通过。

步骤s407,确定测试结果为单条测试用例失败。

如果点到圆的最近距离及点到圆的投影点的坐标均与revit第三方库接口返回结果不相等,则表示单条测试用例失败。

步骤s408,将测试结果写入excel中。

在确定测试结果为单条测试用例通过,或者在确定测试结果为单条测试用例失败之后,可以将测试结果写入excel中。

该实施例提供了一种针对算法的自动化测试方案,让算法测试有参照结果可用,其可在短时间内重复多次使用,以提升测试效率,完成手工测试所不能涉及的场景,避免了无法通过手工测试完成算法校验,更好地利用人力资源,提高了对算法进行测试的效率,进而解决了对算法进行测试的效率低的技术问题。

实施例3

本发明实施例还提供了一种数据测试装置。需要说明的是,该实施例的数据测试装置可以用于执行本发明实施例的数据测试方法。

图5是根据本发明实施例的一种数据测试装置的示意图。如图5所示,该数据测试装置50可以包括:获取单元51、测试单元52、比较单元53、第一确定单元54和第二确定单元55。

获取单元51,用于获取测试用例,其中,测试用例用于对目标算法数据进行测试,目标算法数据用于构建目标算法。

测试单元52,用于通过第一调用接口调用目标算法数据,并通过测试用例对目标算法数据进行测试,得到第一返回结果。

比较单元53,用于将第一返回结果和第二返回结果进行比较,其中,第二返回结果为对目标算法数据进行测试得到的标准结果。

第一确定单元54,用于在第一返回结果与第二返回结果相同的情况下,确定对目标算法数据测试成功。

第二确定单元55,用于在第一返回结果与第二返回结果不相同的情况下,确定目标算法数据测试失败。

可选地,该装置还包括:调用单元,用于在将第一返回结果和第二返回结果进行比较之前,通过第二调用接口调用第二返回结果。

可选地,获取单元51包括:第一获取模块,用于通过c#编码加载目标表格中的测试用例。

可选地,该装置还用于在通过第一调用接口调用目标算法数据之前,将目标表格中的一行数据作为参数,以调用第一调用接口。

可选地,获取单元51包括:包括:生成模块,用于通过随机数生成测试用例,其中,在调用测试用例进行测试时,传入测试的执行次数。

可选地,该装置还用于在通过第一调用接口调用目标算法数据之前,通过随机数随机生成测试数据,以调用第一调用接口。

可选地,该实施例的第一返回结果包括:点到圆的最近距离和点在圆上的投影点的坐标。

可选地,该装置还包括:写入单元,用于在确定对目标算法数据测试成功,或确定目标算法数据测试失败之后,将对目标算法数据测试成功的结果或对目标算法数据测试失败的结果,写入目标表格中。

在该实施例的数据测试装置中,通过第一调用接口调用用于构建目标算法的目标算法数据,并通过获取到的测试用例对目标算法数据进行测试,将得到的第一返回结果与第二返回结果进行对比,来确定是否对目标算法数据测试成功,从而实现了一种动化测试方案,可以在短时间内重复多次执行,完成手工测试所不能涉及的场景,达到了提高对算法进行测试的效率的技术效果,进而解决了对算法进行测试的效率低的技术问题。

实施例4

根据本发明实施例,还提供了一种非易失性存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的数据测试方法。

实施例5

根据本发明实施例,还提供了一种处理器。该处理器用于运行程序,其中,程序被设置为运行时执行本发明实施例的数据测试方法。

实施例6

根据本发明实施例,还提供了一种电子装置。该装置可以包括存储器和处理器。该存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的数据测试方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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