发明内容
有鉴于此,本发明提供了一种基于总线通信的测试方法及装置,以克服现有技术中不能熟练运用编程语言的用户,无法配置自动测试设备的总线通信接口,进而无法实现对被测产品的测试的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于总线通信的测试方法,包括:
获取预设的第一配置文件,所述第一配置文件中包含配置属性信息;
将获取的用户输入的待测产品的协议参数,按照所述协议参数中各个参数的属性信息将其配置到所述第一配置文件中的各个配置属性信息中,生成第二配置文件;
根据所述第二配置文件对待测产品进行测试。
优选的,所述协议参数包括:
协议数据结构参数和/或协议相关属性参数;
其中,所述协议数据结构参数包括:
数据类型参数、数据精度参数、数据偏移参数和/或数据块、信号及数据域之间的叠套关系参数;
所述协议相关属性参数包括:
协议类型参数、地址信息参数和/或校验信息参数。
优选的,所述根据所述第二配置文件进行测试的过程包括:
读取所述第二配置文件的协议参数,自动生成对应协议参数的协议栈;
根据所述协议栈将向所述待测产品发送的测试命令数据进行打包,存储至发送队列并将所述测试命令数据发送至所述待测产品;
和/或,根据所述协议栈对接收到的所述待测产品反馈的测试结果数据进行解包,存储至接收队列,并将所述测试结果数据接收至所述测试装置。
优选的,所述根据所述协议栈对发送的数据进行打包的过程,包括:
从所述协议栈中获取协议的数据结构;
根据预先设定的发送标号与协议的数据结构的对应关系,从所述协议的数据结构中匹配与当前发送标号相对应的协议;
将所述协议以数据块的形式读出;
解析所述数据块,获取所述数据块内的信号,并将所述信号生成信号列表;
根据所述信号列表对所述发送的数据进行打包。
优选的,所述根据所述信号列表对所述发送的数据进行打包的过程,包括:
索引所述信号列表,获得待解析信号;
解析所述待解析信号,获得对应的域数据结构;
将所述发送的数据按照所述域数据结构打包成对应的数据帧;
当所述待解析信号对应的域数据结构都有对应的数据帧时,判断全部信号是否索引完毕;
若否,则返回执行所述索引所述信号列表,获取待解析信号的过程,直至全部信号索引完毕。
优选的,所述根据所述协议栈对接收的数据进行解包的过程,包括:
从所述协议栈中获取协议数据结构;
根据预先设定的接收标号与协议的数据结构的对应关系,从所述协议的数据结构中匹配与当前接收标号相对应的协议;
将所述协议以数据块的形式读出;
解析所述数据块,获取所述数据块内的信号,并将所述信号生成信号列表;
根据所述信号列表对所述接收的数据进行解包。
优选的,所述根据所述信号列表对所述接收的数据进行解包的过程,包括:
索引所述信号列表,获得待解析信号;
解析所述待解析信号,获得对应的域数据结构;
根据所述域数据结构,将所述接收的数据解包取出,填充到对应的数据域;
当所述待解析信号对应的所有数据域都填充完毕时,判断全部信号是否索引完毕;
若否,则返回执行所述索引所述信号列表,获得待解析信号的过程,直至全部信号索引完毕。
一种基于总线通信的测试装置,包括:
第一配置文件获取单元,用于获取预设的第一配置文件,所述第一配置文件中包含配置属性信息;
第二配置文件生成单元,用于将获取的用户输入的待测产品的协议参数,按照所述协议参数中各个参数的属性信息将其配置到所述第一配置文件中的各个配置属性信息中,生成第二配置文件;
测试单元,用于根据所述第二配置文件对待测产品进行测试。
优选的,所述测试单元包括:
协议栈生成子单元,用于读取所述第二配置文件的协议参数,自动生成对应协议参数的协议栈;
打包子单元,用于根据所述协议栈将向所述待测产品发送的测试命令数据进行打包,存储至发送队列并将所述测试命令数据发送至所述待测产品;
和/或,解包子单元,用于根据所述协议栈对接收到的所述待测产品反馈的测试结果数据进行解包,存储至接收队列,并将所述测试结果数据接收至所述测试装置。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种基于总线通信的测试方法及装置,首先获取预设的第一配置文件,所述第一配置文件中包含配置属性信息;用户通过输入待测产品的协议参数,按照协议参数中各个参数的属性信息对第一配置文件重新配置,生成第二配置文件,最后根据第二配置文件就能完成对待测产品的测试。通过上述基于总线通信的测试方法,用户无需对编程语言熟练运用,只需通过简单的对协议参数的输入,即能生成不同的配置文件,实现对通信接口协议的配置,最终根据不同的配置文件,实现对不同的被测产品的测试。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由背景技术可知,在现有技术中,大多采用脚本的方式或者替换不同的接口程序,来实现对自动测试设备的总线接口重新配置。然而对于用户来说,必须同时知道编程语言的相关语法以及相关协议参数,将二者融合在一起,生成新的代码,才能重新配置自动测试设备的总线接口。相关协议参数对用户来说并不陌生,但是编程语言的相关语法,用户并不能熟练运用,这种情况下,用户将无法配置自动测试设备的总线接口,进而无法实现对被测产品的测试。
因此,本发明公开了一种基于总线通信的测试方法及装置,首先获取预设的第一配置文件,所述第一配置文件中包含配置属性信息;用户通过输入待测产品的协议参数,按照协议参数中各个参数的属性信息对第一配置文件重新配置,生成第二配置文件,最后根据第二配置文件就能完成对待测产品的测试。通过上述基于总线通信的测试方法,用户无需对编程语言熟练运用,只需通过简单的对协议参数的输入,即能生成不同的配置文件,实现对通信接口协议的配置,最终根据不同的配置文件,实现对不同的被测产品的测试。
有关上述基于总线通信的测试方法的具体流程以及基于总线通信的测试设备的具体结构将通过以下实施例进行详细描述。
实施例一
请参阅附图1,为本发明公开的一种基于总线通信的测试方法的流程图。该基于总线通信的测试方法具体包括以下步骤:
步骤S10:获取预设的第一配置文件,所述第一配置文件中包含配置属性信息。
在测试设备中,预先设置有第一配置文件,该第一配置文件可以为之前针对其他某一测试产品进行设置的,其中包含配置属性信息以及该测试产品的协议参数。这里所说的配置属性信息,规定了测试设备与被测产品之间的总线通信协议的结构框架,此框架适用于以传输数据收发控制指令为目的的通信协议。具体的,该第一配置文件可以采用xml文件,也可以采用其他类型的文件,其规定了测试产品的协议数据结构以及协议相关属性。
在本发明实施例中,配置文件所规定的协议数据结构包含数据类型、数据精度、数据偏移以及数据块、信号和数据域之间的叠套关系。此处需要说明的是,数据块、信号和数据域之间的叠套关系具体为,一个数据块包含多个信号,一个信号包含多个数据域,其中信号是指一种数据结构,在协议中标识一组用于实现特定功能的数据域,数据域分为定点域、布尔域以及枚举域,存储协议的具体数据,用以实现协议中功能与数据的对应。
配置文件所规定的协议相关属性包含协议类型、地址信息以及校验信息。此处需要说明的是,配置文件所规定的协议数据结构是具体协议的内容,而配置文件所规定的协议相关属性是除具体协议内容之外的其他配置。其中,协议类型指的是总线接口的协议类型;针对测试设备来说,地址信息只要标识协议数据的目的地信息;校验信息中包含校验数据地址以及校验数据位数。
步骤S11:将获取的用户输入的待测产品的协议参数,按照所述协议参数中各个参数的属性信息将其配置到所述第一配置文件中的各个配置属性信息中,生成第二配置文件;
一个配置文件仅针对一个被测产品,被测产品更换后,需要更换配置文件,但配置文件中需要标识协议类型,测试设备需要据此来配置选用何种接口程序组件。用户需要更换配置文件时,首先要输入待测产品的协议参数,这里所说的协议参数也可以包含待测产品的协议数据结构参数以及待测产品的协议相关属性参数一种或两种。
在本发明实施例中,用户输入的待测产品的协议数据结构参数包含数据类型参数、数据精度参数、数据偏移参数以及数据块、信号和数据域之间的叠套关系参数中的任意一种或任意组合。
配置文件所规定的协议相关属性参数包含协议类型参数、地址信息参数以及校验信息参数中的任意一种或任意组合。
进一步需要说明的是,用户输入的待测产品的协议参数与之前第一配置文件中包含的配置属性信息中的具体参数并不一定完全相同,针对不同的待测产品,其协议参数是不同的,具体的,不同的被测产品,其协议参数也是被其用户所熟知的。当用户将待测产品的协议参数输入之后,测试装置就能够按照用户输入的协议参数中各个参数的属性信息将其配置到第一配置文件中的各个配置属性信息中,也就是替换第一配置文件中各个配置属性信息中的具体参数,生成第二配置文件,其是针对当前待测设备重新生成的。
步骤S12:根据所述第二配置文件对待测产品进行测试。
针对当前的待测产品,根据第二配置文件就能对其性能进行测试了。
此处需要说明的是,在根据第二配置文件对待测产品进行测试的过程中,应用程序首先会读取第二配置文件,获得协议数据结构参数及协议相关属性参数,并自动生成协议栈,在总线传输测试过程中,接收到的数据经过解包,存储进入接收队列,发送的数据经过打包,存储进入发送队列。
另外,在测试过程中,测试设备的应用程序还能够根据协议相关属性参数进行接收或发送数据的校验以及数据异常错误的处理。
在本实施例中公开的一种基于总线通信的测试方法,首先获取预设的第一配置文件,所述第一配置文件中包含配置属性信息,用户通过输入待测产品的协议参数,按照协议参数中各个参数的属性信息对第一配置文件重新配置,生成第二配置文件,最后,根据第二配置文件就能完成对待测产品的测试。通过上述基于总线通信的测试方法,用户无需对编程语言熟练运用,只需通过简单的对协议参数的输入,即能生成不同的配置文件,实现对通信接口协议的配置,最终根据不同的配置文件,实现对不同的被测产品的测试。
在上述本发明公开的实施例的基础上,本发明还公开了更加具体的测试过程,下面将通过以下实施例进行详细说明。
实施例二
为本发明实施例二公开了另一种基于总线通信的测试方法的流程图。该基于总线通信的测试方法具体包括以下步骤:
步骤S10:获取预设的第一配置文件,所述第一配置文件中包含配置属性信息。
在测试设备中,预先设置有第一配置文件,该第一配置文件可以为之前针对其他某一测试产品进行设置的,其中包含配置属性信息以及该测试产品的协议参数。这里所说的配置属性信息,规定了测试设备与被测产品之间的总线通信协议的结构框架,此框架适用于以传输数据收发控制指令为目的的通信协议。具体的,该第一配置文件可以采用xml文件(请参阅附图2,即为本实施例中给出的一种xml文件格式的配置文件),也可以采用其他类型的文件,其规定了测试产品的协议数据结构以及协议相关属性。
在本发明实施例中,配置文件所规定的协议数据结构包含数据类型、数据精度、数据偏移以及数据块、信号和数据域之间的叠套关系。此处需要说明的是,数据块、信号和数据域之间的叠套关系具体为,一个数据块包含多个信号,一个信号包含多个数据域,其中信号是指一种数据结构,在协议中标识一组用于实现特定功能的数据域,数据域分为定点域、布尔域以及枚举域,存储协议的具体数据,用以实现协议中功能与数据的对应。
配置文件所规定的协议相关属性包含协议类型、地址信息以及校验信息。此处需要说明的是,配置文件所规定的协议数据结构是具体协议的内容,而配置文件所规定的协议相关属性是除具体协议内容之外的其他配置。其中,协议类型指的是总线接口的协议类型;针对测试设备来说,地址信息只要标识协议数据的目的地信息;校验信息中包含校验数据地址以及校验数据位数。
步骤S11:将获取的用户输入的待测产品的协议参数,按照所述协议参数中各个参数的属性信息将其配置到所述第一配置文件中的各个配置属性信息中,生成第二配置文件;
一个配置文件仅针对一个被测产品,被测产品更换后,需要更换配置文件,但配置文件中需要标识协议类型,测试设备需要据此来配置选用何种接口程序组件。用户需要更换配置文件时,首先要输入待测产品的协议参数,这里所说的协议参数也可以包含待测产品的协议数据结构参数以及待测产品的协议相关属性参数一种或两种。
在本发明实施例中,用户输入的待测产品的协议数据结构参数包含数据类型参数、数据精度参数、数据偏移参数以及数据块、信号和数据域之间的叠套关系参数中的任意一种或任意组合。
配置文件所规定的协议相关属性参数包含协议类型参数、地址信息参数以及校验信息参数中的任意一种或任意组合。
进一步需要说明的是,用户输入的待测产品的协议参数与之前第一配置文件中包含的配置属性信息中的具体参数并不一定完全相同,针对不同的待测产品,其协议参数是不同的,具体的,不同的被测产品,其协议参数也是被其用户所熟知的。当用户将待测产品的协议参数输入之后,测试装置就能够按照用户输入的协议参数中各个参数的属性信息将其配置到第一配置文件中的各个配置属性信息中,也就是替换第一配置文件中各个配置属性信息中的具体参数,生成第二配置文件,其是针对当前待测设备重新生成的。
步骤S12:根据所述第二配置文件对待测产品进行测试。
针对当前的待测产品,根据第二配置文件就能对其性能进行测试了。
具体的,请参阅附图3,步骤S12至少包括以下几步:
步骤S121:读取所述第二配置文件的协议参数,自动生成对应协议参数的协议栈。
步骤S122:根据所述协议栈将向所述待测产品发送的测试命令数据进行打包,存储至发送队列并将所述测试命令数据发送至所述待测产品,使所述待测产品依据所述测试命令数据进行测试;
步骤S123:根据所述协议栈对接收到的所述待测产品反馈的测试结果数据进行解包,存储至接收队列,并将所述测试结果数据接收至所述测试装置,使所述测试装置依据所述测试结果数据判断所述待测产品的性能。
需要说明的是,在测试的过程中,测试设备与待测产品之间的通信可以单纯地由测试设备发送或由测试设备接收,也可以发送和接收的步骤同时进行,也就是说,步骤S122以及步骤S123可以择其一执行,也可以二者同时进行。
由于在测试之前,已经生成针对当前待测产品的第二配置文件,下面将对在测试的过程中执行的数据打包以及数据解包的具体流程进行详细说明。
请参阅附图4,为根据所述协议栈对发送数据进行打包的过程的具体流程示意图,该步骤具体包括:
步骤S1:从所述协议栈中获取协议的数据结构;
步骤S2:根据预先设定的发送标号与协议的数据结构的对应关系,从所述协议的数据结构中匹配与当前发送标号相对应的协议;
步骤S3:将所述协议以数据块的形式读出;
步骤S4:解析所述数据块获取所述数据块内的信号,并将所述信号生成信号列表;
步骤S5:索引所述信号列表,获得待解析信号;
步骤S6:解析所述待解析信号,获得对应的域数据结构;
步骤S7:将所述发送的数据按照所述域数据结构打包成对应的数据帧;
步骤S8:判断所述待解析信号对应的域数据结构是否都有对应的数据帧;如果是,则转入步骤S9,如果否,则返回执行步骤S7;
步骤S9:判断全部信号是否索引完毕;如果是,则完成打包过程。如果否,则返回执行步骤S5,直至全部信号索引完毕。
需要说明的是,步骤S5至步骤S9结合起来,即是根据信号列表对所述发送的数据进行打包的过程。
请参阅附图5,为根据所述协议栈对接收的数据进行解包的过程的具体流程示意图,该步骤具体包括:
步骤D1:从所述协议栈中获取协议数据结构;
步骤D2:根据预先设定的接收标号与协议的数据结构的对应关系,从所述协议的数据结构中匹配与当前接收标号相对应的协议;
步骤D3:将所述协议以数据块的形式读出;
步骤D4:解析所述数据块,获取所述数据块内的信号,并将所述信号生成信号列表;
步骤D5:索引所述信号列表,获得待解析信号;
步骤D6:解析所述待解析信号,获得对应的域数据结构;
步骤D7:根据所述域数据结构,将所述接收的数据解包取出,填充到对应的数据域;
步骤D8:判断所述待解析信号对应的所有数据域是否都填充完毕,若是,则执行步骤D9,若否,则返回执行步骤D7;
步骤D9:判断全部信号是否索引完毕,若是,则完成解包过程,若否,则返回执行步骤D5,直至全部信号索引完毕。
需要说明的是,步骤D5至步骤D9结合起来,即是根据信号列表对所述发送的数据进行解包的过程。
另外,在测试过程中,测试设备的应用程序还能够根据协议相关属性参数进行接收或发送数据的校验以及数据异常错误的处理。
在本实施例中公开的另一种基于总线通信的测试方法,首先获取预设的第一配置文件,所述第一配置文件中包含配置属性信息,用户通过输入待测产品的协议参数,按照协议参数中各个参数的属性信息对第一配置文件重新配置,生成第二配置文件,最后,根据第二配置文件就能完成对待测产品的测试,并且对如何根据第二配置文件完成对待测产品的测试进行了详细描述。通过上述基于总线通信的测试方法,用户无需对编程语言熟练运用,只需通过简单的对协议参数的输入,即能生成不同的配置文件,实现对通信接口协议的配置,最终根据不同的配置文件,实现对不同的被测产品的测试。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
实施例三
请参阅附图6,为本发明实施例三公开的一种基于总线通信的测试装置的结构示意图,该基于总线通信的测试装置具体包括:
第一配置文件获取单元10,用于获取预设的第一配置文件,所述第一配置文件中包含配置属性信息;
第二配置文件生成单元11,用于将获取的用户输入的待测产品的协议参数,按照所述协议参数中各个参数的属性信息将其配置到所述第一配置文件中的各个配置属性信息中,生成第二配置文件;
测试单元12,用于根据所述第二配置文件对待测产品进行测试。
需要说明的是,在本实施例中,公开的各个单元的功能实现对应于实施例一中的方法步骤,具体请参考实施例一中的相关描述,此处将不再详细赘述。
在本实施例中公开的一种基于总线通信的测试装置,首先通过第一配置文件获取单元,获取预设的第一配置文件,所述第一配置文件中包含配置属性信息,用户通过输入待测产品的协议参数至第二配置文件生成单元,该单元按照协议参数中各个参数的属性信息对第一配置文件重新配置,生成第二配置文件,最后,测试单元根据第二配置文件就能完成对待测产品的测试。通过上述基于总线通信的测试装置,用户无需对编程语言熟练运用,只需通过简单的对协议参数的输入,即能生成不同的配置文件,实现对通信接口协议的配置,最终根据不同的配置文件,实现对不同的被测产品的测试。
在实施例三的基础上,本发明还公开了一种结构更加细致的基于总线通信的测试装置,该测试装置的具体结构将通过以下实施例进行详细描述。
实施例四
本发明实施例四公开了另一种基于总线通信的测试装置,该测试装置具体包括:
第一配置文件获取单元10,用于获取预设的第一配置文件,所述第一配置文件中包含配置属性信息;
第二配置文件生成单元11,用于将获取的用户输入的待测产品的协议参数,按照所述协议参数中各个参数的属性信息将其配置到所述第一配置文件中的各个配置属性信息中,生成第二配置文件;
测试单元12,用于根据所述第二配置文件对待测产品进行测试。
具体的,请参阅附图7,为测试单元的具体结构示意图,测试单元12进一步包括:
协议栈生成子单元121,用于读取所述第二配置文件的协议参数,自动生成对应协议参数的协议栈;
打包子单元122,用于根据所述协议栈将向所述待测产品发送的测试命令数据进行打包,存储至发送队列并将所述测试命令数据发送至所述待测产品;
和/或,解包子单元123,用于根据所述协议栈对接收到的所述待测产品反馈的测试结果数据进行解包,存储至接收队列,并将所述测试结果数据接收至所述测试装置。
需要说明的是,在本实施例中,公开的各个单元的功能实现对应于实施例二中的方法步骤,具体请参考实施例二中的相关描述,此处将不再详细赘述。
在本实施例中公开的另一种基于总线通信的测试装置,首先通过第一配置文件获取单元,获取预设的第一配置文件,所述第一配置文件中包含配置属性信息,用户通过输入待测产品的协议参数至第二配置文件生成单元,该单元按照协议参数中各个参数的属性信息对第一配置文件重新配置,生成第二配置文件,最后,测试单元根据第二配置文件就能完成对待测产品的测试,并公开了测试单元的具体结构。通过上述基于总线通信的测试装置,用户无需对编程语言熟练运用,只需通过简单的对协议参数的输入,即能生成不同的配置文件,实现对通信接口协议的配置,最终根据不同的配置文件,实现对不同的被测产品的测试。
综上所述:
本发明公开了一种基于总线通信的测试方法及装置,首先获取预设的第一配置文件,所述第一配置文件中包含配置属性信息;用户通过输入待测产品的协议参数,按照协议参数中各个参数的属性信息对第一配置文件重新配置,生成第二配置文件,最后根据第二配置文件就能完成对待测产品的测试。通过上述基于总线通信的测试方法,用户无需对编程语言熟练运用,只需通过简单的对协议参数的输入,即能生成不同的配置文件,实现对通信接口协议的配置,最终根据不同的配置文件,实现对不同的被测产品的测试。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。