CN106484616A - 一种整车控制器的接口自动化测试方法及装置 - Google Patents
一种整车控制器的接口自动化测试方法及装置 Download PDFInfo
- Publication number
- CN106484616A CN106484616A CN201610874076.6A CN201610874076A CN106484616A CN 106484616 A CN106484616 A CN 106484616A CN 201610874076 A CN201610874076 A CN 201610874076A CN 106484616 A CN106484616 A CN 106484616A
- Authority
- CN
- China
- Prior art keywords
- variable
- measured
- test
- file
- binary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种整车控制器的接口自动化测试方法及装置,其中方法包括:获取数据库容器文件,根据数据库容器文件生成测试用例、测试输出文件;获取软件接口定义文件,建立软件接口定义文件和数据库容器文件的对应匹配关系;获取待测项目工程中与待测接口关联的待测程序,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测程序,生成针对待测程序的测试结果。本发明实施例通过在传统接口测试平台基础上进行优化,将手动环节优化为自动生成,并自动搭建测试环境,缩短测试周期同时保障CAN报文解析、打包的准确性,提高了整车控制器软件的质量。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种整车控制器的接口自动化测试方法及装置。
背景技术
纯电动汽车以CAN(Controller Area Network,控制器局域网络)为主网对数据进行传输,控制电池管理系统、电机控制器和整车控制器等主要模块,CAN总线以报文为单位进行数据传送,因此对CAN报文正确的解析、打包至关重要。然而在针对数以千计的CAN报文的操作过程中,出错无法避免,于是需要配置专门针对整车控制器软件的接口测试平台。传统的接口测试需要多步骤手动修改.dbc文件(数据库容器文件)、手动匹配软件接口及.dbc文件中涉及的变量,同时还需要手动搭建测试环境,其工作量大且操作复杂。具体过程如图1所示,工作人员手动修改.dbc文件,获取CAN报文解析、打包的相关信息,包括变量名、精度、偏移等,然后配置文件路径,执行步骤102生成测试初始化文件、步骤103生成测试用例文件、步骤104生成打印测试结果文件、步骤105生成.dbc变量列表文件以及步骤106获取软件接口定义文件,根据步骤105和步骤106的结果进行手动关联,然后执行步骤107生成打印测试结果文件,根据步骤102、步骤103、步骤104、步骤107的执行结果,以及步骤108从原程序中筛选测试需要文件,执行步骤109搭建、配置、调试测试工程,然后执行步骤110运行并输出测试结果。
针对不同车型进行整车控制器软件开发时,为避免由于CAN报文解析或打包的错误而引起对整车策略的误判断,一旦网络协议变更,涉及更改的软件均需进行接口测试,从而保障数据接收与发送的准确性。然而解析.dbc文件、搭建测试环境及调试测试环境的时间往往远大于程序本身的开发时间,无法高效的实现数据接收与发送的准确性。
发明内容
本发明实施例提供一种整车控制器的接口自动化测试方法及装置,解决现有技术中由于出现网络协议变更,需要重新搭建、调试测试环境造成的耗时问题。
本发明实施例提供一种整车控制器的接口自动化测试方法,所述方法包括:
获取数据库容器文件,根据所述数据库容器文件生成测试用例、测试输出文件;
获取软件接口定义文件,建立所述软件接口定义文件和所述数据库容器文件的对应匹配关系;
获取待测项目工程中与待测接口关联的待测程序,根据所述测试用例、所述测试输出文件以及所述对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果;
其中所述测试用例包括:所述数据库容器文件的CAN报文中包含的每一变量在取值区间内的N个物理值;以及所有变量针对N个物理值对应的二进制数值进行组合后的二进制数组。
本发明可以实现在传统接口测试平台基础上进行优化,将手动环节优化为自动生成,自动搭建测试环境,缩短测试周期,同时保障CAN报文解析、打包的准确性,提高整车控制器软件的质量。
其中,根据所述数据库容器文件生成测试用例的步骤包括:
对所述数据库容器文件进行编译转换生成CAN报文属性配置表;
获取所述CAN报文属性配置表中的CAN报文中包含的所有变量在取值区间内的N个物理值作为所述测试用例。
其中,根据所述数据库容器文件生成测试用例的步骤包括:
对所述数据库容器文件进行编译转换生成CAN报文属性配置表,所述CAN报文属性配置表包括:每一变量的N个物理值、变量精度、偏移量、终止位和信号长度,其中变量的个数为M;
针对每一变量,计算N个物理值与相应的变量精度的比值,得到N个第一参考值;
针对每一变量,计算N个第一参考值与相应的偏移量之差对应的二进制数值;
针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值;
对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合,得到NM个二进制组合,根据NM个二进制组合生成8行NM列形式的二进制数组作为所述测试用例。
其中,所述针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值的步骤包括:
针对每一变量,计算终止位与信号长度之差获得相应的起始位;
针对每一变量,将N个二进制数值分别向右偏移相应的起始位,获得N个第二参考值。
其中,所述对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合的步骤包括:
针对每一变量获取一个第二参考值,并根据获取的M个第二参考值进行组合。
其中,所述软件接口定义文件中存储有与所述数据库容器文件中的第一信息子文件内容相同但名称区别的第二信息子文件;
所述建立所述软件接口定义文件和所述数据库容器文件的对应匹配关系的步骤包括:
根据所述第一信息子文件的注释查找与所述第一信息子文件内容相同的第二信息子文件;
建立所述第一信息子文件与相应的所述第二信息子文件的对应关系。
其中,在进行写操作时,所述针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果的步骤包括:
将二进制数组作为参考输入信息,经过所述待测程序的运行,获取针对第一变量运行后的N个参考物理值;
将N个参考物理值与所述测试用例中的所述第一变量对应的N个物理值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
其中,在进行读操作时,所述针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果的步骤包括:
将第二变量的N个物理值作为参考输入信息,经过所述待测程序的运行,获取针对所述第二变量的参考二进制数值;
将参考二进制数值与所述测试用例的二进制数组中的所述第二变量对应的二进制数值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
本发明实施例还提供一种整车控制器的接口自动化测试装置,所述装置包括:
生成模块,用于获取数据库容器文件,根据所述数据库容器文件生成测试用例、测试输出文件;
建立模块,用于获取软件接口定义文件,建立所述软件接口定义文件和所述数据库容器文件的对应匹配关系;
处理模块,用于获取待测项目工程中与待测接口关联的待测程序,根据所述测试用例、所述测试输出文件以及所述对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果;
其中所述测试用例包括:所述数据库容器文件的CAN报文中包含的每一变量在取值区间内的N个物理值;以及所有变量针对N个物理值对应的二进制数值进行组合后的二进制数组。
其中,所述生成模块包括:
第一生成子模块,用于对所述数据库容器文件进行编译转换生成CAN报文属性配置表;
第一获取子模块,用于获取所述CAN报文属性配置表中的CAN报文中包含的所有变量在取值区间内的N个物理值作为所述测试用例。
其中,所述生成模块包括:
第二生成子模块,对所述数据库容器文件进行编译转换生成CAN报文属性配置表,所述CAN报文属性配置表包括:每一变量的N个物理值、变量精度、偏移量、终止位和信号长度,其中变量的个数为M;
第一计算子模块,用于针对每一变量,计算N个物理值与相应的变量精度的比值,得到N个第一参考值;
第二计算子模块,用于针对每一变量,计算N个第一参考值与相应的偏移量之差对应的二进制数值;
第三计算子模块,用于针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值;
处理子模块,用于对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合,得到NM个二进制组合,根据NM个二进制组合生成8行NM列形式的二进制数组作为所述测试用例。
其中,所述第三计算子模块包括:
计算单元,用于针对每一变量,计算终止位与信号长度之差获得相应的起始位;
获取单元,用于针对每一变量,将N个二进制数值分别向右偏移相应的起始位,获得N个第二参考值。
其中,所述处理子模块进一步用于:
针对每一变量获取一个第二参考值,并根据获取的M个第二参考值进行组合。
其中,所述软件接口定义文件中存储有与所述数据库容器文件中的第一信息子文件内容相同但名称区别的第二信息子文件;
所述建立模块包括:
查找子模块,用于根据所述第一信息子文件的注释查找与所述第一信息子文件内容相同的第二信息子文件;
建立子模块,用于建立所述第一信息子文件与相应的所述第二信息子文件的对应关系。
其中,在进行写操作时,所述处理模块包括:
第二获取子模块,用于将二进制数组作为参考输入信息,经过所述待测程序的运行,获取针对第一变量运行后的N个参考物理值;
第三生成子模块,用于将N个参考物理值与所述测试用例中的所述第一变量对应的N个物理值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
其中,在进行读操作时,所述处理模块包括:
第三获取子模块,用于将第二变量的N个物理值作为参考输入信息,经过所述待测程序的运行,获取针对所述第二变量的参考二进制数值;
第四生成子模块,用于将参考二进制数值与所述测试用例的二进制数组中的所述第二变量对应的二进制数值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
本发明实施例技术方案的有益效果至少包括:
本发明技术方案,通过获取数据库容器文件并生成测试用例和测试输出文件,建立获取的软件接口定义文件和数据库容器文件的对应匹配关系,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测项目工程中与待测接口关联的待测程序,生成针对待测程序的测试结果,可以实现在传统接口测试平台基础上进行优化,将手动环节优化为自动生成,自动搭建测试环境,缩短测试周期,同时保障CAN报文解析、打包的准确性,提高整车控制器软件的质量。
附图说明
图1表示现有技术整车控制器的接口测试流程图;
图2表示本发明实施例一的整车控制器的接口自动化测试方法流程图;
图3表示本发明实施例二的整车控制器的接口自动化测试方法流程图;
图4表示本发明实施例三的整车控制器的接口自动化测试方法流程图;
图5表示本发明实施例四的整车控制器的接口自动化测试装置示意图一;
图6表示本发明实施例四的整车控制器的接口自动化测试装置示意图二;
图7表示本发明实施例四的整车控制器的接口自动化测试装置示意图三;
图8表示本发明实施例四的整车控制器的接口自动化测试装置示意图四;
图9表示本发明实施例四的整车控制器的接口自动化测试装置示意图五。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
实施例一
如图2所示,本发明实施例一提供的整车控制器的接口自动化测试方法包括:
步骤201、获取数据库容器文件,根据数据库容器文件生成测试用例、测试输出文件。
本发明以WinForm为基础,在获取数据库容器文件之后,采用CAN报文解析算法生成测试用例,并根据数据库容器文件生成测试输出文件。其中在生成测试用例之前,需要针对数据库容器文件进行处理生成CAN报文属性配置表,其中CAN报文属性配置表中主要包括CAN报文的ID、信号长度、终止位、变量精度、偏移量、物理意义上的最大值和最小值、发送接收情况,以及CAN ID包含的报文数量。测试用例包括:数据库容器文件的CAN报文中包含的每一变量在取值区间内的N个物理值;以及所有变量针对N个物理值对应的二进制数值进行组合后的二进制数组。
在对数据库容器文件进行处理生成CAN报文属性配置表之后,基于CAN报文属性配置表采用CAN报文解析算法生成测试用例。其中获取数据库容器文件时是通过导入的方式获取的。
在生成测试用例以及测试输出文件之后,执行步骤202。
步骤202、获取软件接口定义文件,建立软件接口定义文件和数据库容器文件的对应匹配关系。
在生成测试用例和测试输出文件之后,获取软件接口定义文件,需要说明的是软件接口定义文件中存储的内容与数据库容器文件中存储的内容相同,但名称不同,需要建立软件接口定义文件和数据库容器文件的对应匹配关系,从而可以将数据库容器文件与面向对象的编程语言相结合,实现通过WinForm与用户进行交互。
步骤203、获取待测项目工程中与待测接口关联的待测程序,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测程序,生成针对待测程序的测试结果。
在获取测试用例、测试输出文件以及软件接口定义文件和数据库容器文件的对应匹配关系之后,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台。在获取待测项目工程中与待测接口关联的待测程序之后,针对一参考输入信息利用测试平台运行待测程序,生成针对待测程序的测试结果。这里的参考输入信息可以是二进制数组,也可以是变量的N个物理值。在参考输入信息为二进制数组时,确定当前需要进行写操作,在参考输入信息为变量的N个物理值时,确定当前需要进行读操作。
其中,数据库容器文件、软件接口定义文件以及待测项目工程都是通过导入的方式来获取的,接收用户输入的待测接口名称,然后在待测项目工程中获取与待测接口关联的待测程序。
本发明实施例一,通过获取数据库容器文件并生成测试用例和测试输出文件,建立获取的软件接口定义文件和数据库容器文件的对应匹配关系,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测项目工程中与待测接口关联的待测程序,生成针对待测程序的测试结果,可以实现在传统接口测试平台基础上进行优化,将手动环节优化为自动生成,自动搭建测试环境,缩短测试周期,同时保障CAN报文解析、打包的准确性,提高整车控制器软件的质量。
实施例二
如图3所示,本发明实施例二提供的整车控制器的接口自动化测试方法包括:
步骤301、获取数据库容器文件。
步骤302、对数据库容器文件进行编译转换生成CAN报文属性配置表,根据CAN报文属性配置表生成测试输出文件和测试用例。
对数据库容器文件进行编译转换生成CAN报文属性配置表,其中CAN报文属性配置表包括:每一变量的N个物理值、变量精度、偏移量、终止位和信号长度,其中变量的个数为M。然后根据CAN报文属性配置表生成测试输出文件。
获取CAN报文属性配置表中的CAN报文中包含的所有变量在取值区间内的N个物理值作为测试用例,此时的测试用例的形式为变量物理值。其中这里的N个物理值可以为每一变量在取值区间内的最大物理值、中间物理值和最小物理值。
其中,测试用例还包括二进制数组形式,在生成二进制数组形式的测试用例时,具体的过程为:
针对每一变量,计算N个物理值与相应的变量精度的比值,得到N个第一参考值;针对每一变量,计算N个第一参考值与相应的偏移量之差对应的二进制数值;针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值;对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合,得到NM个二进制组合,根据NM个二进制组合生成8行NM列形式的二进制数组作为测试用例。
具体的,针对CAN报文属性配置表中的每一个变量,需要计算当前变量的N个物理值与相应的变量精度的比值,得到N个第一参考值。其中针对同一变量而言,变量精度为一个确定的值。这里的N个物理值是在取值区间内获得的,优选为当前变量在取值区间内的最大物理值、最小物理值和中间物理值。针对当前变量的最大物理值、最小物理值和中间物理值,分别计算最大物理值与变量精度的比值、最小物理值与变量精度的比值、中间物理值与变量精度的比值,得到三个第一参考值。
针对同一变量而言,偏移量为一个确定的物理值。针对当前变量的三个第一参考值,分别计算每一参考值与相应的偏移量之差,对所得到的差值取对应的二进制数值,获得三个二进制数值。
在获取二进制数值之后,针对每一变量而言,将当前变量的3个二进制数值分别向右偏移对应的预设长度,得到3个第二参考值。针对同一变量而言,预设长度为一个确定的二进制数值。针对当前变量的3个二进制数值,分别计算二进制数值向右偏移预设长度后的第二参考值。
需要说明的是,每一变量的预设长度与终止位和信号长度有关,在对变量的二进制数值进行偏移的过程中:
针对每一变量,计算终止位与信号长度之差获得相应的起始位;
针对每一变量,将N个二进制数值分别向右偏移相应的起始位,获得N个第二参考值。
在针对每一变量得到3个第二参考值之后,需要对M个变量分别对应的3个第二参考值进行M个第二参考值之间的组合,得到3M个二进制组合,根据3M个二进制组合生成8行3M列形式的二进制数组作为测试用例。
其中,在对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合时,需要针对每一变量获取一个第二参考值,并根据获取的M个第二参考值进行组合。可以得到NM个二进制组合,根据这些组合生成8行NM列形式的二进制数组,此时的测试用例即为8行NM列形式的二进制数组。
步骤303、获取软件接口定义文件,建立软件接口定义文件和数据库容器文件的对应匹配关系。
在获取测试用例之后,需要获取软件接口定义文件,其中软件接口定义文件中存储有与数据库容器文件中的第一信息子文件内容相同但名称区别的第二信息子文件;在建立软件接口定义文件和数据库容器文件的对应匹配关系时:根据第一信息子文件的注释查找与第一信息子文件内容相同的第二信息子文件;建立第一信息子文件与相应的第二信息子文件的对应关系。
其中,数据库容器文件中的第一信息子文件的数目为多个,软件接口定义文件中存储的第二信息子文件的数目也为多个。第一信息子文件和第二信息子文件中的内容相同,但是内容的形式与文件的名称不同,需要根据相关的注释来建立第一信息子文件与第二信息子文件的对应关系,进而可以形成软件接口定义文件和数据库容器文件的对应匹配关系。
步骤304、根据测试用例、测试输出文件以及对应匹配关系搭建测试平台。
步骤305、获取待测项目工程中与待测接口关联的待测程序。
步骤306、判断当前状态需要执行读操作还是写操作。若当前状态需要执行写操作则执行步骤307和步骤308,若当前状态需要执行读操作则执行步骤309和步骤310。
步骤307、将二进制数组作为参考输入信息,经过待测程序的运行,获取针对第一变量运行后的N个参考物理值。
步骤308、将N个参考物理值与测试用例中的第一变量对应的N个物理值进行匹配,根据匹配结果生成针对待测程序的测试结果。
在进行写操作时,需要以二进制数组作为参考输入信息,使得待测程序针对二进制数组进行运行,获取第一变量对应的N个参考物理值。然后将获取的N个参考物理值与第一变量对应的N个物理值进行匹配,如果两者相匹配,则证明待测程序正常,即待测接口处于正常状态,如果两者不匹配,则表明待测接口处于非正常状态。其中,针对二进制数组运行待测程序、获取第一变量的N个参考物理值的过程可以理解为:获取当前变量的N个二进制数值,针对当前变量的N个二进制数值分别确定对应的十进制数值,然后计算十进制数值与对应的偏移量之和,将得到的和值与对应的变量精度相乘获取当前变量对应的N个物理值。
步骤309、将第二变量的N个物理值作为参考输入信息,经过待测程序的运行,获取针对第二变量的参考二进制数值。
步骤310、将参考二进制数值与测试用例的二进制数组中的第二变量对应的二进制数值进行匹配,根据匹配结果生成针对待测程序的测试结果。
在进行读操作时,需要第二变量的N个物理值作为参考输入信息,使得待测程序针对第二变量的N个物理值来运行,获取第二变量的N个参考二进制数值,然后在二进制数组中获取第二变量对应的N个二进制数值,将两者进行匹配,如果两者相匹配,则证明待测接口处于正常状态,如果两者不匹配,则表明待测接口处于非正常状态。
本发明实施例二,通过获取数据库容器文件并生成测试用例和测试输出文件,建立获取的软件接口定义文件和数据库容器文件的对应匹配关系,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测项目工程中与待测接口关联的待测程序,生成针对待测程序的测试结果,可以实现在传统接口测试平台基础上进行优化,将手动环节优化为自动生成,自动搭建测试环境,缩短测试周期,同时保障CAN报文解析、打包的准确性,提高整车控制器软件的质量。
实施例三
如图4所示,本发明实施例三提供的整车控制器的接口自动化测试方法包括:
步骤401、导入数据库容器文件。
步骤402、根据数据库容器文件生成CAN报文属性配置表。
步骤403、根据CAN报文属性配置表采用CAN报文解析算法生成测试用例。
步骤404、根据CAN报文属性配置生成测试输出文件。
步骤405、获取数据库容器文件中的第一信息子文件。
步骤406、导入软件接口定义文件。
步骤407、导入待测项目工程。
步骤408、获取软件接口定义文件中的第二信息子文件,并建立第一信息子文件与第二信息子文件的对应匹配关系。
软件接口定义文件中存储有与数据库容器文件中的第一信息子文件内容相同但名称区别的第二信息子文件。
步骤409、根据测试用例、测试输出文件、第一信息子文件与第二信息子文件的对应匹配关系以及待测项目工程生成测试工程。
步骤410、运行测试工程输出测试结果。然后结束流程。
本发明实施例三,通过获取数据库容器文件并生成测试用例和测试输出文件,建立获取的软件接口定义文件和数据库容器文件的对应匹配关系,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测项目工程中与待测接口关联的待测程序,生成针对待测程序的测试结果,可以实现在传统接口测试平台基础上进行优化,将手动环节优化为自动生成,自动搭建测试环境,缩短测试周期,同时保障CAN报文解析、打包的准确性,提高整车控制器软件的质量。
实施例四
本发明实施例四提供一种整车控制器的接口自动化测试装置,如图5所示,包括:
生成模块10,用于获取数据库容器文件,根据数据库容器文件生成测试用例、测试输出文件;
建立模块20,用于获取软件接口定义文件,建立软件接口定义文件和数据库容器文件的对应匹配关系;
处理模块30,用于获取待测项目工程中与待测接口关联的待测程序,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测程序,生成针对待测程序的测试结果;
其中测试用例包括:数据库容器文件的CAN报文中包含的每一变量在取值区间内的N个物理值;以及所有变量针对N个物理值对应的二进制数值进行组合后的二进制数组。
其中,如图6所示,生成模块10包括:
第一生成子模块11,用于对数据库容器文件进行编译转换生成CAN报文属性配置表;
第一获取子模块12,用于获取CAN报文属性配置表中的CAN报文中包含的所有变量在取值区间内的N个物理值作为测试用例。
其中,生成模块10包括:
第二生成子模块13,对数据库容器文件进行编译转换生成CAN报文属性配置表,CAN报文属性配置表包括:每一变量的N个物理值、变量精度、偏移量、终止位和信号长度,其中变量的个数为M;
第一计算子模块14,用于针对每一变量,计算N个物理值与相应的变量精度的比值,得到N个第一参考值;
第二计算子模块15,用于针对每一变量,计算N个第一参考值与相应的偏移量之差对应的二进制数值;
第三计算子模块16,用于针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值;
处理子模块17,用于对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合,得到NM个二进制组合,根据NM个二进制组合生成8行NM列形式的二进制数组作为测试用例。
其中,如图7所示,第三计算子模块16包括:
计算单元161,用于针对每一变量,计算终止位与信号长度之差获得相应的起始位;
获取单元162,用于针对每一变量,将N个二进制数值分别向右偏移相应的起始位,获得N个第二参考值。
其中,处理子模块17进一步用于:
针对每一变量获取一个第二参考值,并根据获取的M个第二参考值进行组合。
其中,软件接口定义文件中存储有与数据库容器文件中的第一信息子文件内容相同但名称区别的第二信息子文件;
如图8所示,建立模块20包括:
查找子模块21,用于根据第一信息子文件的注释查找与第一信息子文件内容相同的第二信息子文件;
建立子模块22,用于建立第一信息子文件与相应的第二信息子文件的对应关系。
其中,在进行写操作时,如图9所示,处理模块30包括:
第二获取子模块31,用于将二进制数组作为参考输入信息,经过待测程序的运行,获取针对第一变量运行后的N个参考物理值;
第三生成子模块32,用于将N个参考物理值与测试用例中的第一变量对应的N个物理值进行匹配,根据匹配结果生成针对待测程序的测试结果。
其中,在进行读操作时,处理模块30包括:
第三获取子模块33,用于将第二变量的N个物理值作为参考输入信息,经过待测程序的运行,获取针对第二变量的参考二进制数值;
第四生成子模块34,用于将参考二进制数值与测试用例的二进制数组中的第二变量对应的二进制数值进行匹配,根据匹配结果生成针对待测程序的测试结果。
本发明实施例四,通过获取数据库容器文件并生成测试用例和测试输出文件,建立获取的软件接口定义文件和数据库容器文件的对应匹配关系,根据测试用例、测试输出文件以及对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行待测项目工程中与待测接口关联的待测程序,生成针对待测程序的测试结果,可以实现在传统接口测试平台基础上进行优化,将手动环节优化为自动生成,自动搭建测试环境,缩短测试周期,同时保障CAN报文解析、打包的准确性,提高整车控制器软件的质量。
需要说明的是,本发明实施例提供的整车控制器的接口自动化测试装置应用上述方法的装置,则上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (16)
1.一种整车控制器的接口自动化测试方法,其特征在于,所述方法包括:
获取数据库容器文件,根据所述数据库容器文件生成测试用例、测试输出文件;
获取软件接口定义文件,建立所述软件接口定义文件和所述数据库容器文件的对应匹配关系;
获取待测项目工程中与待测接口关联的待测程序,根据所述测试用例、所述测试输出文件以及所述对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果;
其中所述测试用例包括:所述数据库容器文件的CAN报文中包含的每一变量在取值区间内的N个物理值;以及所有变量针对N个物理值对应的二进制数值进行组合后的二进制数组。
2.根据权利要求1所述的方法,其特征在于,根据所述数据库容器文件生成测试用例的步骤包括:
对所述数据库容器文件进行编译转换生成CAN报文属性配置表;
获取所述CAN报文属性配置表中的CAN报文中包含的所有变量在取值区间内的N个物理值作为所述测试用例。
3.根据权利要求1所述的方法,其特征在于,根据所述数据库容器文件生成测试用例的步骤包括:
对所述数据库容器文件进行编译转换生成CAN报文属性配置表,所述CAN报文属性配置表包括:每一变量的N个物理值、变量精度、偏移量、终止位和信号长度,其中变量的个数为M;
针对每一变量,计算N个物理值与相应的变量精度的比值,得到N个第一参考值;
针对每一变量,计算N个第一参考值与相应的偏移量之差对应的二进制数值;
针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值;
对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合,得到NM个二进制组合,根据NM个二进制组合生成8行NM列形式的二进制数组作为所述测试用例。
4.根据权利要求3所述的方法,其特征在于,所述针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值的步骤包括:
针对每一变量,计算终止位与信号长度之差获得相应的起始位;
针对每一变量,将N个二进制数值分别向右偏移相应的起始位,获得N个第二参考值。
5.根据权利要求3所述的方法,其特征在于,所述对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合的步骤包括:
针对每一变量获取一个第二参考值,并根据获取的M个第二参考值进行组合。
6.根据权利要求1所述的方法,其特征在于,所述软件接口定义文件中存储有与所述数据库容器文件中的第一信息子文件内容相同但名称区别的第二信息子文件;
所述建立所述软件接口定义文件和所述数据库容器文件的对应匹配关系的步骤包括:
根据所述第一信息子文件的注释查找与所述第一信息子文件内容相同的第二信息子文件;
建立所述第一信息子文件与相应的所述第二信息子文件的对应关系。
7.根据权利要求1所述的方法,其特征在于,在进行写操作时,所述针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果的步骤包括:
将二进制数组作为参考输入信息,经过所述待测程序的运行,获取针对第一变量运行后的N个参考物理值;
将N个参考物理值与所述测试用例中的所述第一变量对应的N个物理值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
8.根据权利要求1所述的方法,其特征在于,在进行读操作时,所述针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果的步骤包括:
将第二变量的N个物理值作为参考输入信息,经过所述待测程序的运行,获取针对所述第二变量的参考二进制数值;
将参考二进制数值与所述测试用例的二进制数组中的所述第二变量对应的二进制数值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
9.一种整车控制器的接口自动化测试装置,其特征在于,所述装置包括:
生成模块,用于获取数据库容器文件,根据所述数据库容器文件生成测试用例、测试输出文件;
建立模块,用于获取软件接口定义文件,建立所述软件接口定义文件和所述数据库容器文件的对应匹配关系;
处理模块,用于获取待测项目工程中与待测接口关联的待测程序,根据所述测试用例、所述测试输出文件以及所述对应匹配关系搭建测试平台,针对一参考输入信息利用测试平台运行所述待测程序,生成针对所述待测程序的测试结果;
其中所述测试用例包括:所述数据库容器文件的CAN报文中包含的每一变量在取值区间内的N个物理值;以及所有变量针对N个物理值对应的二进制数值进行组合后的二进制数组。
10.根据权利要求9所述的装置,其特征在于,所述生成模块包括:
第一生成子模块,用于对所述数据库容器文件进行编译转换生成CAN报文属性配置表;
第一获取子模块,用于获取所述CAN报文属性配置表中的CAN报文中包含的所有变量在取值区间内的N个物理值作为所述测试用例。
11.根据权利要求9所述的装置,其特征在于,所述生成模块包括:
第二生成子模块,对所述数据库容器文件进行编译转换生成CAN报文属性配置表,所述CAN报文属性配置表包括:每一变量的N个物理值、变量精度、偏移量、终止位和信号长度,其中变量的个数为M;
第一计算子模块,用于针对每一变量,计算N个物理值与相应的变量精度的比值,得到N个第一参考值;
第二计算子模块,用于针对每一变量,计算N个第一参考值与相应的偏移量之差对应的二进制数值;
第三计算子模块,用于针对每一变量,将得到的N个二进制数值分别向右偏移对应的预设长度,得到N个第二参考值;
处理子模块,用于对M个变量分别对应的N个第二参考值进行M个第二参考值之间的组合,得到NM个二进制组合,根据NM个二进制组合生成8行NM列形式的二进制数组作为所述测试用例。
12.根据权利要求11所述的装置,其特征在于,所述第三计算子模块包括:
计算单元,用于针对每一变量,计算终止位与信号长度之差获得相应的起始位;
获取单元,用于针对每一变量,将N个二进制数值分别向右偏移相应的起始位,获得N个第二参考值。
13.根据权利要求11所述的装置,其特征在于,所述处理子模块进一步用于:
针对每一变量获取一个第二参考值,并根据获取的M个第二参考值进行组合。
14.根据权利要求9所述的装置,其特征在于,所述软件接口定义文件中存储有与所述数据库容器文件中的第一信息子文件内容相同但名称区别的第二信息子文件;
所述建立模块包括:
查找子模块,用于根据所述第一信息子文件的注释查找与所述第一信息子文件内容相同的第二信息子文件;
建立子模块,用于建立所述第一信息子文件与相应的所述第二信息子文件的对应关系。
15.根据权利要求9所述的装置,其特征在于,在进行写操作时,所述处理模块包括:
第二获取子模块,用于将二进制数组作为参考输入信息,经过所述待测程序的运行,获取针对第一变量运行后的N个参考物理值;
第三生成子模块,用于将N个参考物理值与所述测试用例中的所述第一变量对应的N个物理值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
16.根据权利要求9所述的装置,其特征在于,在进行读操作时,所述处理模块包括:
第三获取子模块,用于将第二变量的N个物理值作为参考输入信息,经过所述待测程序的运行,获取针对所述第二变量的参考二进制数值;
第四生成子模块,用于将参考二进制数值与所述测试用例的二进制数组中的所述第二变量对应的二进制数值进行匹配,根据匹配结果生成针对所述待测程序的测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610874076.6A CN106484616B (zh) | 2016-09-30 | 2016-09-30 | 一种整车控制器的接口自动化测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610874076.6A CN106484616B (zh) | 2016-09-30 | 2016-09-30 | 一种整车控制器的接口自动化测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484616A true CN106484616A (zh) | 2017-03-08 |
CN106484616B CN106484616B (zh) | 2019-05-14 |
Family
ID=58268467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610874076.6A Active CN106484616B (zh) | 2016-09-30 | 2016-09-30 | 一种整车控制器的接口自动化测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484616B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415408A (zh) * | 2018-03-16 | 2018-08-17 | 宁波杉杉汽车有限公司 | 基于can通讯的汽车报文解析及故障诊断方法 |
CN108445812A (zh) * | 2018-04-20 | 2018-08-24 | 扬州航盛科技有限公司 | 一种手持嵌入式控制器局域网络模拟系统及模拟方法 |
CN108958073A (zh) * | 2018-06-19 | 2018-12-07 | 珠海格力电器股份有限公司 | 一种利用实验大数据验证产品功能点逻辑的方法及电器 |
CN109088780A (zh) * | 2018-10-25 | 2018-12-25 | 北京新能源汽车股份有限公司 | 一种信号检测方法和检测装置 |
CN109327354A (zh) * | 2018-09-30 | 2019-02-12 | 北京新能源汽车股份有限公司 | 一种生成信号转发测试用例的方法、装置及测试系统 |
CN109376069A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种测试报告的生成方法及设备 |
CN109491363A (zh) * | 2018-11-01 | 2019-03-19 | 北京长城华冠汽车科技股份有限公司 | 一种整车控制器的输出通道测试方法和装置 |
CN112009400A (zh) * | 2020-09-07 | 2020-12-01 | 东风汽车集团有限公司 | 一种自动变速箱控制单元应用接口扩展匹配方法 |
CN112230627A (zh) * | 2020-10-30 | 2021-01-15 | 重庆长安汽车股份有限公司 | 一种车身控制器的远程测试方法 |
CN112378420A (zh) * | 2020-10-30 | 2021-02-19 | 北斗星通智联科技有限责任公司 | 用于汽车导航测试的信号模拟方法、系统及电子设备 |
CN112860774A (zh) * | 2021-01-06 | 2021-05-28 | 宝能(西安)汽车研究院有限公司 | 信号接口匹配方法及装置、计算机设备和可读存储介质 |
CN113517992A (zh) * | 2020-04-10 | 2021-10-19 | 北京新能源汽车股份有限公司 | 一种控制器局域网配置的检测方法、装置及电动汽车 |
CN113867318A (zh) * | 2021-09-30 | 2021-12-31 | 东风汽车集团股份有限公司 | Can通讯控制器硬件在环测试工程的自动化集成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214704B1 (en) * | 2006-11-07 | 2012-07-03 | Marvell International Ltd. | Scan testing system and method |
CN105243020A (zh) * | 2015-10-30 | 2016-01-13 | 国电南瑞科技股份有限公司 | 一种适用于广域分布式实时数据库的自动化测试方法 |
CN105515902A (zh) * | 2015-11-27 | 2016-04-20 | 北京新能源汽车股份有限公司 | 整车控制器的测试方法及系统 |
-
2016
- 2016-09-30 CN CN201610874076.6A patent/CN106484616B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214704B1 (en) * | 2006-11-07 | 2012-07-03 | Marvell International Ltd. | Scan testing system and method |
CN105243020A (zh) * | 2015-10-30 | 2016-01-13 | 国电南瑞科技股份有限公司 | 一种适用于广域分布式实时数据库的自动化测试方法 |
CN105515902A (zh) * | 2015-11-27 | 2016-04-20 | 北京新能源汽车股份有限公司 | 整车控制器的测试方法及系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415408A (zh) * | 2018-03-16 | 2018-08-17 | 宁波杉杉汽车有限公司 | 基于can通讯的汽车报文解析及故障诊断方法 |
CN108445812A (zh) * | 2018-04-20 | 2018-08-24 | 扬州航盛科技有限公司 | 一种手持嵌入式控制器局域网络模拟系统及模拟方法 |
CN108958073A (zh) * | 2018-06-19 | 2018-12-07 | 珠海格力电器股份有限公司 | 一种利用实验大数据验证产品功能点逻辑的方法及电器 |
CN109376069B (zh) * | 2018-09-03 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 一种测试报告的生成方法及设备 |
CN109376069A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种测试报告的生成方法及设备 |
CN109327354A (zh) * | 2018-09-30 | 2019-02-12 | 北京新能源汽车股份有限公司 | 一种生成信号转发测试用例的方法、装置及测试系统 |
CN109088780B (zh) * | 2018-10-25 | 2021-11-12 | 北京新能源汽车股份有限公司 | 一种信号检测方法和检测装置 |
CN109088780A (zh) * | 2018-10-25 | 2018-12-25 | 北京新能源汽车股份有限公司 | 一种信号检测方法和检测装置 |
CN109491363A (zh) * | 2018-11-01 | 2019-03-19 | 北京长城华冠汽车科技股份有限公司 | 一种整车控制器的输出通道测试方法和装置 |
CN113517992A (zh) * | 2020-04-10 | 2021-10-19 | 北京新能源汽车股份有限公司 | 一种控制器局域网配置的检测方法、装置及电动汽车 |
CN113517992B (zh) * | 2020-04-10 | 2024-04-09 | 北京新能源汽车股份有限公司 | 一种控制器局域网配置的检测方法、装置及电动汽车 |
CN112009400A (zh) * | 2020-09-07 | 2020-12-01 | 东风汽车集团有限公司 | 一种自动变速箱控制单元应用接口扩展匹配方法 |
CN112009400B (zh) * | 2020-09-07 | 2022-03-25 | 东风汽车集团有限公司 | 一种自动变速箱控制单元应用接口扩展匹配方法 |
CN112230627A (zh) * | 2020-10-30 | 2021-01-15 | 重庆长安汽车股份有限公司 | 一种车身控制器的远程测试方法 |
CN112378420A (zh) * | 2020-10-30 | 2021-02-19 | 北斗星通智联科技有限责任公司 | 用于汽车导航测试的信号模拟方法、系统及电子设备 |
CN112230627B (zh) * | 2020-10-30 | 2022-10-11 | 重庆长安汽车股份有限公司 | 一种车身控制器的远程测试方法 |
CN112860774A (zh) * | 2021-01-06 | 2021-05-28 | 宝能(西安)汽车研究院有限公司 | 信号接口匹配方法及装置、计算机设备和可读存储介质 |
CN113867318A (zh) * | 2021-09-30 | 2021-12-31 | 东风汽车集团股份有限公司 | Can通讯控制器硬件在环测试工程的自动化集成方法 |
CN113867318B (zh) * | 2021-09-30 | 2023-07-18 | 东风汽车集团股份有限公司 | Can通讯控制器硬件在环测试工程的自动化集成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106484616B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484616A (zh) | 一种整车控制器的接口自动化测试方法及装置 | |
Krichen et al. | Black-box conformance testing for real-time systems | |
CN103631255B (zh) | 用于航电系统健康诊断的故障注入设备 | |
CN102169846B (zh) | 一种在集成电路晶圆测试过程中实现多维变量密码并行写入的方法 | |
CN108052311B (zh) | 一种基于通用体系框架的计量信息系统 | |
Dssouli et al. | Testing the control-flow, data-flow, and time aspects of communication systems: a survey | |
CN105067894A (zh) | 混频器变频损耗的测试方法和系统 | |
CN109088780B (zh) | 一种信号检测方法和检测装置 | |
CN113111616B (zh) | 一种基于fpga的面向微处理器测试的仿真方法及装置 | |
CN107632909A (zh) | 用于自动测试设备功能的方法及系统 | |
US8051048B2 (en) | System and method for automated transfer and evaluation of the quality of mass data of a technical process or a technical project | |
Lind et al. | CompSize: Automated size estimation of embedded software components | |
KR20230145329A (ko) | 안전 관련 로직에서 결함 타입들을 결정하기 위한 구조적분석 | |
CN109754087B (zh) | 量子程序转化方法、装置及电子设备 | |
CN113608089A (zh) | 开关电源mos管的soa测试方法、系统、装置及可读存储介质 | |
CN113204484A (zh) | 一种面向软件生命周期的装备软件测试性设计方法 | |
TWI503682B (zh) | 決定積體電路之介面時序的方法與其相關的機器可讀媒體 | |
RU2633530C1 (ru) | Способ и устройство автоматизированной проверки работоспособности и диагностики неисправностей радиоэлектронной аппаратуры | |
CN111352848A (zh) | 一种运行时验证中性质的可监控性概率的度量方法 | |
CN105093939B (zh) | 楼宇控制系统设计及调试设备和方法 | |
Krammer et al. | Requirements engineering for consensus-oriented technical specifications | |
KR100206992B1 (ko) | 피엘씨 고장진단방법 | |
Nagy et al. | Simulation-based Safety Assessment of High-level Reliability Models | |
CN115525929A (zh) | 联锁数据安全性的形式化验证方法和系统 | |
TW201417200A (zh) | 資源整合及晶片測試方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |