掌桥专利:专业的专利平台
掌桥专利
首页

测试方法、装置、计算机设备、存储介质和程序产品

文献发布时间:2023-06-19 19:18:24


测试方法、装置、计算机设备、存储介质和程序产品

技术领域

本申请涉及服务器性能测试技术领域,特别是涉及一种测试方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

随着科学技术的日益发展,大数据和云计算成为当今IT产业的热门话题,这对服务器的处理器、内存、数据存储的带宽和容量等性能提出了更高的要求,如何高效地评估服务器各项基本性能对服务器厂商、服务器用户有十分重大的意义,SPEC CPU是国际标准性能评估机构开发的用于测试处理器、内存子系统性能的测试软件,该软件是目前业界最标准的、最权威的基准测试软件之一,被大多数处理器和计算机系统制造商所认可,在进行计算设备采购时或者计算系统制造商进行内部计算机性能评价时,相关技术人员可以通过SPEC CPU进行测试,整个测试过程包括硬件环境准备、操作系统安装、软件依赖安装、编译器和配套库安装、软件安装、编译和试运行debug、运行测试、结果收集和评价等几个阶段,其中,最为耗时、不确定性最多的阶段是编译和试运行debug阶段。

现有技术中,在编译和试运行debug阶段,技术人员基于一定的配置文件,以套件为单位按套件中的用例顺序对每个用例进行编译,然后再按顺序测试SPEC CPU套件中的每一个用例。

然而,SPEC CPU每次只编译或只测试一个用例,导致整体测试工作时间较长,因而导致整体测试效率较低。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高SPEC CPU测试效率的测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种测试方法。该方法包括:

基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果;基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果;基于该预处理结果得到第三配置文件。

在其中一个实施例中,基于该编译结果得到第二配置文件,包括:从该编译结果中确定各个错误所共有的错误特征;基于该编译结果中各个错误所共有的错误特征,对该第一配置文件执行调整处理,并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止,将编译结果不存在错误时使用的配置文件作为该第二配置文件。

在其中一个实施例中,该基于该预处理结果得到第三配置文件,包括:从该预处理结果中确定各个错误所共有的错误特征;基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件执行调整处理,并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止,将预处理结果不存在错误时使用的配置文件作为该第三配置文件。

在其中一个实施例中,该错误特征包括编译语言特征、编译选项特征以及用例类型特征中的至少一种。

在其中一个实施例中,该方法还包括:将该编译结果和该预处理结果均输出至目标文件中;基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误。

在其中一个实施例中,将该编译结果和该预处理结果均输出至目标文件中,包括:基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中。

第二方面,本申请还提供了一种测试装置。该装置包括:

第一执行模块,用于基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果;

第二执行模块,用于基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果;

配置模块,用于基于该预处理结果得到第三配置文件。

在一个实施例中,该第二执行模块,具体用于:从该编译结果中确定各个错误所共有的错误特征;基于该编译结果中各个错误所共有的错误特征,对该第一配置文件执行调整处理,并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止,将编译结果不存在错误时使用的配置文件作为该第二配置文件。

在一个实施例中,该配置模块,具体用于:从该预处理结果中确定各个错误所共有的错误特征;基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件执行调整处理,并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止,将预处理结果不存在错误时使用的配置文件作为该第三配置文件。

在一个实施例中,该错误特征包括编译语言特征、编译选项特征以及用例类型特征中的至少一种。

在一个实施例中,该测试装置还包括确定模块,该确定模块,用于:将该编译结果和该预处理结果均输出至目标文件中;基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误。

在一个实施例中,该确定模块,具体用于:基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中。

第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面中任一所述的步骤。

第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一所述的步骤。

第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一所述的步骤。

上述测试方法、装置、计算机设备、存储介质和计算机程序产品,先基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果,再基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果,然后基于该预处理结果得到第三配置文件。本申请提供的测试方法利用当前计算机多核架构,实现对多个用例的并行编译以及并行预处理,可以有效的节省测试时间,进而提高测试效率。

附图说明

图1为一个实施例中测试方法的流程示意图;

图2为另一个实施例中测试方法的流程示意图;

图3为另一个实施例中测试方法的流程示意图;

图4为另一个实施例中测试方法的流程示意图;

图5为另一个实施例中测试方法的流程示意图;

图6为一个实施例中测试装置的结构框图;

图7为另一个实施例中测试装置的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

随着科学技术的日益发展,大数据和云计算成为当今IT产业的热门话题,这对服务器的处理器、内存、数据存储的带宽和容量等性能提出了更高的要求,如何高效地评估服务器各项基本性能对服务器厂商、服务器用户有十分重大的意义,SPEC CPU是国际标准性能评估机构开发的用于测试处理器、内存子系统性能的测试软件,该软件是目前业界最标准的、最权威的基准测试软件之一,被大多数处理器和计算机系统制造商所认可,在进行计算设备采购时或者计算系统制造商进行内部计算机性能评价时,相关技术人员可以通过SPEC CPU进行测试,整个测试过程包括硬件环境准备、操作系统安装、软件依赖安装、编译器和配套库安装、软件安装、编译和试运行debug、运行测试、结果收集和评价等几个阶段,其中,最为耗时、不确定性最多的阶段是编译和试运行debug阶段。

现有技术中,在编译和试运行debug阶段,技术人员基于一定的配置文件,以套件为单位按套件中的用例顺序对每个用例进行编译,然后再按顺序测试SPEC CPU套件中的每一个用例。

然而,SPEC CPU每次只编译或只测试一个用例,导致整体测试工作时间较长,因而导致整体测试效率较低。

有鉴于此,本申请提供了一种提高测试效率的测试方法。

本申请实施例提供的测试方法,其执行主体可以是一种计算机设备,该计算机设备可以是服务器。

在一个实施例中,如图1所示,提供了一种测试方法,包括以下步骤:

步骤101、基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果。

该第一配置文件可以是根据项目工程需求而准备好的待测试的初版配置文件。

在一个可选的实施例中,该目标性能测试工具为SPEC CPU测试工具。

该SPEC CPU包括有intrate、fprate、intspeed、fpspeed四个套件,该intrate套件可以用于衡量被测CPU、内存子系统的整型吞吐量,该fprate套件可以用于衡量被测CPU、内存子系统的浮点吞吐量,该intspeed套件可以用于衡量被测CPU、内存子系统的整型速率,该fpspeed套件可以用于衡量被测CPU、内存子系统的整型速率浮点速率性能,这四个套件下,分别还包含十余项子用例,每一个子用例代表一种计算场景,例如路线规划场景、视频压缩场景、脚本语言解释器场景、AI围棋场景等。

可选的,若需使用该SPEC CPU作为测试工具,可以先将SPEC CPU测试工具依赖的编译器、glibc、perl、libnsl等软件包安装在被测计算机上,然后,再在被测计算机上安装SPEC CPU 2006/2017软件本体。

在一种可能实现的方式中,基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,需先将该第一配置文件置于SPEC CPU安装目录的config目录下,然后采用Shell循环语句,利用将需要编译的所有用例都放在后台执行的方法实现多个用例的并行编译,以得到编译结果。

步骤102、基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果。

该第二配置文件指的是编译后不存在编译错误的第一配置文件。

该预处理可以是是预测试,也称预运行,即在正式版本测试之前对基本功能(核心功能)做的一个基本验证。

在一种可能实现的方式中,基于第二配置文件对该多个用例执行并行预处理,也可以采用Shell循环语句,利用将需要编译的所有用例都放在后台执行的方法实现多个用例的并行预处理,以得到预处理结果。

在一个可选的实施例中,该预处理中使用的数据集为test数据集,即一种相比于标准数据集小的多的数据集,可以有效的节省预处理时间。

步骤103、基于该预处理结果得到第三配置文件。

该第三配置文件指的是预处理后不存在预处理错误的第二配置文件。

上述测试方法、装置、计算机设备、存储介质和计算机程序产品,先基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果,再基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果,然后基于该预处理结果得到第三配置文件,并基于该第三配置文件对该目标性能测试工具进行测试配置。本申请提供的测试方法利用当前计算机多核架构,实现对多个用例的并行编译以及并行预处理,可以有效的节省测试时间,进而提高测试效率。

在其中一个实施例中,如图2所示,基于该编译结果得到第二配置文件,包括以下步骤:

步骤201、从该编译结果中确定各个错误所共有的错误特征。

在一个可选实施例中,该错误特征包括编译语言特征、编译选项特征以及用例类型特征中的至少一种。

可选的,该编程语言特征可以是C语言特征、C++语言特征以及Fortran语言特征等。

该用例类型特征可以是整型用例特征以及浮点用例特征等。

在一个可选的实施例中,该错误特征还可以包括编译器版本特征、环境变量特征、库文件引用特征中的至少一种。

步骤202、基于该编译结果中各个错误所共有的错误特征,对该第一配置文件执行调整处理,并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止,将编译结果不存在错误时使用的配置文件作为该第二配置文件。

在一种可能实现的方式中,在该编译结果存在错误的情况下,可以先根据编译结果确定报错用例的共性特征,即共有的错误特征,然后再根据该共性特征对第一配置文件进行修改或完善,以使得可以基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止。

上述根据编译结果确定各个错误所共有的错误特征,再基于该编译结果中各个错误所共有的错误特征对该第一配置文件进行调整处理的方法,可以使得相同类型的问题在短时间内同时报出,为对该第一配置文件进行调整处理提供了充分的调整依据。

在其中一个实施例中,如图3所示,基于该预处理结果得到第三配置文件,包括以下步骤:

步骤301、从该预处理结果中确定各个错误所共有的错误特征。

在一种可能实现的方式中,该错误可能是由于数组越界而产生的,即调用数组元素时使用的索引号超过数组所能提供的索引号的范围。

在另一种可能实现的方式中,该错误还有可能是由于堆栈溢出而产生的,例如变量申请大空间内存,例如递归。

步骤302、基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件执行调整处理,并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止,将预处理结果不存在错误时使用的配置文件作为该第三配置文件。

在一种可能实现的方式中,在该预处理结果存在错误的情况下,可以先根据预处理结果确定报错用例的共性特征,即共有的错误特征,然后再根据该共性特征对第二配置文件进行修改或完善,以使得可以基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止。

上述根据预处理结果确定各个错误所共有的错误特征,再基于该预处理结果中各个错误所共有的错误特征对该第二配置文件进行调整处理的方法,可以使得相同类型的问题在短时间内同时报出,为对该第二配置文件进行调整处理提供了充分的调整依据。

在其中一个实施例中,如图4所示,该方法还包括以下步骤:

步骤401、将该编译结果和该预处理结果均输出至目标文件中。

在一个可选的实施例中,将该编译结果和该预处理结果均输出至目标文件中,包括:基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中。

在一种可能实现的方式中,可以基于nohup、-a build以及&联用的方法实现将该编译结果输出至该目标文件中。

在另一种可能实现的方式中,可以基于nohup、-a run、-r 1以及&联用的方法实现将该预处理结果输出至该目标文件中,其中,-r 1表示运行于单个核心上。

步骤402、基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误。

可选的,该错误关键字可以是Error。

在一个可选的实施例中,若进行该检索处理后,并未检索到错误关键字,可能是编译成功或预处理成功,但还存在未编译完成或未预处理完成,所以还需对编译或预处理进行检查处理,即确定该编译或该预处理是否运行完毕。

在一种可能实现的方式中,可以通过检查是否存在specperl进程确定该编译或该预运行是否运行完毕。

可选的,若进行检查处理后,也未输出相关进程,则可以确定该编译完毕且编译成功,或者是该预处理完毕且该预处理成功。

上文所述为对目标文件进行检索处理未检索到错误关键字的情况,实际场景中,还存在对目标文件进行检索处理后检索到错误关键字的情况。

在一种可能实现的方式中,若基于nohup方法将该编译结果定向至该目标文件中,基于错误关键字对该目标文件进行检索处理,检索到该错误关键字,则可以基于该目标文件确定各个错误所共有的错误特征,并基于该共有的错误特征对第一配置文件进行修改,然后再删除该目标文件,重新开始并行编译处理。

在另一种可能实现的方式中,若基于nohup方法将该预处理结果定向至该目标文件中,基于错误关键字对该目标文件进行检索处理,检索到该错误关键字,则可以基于该目标文件确定各个错误所共有的错误特征,并基于该共有的错误特征对第二配置文件进行修改,然后再删除该目标文件,重新开始并行编译处理以及并行预处理。

上述将该编译结果和该预处理结果均输出至目标文件中,并基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误的方法,可以快速的确定编译或预处理是否成功,若不采用基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中,并基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误,并在存在错误的情况下,对配置文件进行修改的方法,可能会导致出现“跷跷板式”调优问题,即当一组套件中的一个用例编译/预处理报错后,仅根据该用例的报错对配置文件进行修正,而该修正又有可能会影响其他相关用例,导致出现新的编译/预处理报错,导致调优工作时间较长,进而导致整体测试效率较低的问题。

在其中一个实施例中,如图5所示,提供了一种测试方法,该方法包括以下步骤:

步骤501、基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果。

步骤502、基于nohup方法将该编译结果定向输出至该目标文件中。

步骤503、基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误。

步骤504、在该编译结果存在错误的情况下,从该编译结果中确定各个错误所共有的错误特征。

步骤505、基于该编译结果中各个错误所共有的错误特征,对该第一配置文件进行调整处理。

步骤506、并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止。

步骤507、基于编译结果不存在错误时使用的第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果。

步骤508、基于nohup方法将该预处理结果定向输出至该目标文件中。

步骤509、基于错误关键字对该目标文件进行检索处理,以确定该预处理结果是否存在错误。

步骤510、在该编译结果存在错误的情况下,从该预处理结果中确定各个错误所共有的错误特征。

步骤511、基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件进行调整处理。

步骤512、并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止。

需要说明的是,本申请发明人对该方法进行了实际操作并得到了相关数据结果,本申请发明人使用同一服务器,并且在相同的测试环境下,采用传统的顺序编译和预处理的方法耗时1931秒,而采用本申请提供的方法,耗时可以缩短到481秒(实际时间受配置文件内容和测试机配置影响),仅为原耗时的1/4,从耗时上看,该发明提供的方法可以有效的提高SPEC CPU测试效率。

需要说明的是,本申请提供的提高测试效率的测试方法还可用于SPEC CPU的base测试、peak测试以及SPEC CPU的单核性能测试。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的测试方法的测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试装置实施例中的具体限定可以参见上文中对于测试方法的限定,在此不再赘述。

在一个实施例中,如图6所示,提供了一种测试装置600,包括:第一执行模块601,第二执行模块602以及配置模块603,其中:

第一执行模块,用于基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果;

第二执行模块,用于基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果;

配置模块,用于基于该预处理结果得到第三配置文件,并基于该第三配置文件对该目标性能测试工具进行测试配置。

在一个实施例中,该第二执行模块,具体用于:从该编译结果中确定各个错误所共有的错误特征;基于该编译结果中各个错误所共有的错误特征,对该第一配置文件执行调整处理,并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止,将编译结果不存在错误时使用的配置文件作为该第二配置文件。

在一个实施例中,该配置模块模块,具体用于:从该预处理结果中确定各个错误所共有的错误特征;基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件执行调整处理,并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止,将预处理结果不存在错误时使用的配置文件作为该第三配置文件。

在一个实施例中,该错误特征包括编译语言特征、编译选项特征以及用例类型特征中的至少一种。

在一个实施例中,如图7所示,提供了另一种测试装置700,该测试装置700除了包括测试装置600包括的各模块外,还包括确定模块704。

在一个实施例中,该确定模块,用于:将该编译结果和该预处理结果均输出至目标文件中;基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误。

在一个实施例中,该确定模块,具体用于:基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中。

上述测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试方法。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果;基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果;基于该预处理结果得到第三配置文件。

在其中一个实施例中,基于该编译结果得到第二配置文件,处理器执行计算机程序时还实现以下步骤:从该编译结果中确定各个错误所共有的错误特征;基于该编译结果中各个错误所共有的错误特征,对该第一配置文件执行调整处理,并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止,将编译结果不存在错误时使用的配置文件作为该第二配置文件。

在其中一个实施例中,基于该预处理结果得到第三配置文件,处理器执行计算机程序时还实现以下步骤:从该预处理结果中确定各个错误所共有的错误特征;基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件执行调整处理,并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止,将预处理结果不存在错误时使用的配置文件作为该第三配置文件。

在其中一个实施例中,该错误特征包括编译语言特征、编译选项特征以及用例类型特征中的至少一种。

在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:将该编译结果和该预处理结果均输出至目标文件中;基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误。

在其中一个实施例中,将该编译结果和该预处理结果均输出至目标文件中,处理器执行计算机程序时还实现以下步骤:基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果;基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果;基于该预处理结果得到第三配置文件。

在其中一个实施例中,基于该编译结果得到第二配置文件,计算机程序被处理器执行时还实现以下步骤:从该编译结果中确定各个错误所共有的错误特征;基于该编译结果中各个错误所共有的错误特征,对该第一配置文件执行调整处理,并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止,将编译结果不存在错误时使用的配置文件作为该第二配置文件。

在其中一个实施例中,基于该预处理结果得到第三配置文件,计算机程序被处理器执行时还实现以下步骤::从该预处理结果中确定各个错误所共有的错误特征;基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件执行调整处理,并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止,将预处理结果不存在错误时使用的配置文件作为该第三配置文件。

在其中一个实施例中,该错误特征包括编译语言特征、编译选项特征以及用例类型特征中的至少一种。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:将该编译结果和该预处理结果均输出至目标文件中;基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误。

在其中一个实施例中,将该编译结果和该预处理结果均输出至目标文件中,计算机程序被处理器执行时还实现以下步骤:基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

基于第一配置文件对目标性能测试工具包括的多个用例执行并行编译处理,以得到编译结果;基于该编译结果得到第二配置文件,并利用该第二配置文件对该多个用例执行并行预处理处理,以得到预处理结果;基于该预处理结果得到第三配置文件。

在其中一个实施例中,基于该编译结果得到第二配置文件,计算机程序被处理器执行时还实现以下步骤:从该编译结果中确定各个错误所共有的错误特征;基于该编译结果中各个错误所共有的错误特征,对该第一配置文件执行调整处理,并基于调整处理后的第一配置文件返回执行该并行编译处理,直至得到的编译结果不存在错误为止,将编译结果不存在错误时使用的配置文件作为该第二配置文件。

在其中一个实施例中,基于该预处理结果得到第三配置文件,计算机程序被处理器执行时还实现以下步骤::从该预处理结果中确定各个错误所共有的错误特征;基于该预处理结果中各个错误所共有的错误特征,对该第二配置文件执行调整处理,并基于调整处理后的第二配置文件返回执行该并行编译处理,直至得到的预处理结果不存在错误为止,将预处理结果不存在错误时使用的配置文件作为该第三配置文件。

在其中一个实施例中,该错误特征包括编译语言特征、编译选项特征以及用例类型特征中的至少一种。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:将该编译结果和该预处理结果均输出至目标文件中;基于错误关键字对该目标文件进行检索处理,以确定该编译结果是否存在错误以及该预处理结果是否存在错误。

在其中一个实施例中,将该编译结果和该预处理结果均输出至目标文件中,计算机程序被处理器执行时还实现以下步骤:基于nohup方法将该编译结果和该预处理结果重定向至该目标文件中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 打印程序测试方法、装置、计算机设备和存储介质
  • 测试方法、装置、计算机可读存储介质和计算机设备
  • 一种应用程序的测试方法、装置、电子设备及存储介质
  • 软件测试方法、装置、计算机设备和可读存储介质
  • 分组测试方法、装置、计算机设备及存储介质
  • 业务测试方法、计算机设备、存储介质和计算机程序产品
  • 测试方法、装置、计算机设备、存储介质和程序产品
技术分类

06120115867882