测试方法、装置、系统、设备及介质与流程

文档序号:23628656发布日期:2021-01-12 10:42阅读:74来源:国知局
测试方法、装置、系统、设备及介质与流程

本申请属于测试技术领域,尤其涉及一种测试方法、装置、系统、设备及介质。



背景技术:

在将设备(如,处理器)投入使用前,通常需要对该设备进行测试,以找到该设备中存在的问题,从而及时对该设备中存在的问题进行改正。

相关技术中,需要提高对设备进行测试的测试效率。



技术实现要素:

本申请实施例提供了测试方法、装置、系统、设备及介质,旨在解决相关技术中对设备进行测试的测试效率不够高的问题。

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

获取配置文件;

解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备,场景配置参数集用于从n个场景中选取第i个场景,其中,1≤i≤n;

接收待测设备基于场景配置参数集进行测试的测试结果,以及接收参考设备基于场景配置参数集进行测试的测试结果;

根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态。

进一步地,获取配置文件包括以下任意一项或多项:

根据预设的配置文件生成步骤生成配置文件;

接收用户输入的配置文件;

从预设存储区域提取配置文件。

进一步地,根据预设的配置文件生成步骤生成配置文件,包括:

获取预先设定的场景配置参数集,给场景配置参数集中的各场景配置参数分配取值,其中,场景配置参数的不同取值对应不同场景;

根据场景配置参数集中的各场景配置参数及相应场景配置参数的取值,生成配置文件。

进一步地,根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态,包括:

若待测设备的测试结果与参考设备的测试结果的差值大于预设差距阈值,则确定待测设备在第i个场景下的设备状态为异常状态。

进一步地,获取配置文件包括:

当满足测试条件时,根据预设的配置文件生成步骤生成配置文件。

进一步地,测试条件包括以下任意一项或多项:

接收到用户输入的测试启动信息;

接收到测试结果且当前生成配置文件的次数小于预设次数阈值;

接收到测试结果且当前用于测试的总测试时长小于预设时长阈值。

进一步地,方法还包括:

若待测设备在第i个场景下的设备状态为异常状态,则存储配置文件。

进一步地,配置文件的格式为json格式。

第二方面,本申请实施例提供了一种测试系统,该系统包括:测试服务器、待测设备和参考设备,其中,

测试服务器,用于获取配置文件;解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备,场景配置参数集用于从n个场景中选取第i个场景,其中,1≤i≤n;

待测设备,用于基于场景配置参数集进行测试,以及将测试结果向测试服务器发送;

参考设备,用于基于场景配置参数集进行测试,以及将测试结果向测试服务器发送;

测试服务器,还用于接收待测设备基于场景配置参数集进行测试的测试结果,以及接收参考设备基于场景配置参数集进行测试的测试结果;根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态。

进一步地,系统还包括硬件解析设备,硬件解析设备分别与测试服务器和待测设备通信连接;以及

测试服务器中,解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备,包括:

通过预设解析程序对配置文件进行解析,以及将解析得到的场景配置参数集发送至参考设备:

向通信连接的硬件解析设备发送配置文件,使得硬件解析设备对配置文件进行解析、将解析得到的场景配置参数集封装成指令程序以及将指令程序形式的场景配置参数集发送至待测设备。

进一步地,待测设备包括程序存储器、控制单元、外部输入数据直接存储访问器、外部输出数据直接存储访问器、双倍速率同步动态随机存储器、多路数据选择器和数据存储器;以及

若发送至待测设备的场景配置参数集为指令程序形式的场景配置参数集,且场景配置参数集包括用于指示读出数据或写入数据的第一参数、用于指示源地址信息的第二参数和用于指示目标地址信息的第三参数,则待测设备中,基于场景配置参数集进行测试,包括:

程序存储器接收以及存储指令程序;

控制单元从程序存储器中读取指令程序,若第一参数指示写入数据,则将指令程序发送至外部输入数据直接存储访问器;若第一参数指示读出数据,则将指令程序发送至外部输出数据直接存储访问器;

外部输入数据直接存储访问器根据接收到的指令程序对应的源地址信息和目标地址信息,将双倍速率同步动态随机存储器中与源地址信息对应地址处的数据通过多路数据选择器存储至数据存储器中与目标地址信息对应的地址处;

数据存储器将存入的数据以及被存入数据的地址发送至测试服务器;

外部输出数据直接存储访问器根据接收到的指令程序对应的源地址信息和目标地址信息,将数据存储器中与源地址信息对应地址处的数据通过多路数据选择器存储至双倍速率同步动态随机存储器中与目标地址信息对应的地址处;

双倍速率同步动态随机存储器将存入的数据以及被存入数据的地址发送至测试服务器。

第三方面,本申请实施例提供了一种测试装置,该装置包括:

文件获取单元,用于获取配置文件;

文件解析单元,用于解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备,场景配置参数集用于从n个场景中选取第i个场景,其中,1≤i≤n;

结果接收单元,用于接收待测设备基于场景配置参数集进行测试的测试结果,以及接收参考设备基于场景配置参数集进行测试的测试结果;

异常判断单元,用于根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态。

第四方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述测试方法的步骤。

第五方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述测试方法的步骤。

第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项的测试方法。

本申请实施例的有益效果是:通过场景配置参数集选取场景,可以使得对场景的选取变得简单且易于实现。可以实现方便快捷地选取到用于对待测设备进行测试的场景,从而加快测试速度,有助于提高对待测设备进行测试的测试效率。

可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的测试方法的流程示意图;

图2是本申请另一实施例提供的测试方法的流程示意图;

图3是本申请一实施例提供的测试系统的示意图;

图4是本申请一实施例提供的待测设备基于场景配置参数集进行测试的流程示意图;

图5是本申请另一实施例提供的测试系统的示意图;

图6是本申请一实施例提供的测试装置的结构示意图;

图7是本申请一实施例提供的电子设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

本申请实施例提供的测试方法,可以应用于测试服务器。上述测试服务器可以是硬件也可以是软件。当测试服务器为硬件时,可以实现成提供测试服务的分布式服务器集群,也可以实现成单个服务器。当测试服务器为软件时,可以安装在上述所列举的服务器中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。

为了说明本申请的技术方案,下面通过以下实施例来进行说明。

实施例一

请参阅图1,本申请实施例提供一种测试方法,包括:

步骤101,获取配置文件。

其中,配置文件通常是指对测试的参数进行配置的文件。

在本实施例中,上述测试方法的执行主体可以为测试服务器。上述执行主体可以通过多种方式获取配置文件。例如,上述执行主体可以通过从设定设备(如,u盘)中读取数据的方式来获取配置文件。再例如,上述执行主体也可以通过直接获取用户输入信息的方式来获取配置文件。

步骤102,解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备。

其中,场景配置参数集用于从n个场景中选取第i个场景。其中,1≤i≤n。

其中,场景配置参数集中的场景配置参数可以为用于对场景进行描述的各种参数。如,场景配置参数可以为用于描述读取数据的起始地址的参数,也可以为用于描述读取数据的终止地址的参数。还可以为用于描述读取数据的方式的参数。场景配置参数集中的每个场景配置参数可以描述场景的一部分,且场景配置参数集中的所有场景配置参数的组合可以描述一个完整的场景。

实际应用中,场景配置参数集中的场景配置参数可以包括但不限于:用于描述数据格式的参数、用于描述数据存储器的起始地址的参数、用于描述数据存储器的结束地址的参数、用于描述双倍速率同步动态随机存储器的地址的参数等。其中,用于描述数据格式的参数的取值可以为1、2、3。作为示例,若用于描述数据格式的参数的取值为1,可以用于指示数据格式为16位的数据。若用于描述数据格式的参数的取值为2,可以用于指示数据格式为8位的数据。用于描述数据存储器的起始地址的参数的取值可以为0~100000。用于描述数据存储器的结束地址的参数的取值可以为0~100000。用于描述双倍速率同步动态随机存储器的地址的参数的取值可以为0~100000。

上述场景通常是指模拟出的对设备进行应用时的场景。如,上述场景可以为:将设备中的甲存储单元的a地址中数据写入乙存储单元的b地址。上述场景也可以为:将设备中的乙存储单元的b地址中数据写入甲存储单元的a地址。上述场景还可以为:将设备中的甲存储单元中以a1地址为起始地址且以a2地址为结束地址中的数据,写入乙存储单元中以b1地址为起始地址的连续的多个地址中。

其中,上述待测设备可以是需要测试的各种设备,如,智能手机、台式计算机等。需要指出的是,上述待测设备可以是硬件也可以是软件。

实践中,上述待测设备可以为神经网络处理器(neuralnetworkprocessornnp)。神经网络处理器通常是采用神经网络方法对数据进行处理的处理器。神经网络处理器可以为硬件也可以为软件。作为示例,当神经网络处理器为硬件时,其可以实现成芯片。作为另一示例,当神经网络处理器为软件时,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。

其中,上述参考设备通常是用作测试对照的设备。需要指出的是,上述参考设备可以是硬件也可以是软件。实践中,上述参考设备通常是测试服务器预先构建的与待测设备结构相同或相近的软件设备。

这里,给待测设备和参考设备配置相同的配置参数,可以使得待测设备和参考设备具有完全相同的测试输入。这样,上述执行主体可以通过比较二者的测试输出,及时准确地捕捉到待测设备可能存在的问题,有助于提高测试准确率。

在本实施例中,由于配置文件通常具有一定的格式,因此,上述执行主体可以按照配置文件的格式对配置文件进行解析,从而得到配置文件中的场景配置参数,解析得到的所有场景配置参数的集合,即为上述场景配置参数集。在得到场景配置参数集后,上述执行主体可以通过有线连接方式或者无线连接方式,将所得到的场景配置参数集发送给待测设备和参考设备。这样,上述待测设备和上述参考设备可以各自基于场景配置参数集进行测试。

上述待测设备通常可以将各场景配置参数的参数值分别赋值给待测设备中的相应运行参数,使得待测设备进行运行测试,从而实现对待测设备进行测试。

同理地,上述参考设备通常可以将各场景配置参数的参数值分别赋值给参考设备中的相应运行参数,使得参考设备进行运行测试,从而实现对参考设备进行测试。

需要指出的是,本实施例对待测设备和参考设备进行测试的具体过程,不做具体限定。

步骤103,接收待测设备基于场景配置参数集进行测试的测试结果,以及接收参考设备基于场景配置参数集进行测试的测试结果。

在本实施例中,上述执行主体可以通过有线连接方式或者无线连接方式接收到待测设备的测试结果,以及接收到参考设备的测试结果。

步骤104,根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态。

其中,上述设备状态通常是用于指示待测设备是否存在异常的状态。上述设备状态可以包括正常状态和异常状态。

在本实施例中,上述执行主体可以将待测设备的测试结果与参考设备的测试结果进行比较,通过二者比较的结果确定待测设备的设备状态。作为示例,上述执行主体可以在待测设备的测试结果与参考设备的测试结果相同时,认为待测设备当前不存在异常,设备状态为正常状态。反之,若待测设备的测试结果与参考设备的测试结果不相同,则认为待测设备当前存在异常,设备状态为异常状态。

在本实施例中,在场景配置参数集所选取的场景为第i个场景时,可以实现测试待测设备在第i个场景下是否存在异常。以场景为单位对待测设备进行测试,有助于及时准确地发现待测设备针对某个或某几个特定场景所表现的异常,从而有针对性对待测设备进行问题解决。有助于提高对待测设备进行测试的整体测试效率。

在本实施例中,通过场景配置参数集选取场景,可以使得对场景的选取变得简单且易于实现。可以实现方便快捷地选取到用于对待测设备进行测试的场景,从而加快测试速度,有助于提高对待测设备进行测试的测试效率。另外,采用参考设备作为待测设备的测试对照,通过给待测设备和参考设备配置相同的配置参数,使得待测设备和参考设备具有完全相同的测试输入。参考设备和待测设备在相同的测试环境下进行测试,可以实现通过比较二者的测试输出,及时准确地捕捉到待测设备可能存在的问题,有助于提高测试准确率。

在本实施例的一些可选的实现方式中,上述获取配置文件可以通过以下任意一种或多种方式实现:

其一、根据预设的配置文件生成步骤生成配置文件。

其二、接收用户输入的配置文件。

其三、从预设存储区域提取配置文件。

其中,上述预设存储区域可以是测试服务器本地,也可以是与测试服务器通信连接的存储设备。

本实现方式中,上述执行主体可以通过三种可选的方式实现获取到配置文件。具体地,上述执行主体可以通过自行生成配置文件的方式获取到配置文件。上述执行主体也可以通过接收用户输入的配置文件的方式获取到配置文件。上述执行主体还可以通过从预设存储区域提取配置文件的方式获取到配置文件。

需要指出的是,若通过自行生成配置文件的方式获取到配置文件,则上述执行主体可以采用预设的配置文件生成步骤,生成配置文件。上述预设的配置文件生成步骤可以是预先设定的用于生成配置文件的各种步骤。作为示例,上述预设的配置文件生成步骤可以包括:首先,给预先设定的场景配置参数集中的场景配置参数分配参数值。然后,将所有场景配置参数和场景配置参数的参数值编译成文本。最后,将编译得到的文本作为配置文件。作为另一示例,上述预设的配置文件生成步骤也可以包括:首先,给预先设定的场景配置参数集中的场景配置参数分配参数值。然后,将所有场景配置参数和场景配置参数的参数值编译成文本。之后,将编译得到的文本进一步编译成json文件。最后,将所得到的json文件作为配置文件。

本实现方式中的测试方法,可以支持多种获取配置文件的方式,更加灵活实用。实践中,通过接收用户输入的配置文件的方式或者通过从预设存储区域提取配置文件的方式所获取到的配置文件,通常是用户关注的配置文件。采用用户关注的配置文件进行测试,可以实现有针对性地测试,有助于提高测试效率。另外,通过自行生成配置文件的方式获取到的配置文件,具有一般代表性,且不需要人工干预,可以加快测试速度,节约测试时间。因此,针对某一待测设备的测试,若先后采用上述三种方式中的多种方式获取配置文件用于对该待测设备进行测试,有助于从整体上提高对该待测设备进行测试的测试效率。

在本申请的各个实施例的可选的实现方式中,上述根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态,包括:

若待测设备的测试结果与参考设备的测试结果的差值大于预设差距阈值,则确定待测设备在第i个场景下的设备状态为异常状态。

其中,上述差距阈值可以是预先设定的用于描述差距的数值。作为示例,上述差距阈值可以为0.1,0.6等。

这里,上述执行主体可以将两个设备分别对应的测试结果的差值与差距阈值进行比较,若上述差值大于差距阈值,则可以认为上述待测设备当前存在异常。反之,若上述差值小于或等于差距阈值,则可以认为上述待测设备当前不存在异常,即,上述待测设备当前正常。本实现方式引入差距阈值,将两个设备分别对应的测试结果的差值与差距阈值进行比较,可以避免由于测试精度范围内的误差导致的误判,可以在保证及时准确地捕捉到待测设备可能存在的问题的情况下节约测试时间,有助于进一步提高测试效率。

在本申请的各个实施例的可选的实现方式中,上述测试方法还可以包括如下步骤:若待测设备在第i个场景下的设备状态为异常状态,则存储配置文件。

这里,在待测设备当前存在异常时,上述执行主体可以存储当前的配置文件。这样,在对该待测设备进行改进后,上述执行主体可以继续采用该配置文件进行重新测试。可以实现有针对性地测试,有助于进一步提高测试效率。

在本申请的各个实施例的可选的实现方式中,配置文件的格式为json格式。

其中,json(javascriptobjectnotation)是一种轻量级的数据交换格式,易于阅读与编写,同时也易于机器解析和生成。这里,由于json格式的文件易于解析和生成,因此,本实现方式中的配置文件为json格式,可以进一步提高对配置文件进行解析的正确率,有助于进一步提高对待测设备进行测试的测试效率。

实施例二

本申请实施例提供一种测试方法,本实施例是对实施例一的进一步说明,与实施例一相同或相似的地方,具体可参见实施例一的相关描述,此处不再赘述。请参阅图2,本实施例中的测试方法,包括:

步骤201,根据预设的配置文件生成步骤生成配置文件。

在本实施例中,可以通过生成配置文件的方式获取配置文件。此时,上述执行主体可以通过执行步骤2011-2012生成配置文件。

步骤2011,获取预先设定的场景配置参数集,给场景配置参数集中的各场景配置参数分配取值。

其中,场景配置参数的不同取值对应不同场景。

其中,场景配置参数集中的场景配置参数可以为用于对场景进行描述的各种参数。如,场景配置参数可以为用于描述读取数据的起始地址的参数,也可以为用于描述读取数据的终止地址的参数。还可以为用于描述读取数据的方式的参数。场景配置参数集中的每个场景配置参数可以描述场景的一部分,且场景配置参数集中的所有场景配置参数的组合可以描述一个完整的场景。

实际应用中,场景配置参数集中的场景配置参数可以包括但不限于:用于描述数据格式的参数、用于描述数据存储器的起始地址的参数、用于描述数据存储器的结束地址的参数、用于描述双倍速率同步动态随机存储器的地址的参数等。其中,用于描述数据格式的参数的取值可以为1、2、3。作为示例,若用于描述数据格式的参数的取值为1,可以用于指示数据格式为16位的数据。若用于描述数据格式的参数的取值为2,可以用于指示数据格式为8位的数据。用于描述数据存储器的起始地址的参数的取值可以为0~100000。用于描述数据存储器的结束地址的参数的取值可以为0~100000。用于描述双倍速率同步动态随机存储器的地址的参数的取值可以为0~100000。

在本实施例中,上述执行主体可以预先设定多个场景配置参数以及设定各场景配置参数的取值范围。实践中,预先设定的场景配置参数通常为变量。这样,可以通过给各变量赋值的方式实现给每个场景配置参数分配取值。本实施例中,上述执行主体可以按照预先设定的分配方式给每个场景配置参数分配取值。其中,上述分配方式可以是预先设定的分配方式。作为一个示例,上述分配方式可以是随机分配。作为另一示例,上述分配方式也可以是按照取值递增分配。举例来说,若上一次给某场景配置参数分配的取值为1,则这一次给该场景配置参数分配的取值可以为2。

实践中,由于设备在真实使用时所面对的情况通常是随机的,因此,为了测试设备的通用性和稳定性,上述分配方式通常为随机分配。

步骤2012,根据场景配置参数集中的各场景配置参数及相应场景配置参数的取值,生成配置文件。

作为示例,上述执行主体可以通过如下方式生成配置文件:直接将场景配置参数和场景配置参数的取值,按照键值对的方式编译成文本。然后,将编译得到的文本作为配置文件。进一步举例来说,若场景配置参数集中有两个场景配置参数,分别为参数1和参数2。若参数1的取值为10,参数2的取值为20。则将场景配置参数和场景配置参数的取值,按照键值对的方式编译成文本,可以得到的文本为{(参数1,10),(参数2,20)}。

作为另一示例,上述执行主体还可以通过如下方式实现生成配置文件:首先,将场景配置参数和场景配置参数的取值,按照键值对的方式编译成文本。然后,采用脚本语言(如,python)将编译得到的文本编译成json格式文件。最后,将所得到的json格式文件作为配置文件。

步骤202,解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备。

其中,场景配置参数集用于从n个场景中选取第i个场景,其中,1≤i≤n。

步骤203,接收待测设备基于场景配置参数集进行测试的测试结果,以及接收参考设备基于场景配置参数集进行测试的测试结果。

步骤204,根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态。

其中,上述设备状态通常是用于指示待测设备是否存在异常的状态。上述设备状态可以包括正常状态和异常状态。

在本实施例中,步骤202-204的具体操作与图1所示的实施例中步骤102-104的操作基本相同,在此不再赘述。

在本实施例中,通过给场景配置参数集中各场景配置参数分配取值,可以实现待测设备和参考设备在所选取的场景下进行测试。需要指出的是,本实施例可以通过改变场景配置参数的取值的方式,切换待测设备和参考设备的测试场景,操作简单易于实现,有助于提高测试效率。

需要指出的是,由于待测设备在真实使用情况下,通常需要处理不同的场景以及需要在不同的场景中进行切换,因此,本实施例通过改变场景配置参数的取值的方式,切换待测设备和参考设备的测试场景,可以有效测试待测设备针对场景变化情况下的稳定性,有助于实现对待测设备进行充分测试。

在本实施例的一些可选的实现方式中,当满足测试条件时,根据预设的配置文件生成步骤生成配置文件。

其中,上述测试条件可以是预先设定的各种条件。

本实现方式中,只有在当前情形满足测试条件的情况下,才执行生成配置文件。可以实现只在满足测试条件情形才执行生成配置文件。可以减少不必要的计算资源的损耗,有助于节约计算资源。

可选地,上述测试条件可以包括以下任意一项或多项:

条件一,接收到用户输入的测试启动信息。

其中,上述测试启动信息可以是用于指示启动测试的信息。作为示例,上述测试启动信息可以为“open”,也可以为“启动”。本申请对测试启动信息的具体形式不做具体限定。

条件二,接收到测试结果且当前生成配置文件的次数小于预设次数阈值。

其中,上述次数阈值可以是预先设定的用于描述次数的数值。如,20次。

条件三,收到测试结果且当前用于测试的总测试时长小于预设时长阈值。

其中,上述时长阈值可以是预先设定的用于描述时间长度的数值。如,2小时。

实践中,若接收到测试结果则通常表明当前测试结束。此时,上述执行主体可以依据测试条件判断当前是否需要继续进行测试,若需要,则执行生成配置文件步骤。本实现方式可以实现自动测试,有助于节约测试时间,提高测试效率。另外,在自动测试的过程中,可以通过改变场景配置参数的取值的方式,切换待测设备和参考设备的测试场景,可以有效测试待测设备针对场景变化情况下的稳定性,有助于实现对待测设备进行充分测试。

实施例三

继续参考图3,为本申请实施例提供的测试系统的结构示意图。如图3所示地,测试系统可以包括测试服务器301、待测设备302和参考设备303。其中,

测试服务器301,用于获取配置文件;解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备,场景配置参数集用于从n个场景中选取第i个场景,其中,1≤i≤n;

待测设备302,用于基于场景配置参数集进行测试,以及将测试结果向测试服务器发送;

参考设备303,用于基于场景配置参数集进行测试,以及将测试结果向测试服务器发送;

测试服务器304,还用于接收待测设备基于场景配置参数集进行测试的测试结果,以及接收参考设备基于场景配置参数集进行测试的测试结果;根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态。

本实施例提供的系统,通过场景配置参数集选取场景,可以使得对场景的选取变得简单且易于实现。可以实现方便快捷地选取到用于对待测设备进行测试的场景,从而加快测试速度,有助于提高对待测设备进行测试的测试效率。

需要说明的是,上述测试服务器、待测设备和参考设备之间的信息交互、执行过程等内容,由于与本申请的方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

在本实施例的一些可选的实现方式中,系统还包括硬件解析设备,其中,硬件解析设备分别与测试服务器和待测设备通信连接。此时,测试服务器中,解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备,可以包括如下步骤一和步骤二。

步骤一,通过预设解析程序对配置文件进行解析,以及将解析得到的场景配置参数集发送至参考设备。

其中,上述预设解析程序可以是预先设定的用于对配置文件进行解析的程序。

这里,测试服务器可以直接采用自身存储的预设解析程序对配置文件进行解析,以得到配置文件中的场景配置参数集。然后,将解析得到的场景配置参数集发送至参考设备。以使得参考设备可以基于场景配置参数集进行测试。

步骤二,向通信连接的硬件解析设备发送配置文件,使得硬件解析设备对配置文件进行解析、将解析得到的场景配置参数集封装成指令程序以及将指令程序形式的场景配置参数集发送至待测设备。

其中,上述硬件解析设备通常是用于对配置文件进行解析的硬件设备。作为示例,上述硬件解析设备可以为用于对json格式的配置文件进行解析的json解析器。

这里,测试服务器可以将配置文件发送至硬件解析设备。这样,硬件解析设备可以对配置文件进行解析,以得到配置文件中的场景配置参数集。然后,将解析得到的场景配置参数集封装成指令程序。最后,将指令程序发送至待测设备。实践中,硬件解析设备可以通过将场景配置参数集中各场景配置参数写入预设模板,实现将场景配置参数集封装成指令程序。其中,上述预设模板可以是预先设定的文件模板,该文件模板中可以包括多个变量。硬件解析设备可以将场景配置参数集中各场景配置参数分别赋值给该文件模板的各变量,实现将场景配置参数集封装成指令程序。实际应用中,指令程序通常可以实现成便于机器读取的二进制文件。

本实现方式中,测试服务器通过软件解析方式对配置文件进行解析,以及将解析得到的场景配置参数集发送给参考设备,以使得参考设备可以基于软件解析得到的场景配置参数集进行测试。另外,测试服务器通过硬件解析设备对配置文件进行解析,以及通过硬件解析设备将解析得到的场景配置参数集以指令程序的形式发送至待测设备,以使得待测设备可以基于指令程序形式的场景配置参数集进行测试。采用不同的解析方式对同一配置文件进行解析,通常可以得到相同的解析结果。

本实现方式中,测试服务器将配置文件发送至硬件解析设备进行解析,以实现通过硬件解析设备将指令程序形式的场景配置参数集发送至待测设备,可以减少测试服务器的计算量,从而加快对待测设备的测试速度,有助于提高测试效率。另外,若测试服务器所确定的待测设备的设备状态总是为异常状态,则极有可能是硬件解析设备出现问题。因此,本实现方式有助于实现在保障测试准确率的同时及时发现硬件解析设备存在的问题。

在本实施例的一些可选的实现方式中,待测设备可以包括程序存储器(programmemory,pm)、控制单元(controlunit,cu)、外部输入数据直接存储访问器(externalinputdatadirectmemoryaccess,eidma)、外部输出数据直接存储访问器(externaloutputdatadirectmemoryaccess,eodma)、双倍速率同步动态随机存储器(doubledataratesynchronousdynamicrandomaccessmemory,ddr)、多路数据选择器(crossbar,xbar)和数据存储器(datamemory,dm)。

若发送至待测设备的场景配置参数集为指令程序形式的场景配置参数集,且场景配置参数集包括用于指示读出数据或写入数据的第一参数、用于指示源地址信息的第二参数和用于指示目标地址信息的第三参数。其中,上述第一参数可以用于指示读出数据或写入数据。作为示例,第一参数的取值可以为“1”,用于指示读出数据,也可以为“2”,用于指示写入数据。

此时,待测设备中,基于场景配置参数集进行测试,可以包括步骤401-406。

图4是本申请实施例提供的待测设备基于场景配置参数集进行测试的流程示意图。

步骤401,pm接收以及存储指令程序。

步骤402,cu从pm中读取指令程序,若第一参数指示写入数据,则将指令程序发送至eidma;若第一参数指示读出数据,则将指令程序发送至eodma。

步骤403,eidma根据接收到的指令程序对应的源地址信息和目标地址信息,将ddr中与源地址信息对应地址处的数据通过xbar存储至dm中与目标地址信息对应的地址处。

其中,xbar的作用是提供多个数据通道,可以实现多路数据的并行存取,有助于提高数据的快速存取。

步骤404,dm将存入的数据以及被存入数据的地址发送至测试服务器。

举例来说,若dm中的地址甲中存入了数据100。则可以将数据100和地址甲发送至测试服务器。如,dm发送至测试服务器的内容可以为:地址甲中的数据为100。

步骤405,eodma根据接收到的指令程序对应的源地址信息和目标地址信息,将dm中与源地址信息对应地址处的数据通过xbar存储至ddr中与目标地址信息对应的地址处。

步骤406,ddr将存入的数据以及被存入数据的地址发送至测试服务器。

需要指出的是,场景配置参数集包括用于指示读出数据或写入数据的第一参数、用于指示源地址信息的第二参数和用于指示目标地址信息的第三参数。实际应用中,场景配置参数集还可以包括其他参数,如,还可以包括用于描述读取方式的参数。作为示例,读取方式可以为以源地址信息对应的地址为起始地址,顺次读取5个字节的数据。读取方式也可以为以源地址信息对应的地址为起始地址,每间隔1个字节读取一个数据直至读取到5个字节的数据。

本实现方式中,可以比较待测设备的存储器中发生变化的地址,是否与参考设备的存储器中发生变化的地址相同。也可以进一步比较待测设备中发生数据变化的地址中的数据,是否与参考设备中发生数据变化的地址中的数据相同。若上述二者皆相同,则可以认为待测设备的存储器不存在异常。反之,若上述二者存在一者不同或二者皆不同,则可以认为待测设备的存储器存在异常。本实现方式可以及时准确地捕捉到待测设备的存储器可能存在的问题,有助于提高测试准确率。

实施例四

继续参考图5,为本申请实施例提供的测试系统的结构示意图。如图5所示地,测试服务器可以直接得到json文件,也可以通过随机配置生成随机json文件。这里,json文件为上述配置文件。测试服务器可以通过多种方式得到配置文件。所得到的配置文件中包括场景配置参数集。场景配置参数集可以包括用于指示读出数据或写入数据的第一参数、用于指示源地址信息的第二参数和用于指示目标地址信息的第三参数。

测试服务器可以采用json解析程序对json文件进行软件解析,得到场景配置参数集以及将场景配置参数集传输至参考设备,使得参考设备基于软件解析得到的场景配置参数集进行测试。这里,参考设备为测试服务器预先构建的与待测设备结构相同或相近的软件设备。

参考设备可以将测试结果写入测试服务器的计分板。

测试服务器可以将json文件发送至通信连接的硬件json解析器。这里,硬件json解析器为上述硬件解析设备。

硬件json解析器对json文件进行解析,以得到二进制文件。这里,硬件json解析器对json文件解析得到场景配置参数集。然后,将场景配置参数集封装成指令程序。最后,将指令程序形式的场景配置参数集发送至待测设备。所得到的二进制文件为上述指令程序的载体。

硬件json解析器将二进制文件发送至待测设备的pm中。

待测设备包括pm、cu、eidma、eodma、ddr、xbar和dm。其中,pm接收以及存储二进制文件。这里,pm可以得到指令程序。待测设备可以基于二进制文件进行测试。

待测设备基于二进制文件进行测试的过程为:cu从pm中读取指令程序,若第一参数指示写入数据,则将指令程序发送至eidma;若第一参数指示读出数据,则将指令程序发送至eodma。eidma根据接收到的指令程序对应的源地址信息和目标地址信息,将ddr中与源地址信息对应地址处的数据通过xbar存储至dm中与目标地址信息对应的地址处。其中,xbar的作用是提供多个数据通道,可以实现多路数据的并行存取,有助于提高数据的快速存取。dm将存入的数据以及被存入数据的地址发送至测试服务器的监控器。eodma根据接收到的指令程序对应的源地址信息和目标地址信息,将dm中与源地址信息对应地址处的数据通过xbar存储至ddr中与目标地址信息对应的地址处。ddr将存入的数据以及被存入数据的地址发送至测试服务器的监控器。

测试服务器的监控器可以获取待测设备的各部件的数据信息,以及可以将所获取的数据信息记录在计分板上。

测试服务器的计分板用于记录待测设备和参考设备的测试结果,以及针对参考设备和待测设备的测试结果提示待测设备的设备状态。如,若待测设备的测试结果与参考设备的测试结果一致,则计分板可以提示“ok”。

实施例五

对应于上文实施例一的测试方法,图6示出了本申请实施例提供的测试装置600的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图6,该装置包括:

文件获取单元601,用于获取配置文件;

文件解析单元602,用于解析配置文件以得到配置文件中的场景配置参数集,以及将解析得到的场景配置参数集分别发送至待测设备和参考设备,场景配置参数集用于从n个场景中选取第i个场景,其中,1≤i≤n;

结果接收单元603,用于接收待测设备基于场景配置参数集进行测试的测试结果,以及接收参考设备基于场景配置参数集进行测试的测试结果;

异常判断单元604,用于根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态。

在一个实施例中,文件获取单元601中,获取配置文件包括以下任意一项或多项:

根据预设的配置文件生成步骤生成配置文件;

接收用户输入的配置文件;

从预设存储区域提取配置文件。

在一个实施例中,根据预设的配置文件生成步骤生成配置文件,包括:

获取预先设定的场景配置参数集,给场景配置参数集中的各场景配置参数分配取值,其中,场景配置参数的不同取值对应不同场景;

根据场景配置参数集中的各场景配置参数及相应场景配置参数的取值,生成配置文件。

在一个实施例中,异常判断单元604中,根据待测设备的测试结果和参考设备的测试结果,确定待测设备在第i个场景下的设备状态,包括:

若待测设备的测试结果与参考设备的测试结果的差值大于预设差距阈值,则确定待测设备在第i个场景下的设备状态为异常状态。

在一个实施例中,装置还包括执行判断单元,用于:当满足测试条件时,根据预设的配置文件生成步骤生成配置文件。

在一个实施例中,测试条件包括以下任意一项或多项:

接收到用户输入的测试启动信息;

接收到测试结果且当前生成配置文件的次数小于预设次数阈值;

接收到测试结果且当前用于测试的总测试时长小于预设时长阈值。

在一个实施例中,装置还包括文件存储单元,用于:若待测设备在第i个场景下的设备状态为异常状态,则存储配置文件。

本实施例提供的装置,通过场景配置参数集选取场景,可以使得对场景的选取变得简单且易于实现。可以实现方便快捷地选取到用于对待测设备进行测试的场景,从而加快测试速度,有助于提高对待测设备进行测试的测试效率。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请实施例一的方法基于同一构思,其具体功能及带来的技术效果,具体可参见实施例一部分,此处不再赘述。

实施例六

图7为本申请一实施例提供的电子设备700的结构示意图。如图7所示,该实施例的电子设备700包括:至少一个处理器701(图7中仅示出一个处理器)、存储器702以及存储在存储器702中并可在至少一个处理器701上运行的计算机程序703,例如测试程序。处理器701执行计算机程序703时实现上述任意各个方法实施例中的步骤。处理器701执行计算机程序703时实现上述各个测试方法的实施例中的步骤。处理器701执行计算机程序703时实现上述各装置实施例中各模块/单元的功能,例如图6所示单元601至604的功能。

示例性的,计算机程序703可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器702中,并由处理器701执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序703在电子设备700中的执行过程。例如,计算机程序703可以被分割成文件获取单元、文件解析单元、结果接收单元和异常判断单元,各单元具体功能在上述实施例中已有描述,此处不再赘述。

电子设备700可以是服务器、台式电脑、平板电脑、云端服务器和移动终端等计算设备。电子设备700可包括,但不仅限于,处理器701,存储器702。本领域技术人员可以理解,图7仅仅是电子设备700的示例,并不构成对电子设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器701可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器702可以是电子设备700的内部存储单元,例如电子设备700的硬盘或内存。存储器702也可以是电子设备700的外部存储设备,例如电子设备700上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器702还可以既包括电子设备700的内部存储单元也包括外部存储设备。存储器702用于存储计算机程序以及电子设备所需的其他程序和数据。存储器702还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

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

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

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

集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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