CN114546851A - 车辆域控制器测试方法、系统、装置和存储介质 - Google Patents
车辆域控制器测试方法、系统、装置和存储介质 Download PDFInfo
- Publication number
- CN114546851A CN114546851A CN202210155227.8A CN202210155227A CN114546851A CN 114546851 A CN114546851 A CN 114546851A CN 202210155227 A CN202210155227 A CN 202210155227A CN 114546851 A CN114546851 A CN 114546851A
- Authority
- CN
- China
- Prior art keywords
- test
- variables
- abstract
- generating
- test case
- 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.)
- Pending
Links
Images
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/3684—Test management for test design, e.g. generating new test cases
-
- 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/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)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明实施例公开了一种车辆域控制器测试方法、系统、装置和存储介质,该车辆域控制器测试方法包括:获取车辆域控制器的测试需求;对测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;基于测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;基于抽象语法树,生成最优测试用例集;将最优测试用例集发送至下位机。本申请实施例可以自动生成不同类型车辆的域控制器的测试用例,减少了车辆域控制器测试的开发周期;并且通过从测试用例集中自动生成最优测试用例集,将最优测试用例集发送给下位机,减少了遍历测试条件在编写过程中产生的冗余,实现了车辆域控制器测试过程自动化。
Description
技术领域
本发明实施例涉及车辆控制技术,尤其涉及一种车辆域控制器测试方法、系统、装置和存储介质。
背景技术
随着汽车电子芯片使用量的增多,车载网关和自动驾驶等技术的快速发展,电子控制单元(Electronic Control Unit,ECU)的数量也在大幅增加。传统的汽车电子电气架构都是分布式的,然而现在汽车里的ECU数量庞大,ECU的连接方式正在从分布式架构向集中式架构转换。在集中式架构中,利用具备平台化、兼容性、集成高以及性能好的域控制器,汽车电子部件功能将整车划分为动力总成、智能座舱和自动驾驶等几个域;利用处理能力更强的多核CPU/GPU芯片相对集中的控制每个域,以取代分布式电子电气架构。与此同时,车辆域控制器功能逻辑的提升,使得测试用例的编写有着更高的要求。
目前,利用对不同控制器的不同功能的排列组合,产生测试基本单元并人工编写测试用例,已经难以满足域控制器测试用例编写的要求。通过遍历测试条件的方式编写测试用例,在编写过程中会产生冗余,导致测试效率降低;针对不同类型的车辆的域控制器,要编写不同类型的测试用例,使得车辆域控制器开发周期长;并且筛选测试用例需要依靠测试人员的经验与实际功能需求,导致难以实现测试过程自动化。
发明内容
本发明提供一种车辆域控制器测试方法、装置、电子设备和存储介质,能够降低充电费用,提升用户体验。
第一方面,本发明实施例提供了一种车辆域控制器测试方法,包括:
获取车辆域控制器的测试需求;
对所述测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;
基于所述测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;
基于所述抽象语法树,生成最优测试用例集;
将所述最优测试用例集发送至下位机。
第二方面,本发明实施例还提供了一种车辆域控制器测试系统,包括上位机和下位机;
其中,所述上位机包括配置单元和自动生成单元,用于执行如权利要求1至6中任一所述的车辆域控制器测试方法;
所述下位机包括读取单元、测试单元和自动输出单元,用于基于所述最优测试用例集对车辆域控制器进行自动化测试。
第三方面,本发明实施例还提供了一种车辆域控制器测试装置,包括:
测试需求获取模块,用于获取车辆域控制器的测试需求;
测试需求分析模块,用于对所述测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;
第一生成模块,用于基于所述测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;
第二生成模块,用于基于所述抽象语法树,生成最优测试用例集;
用例集发送模块,用于将所述最优测试用例集发送至下位机。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例提供的车辆域控制器测试方法。
本发明实施例中,获取车辆域控制器的测试需求;对所述测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;基于所述测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;基于所述抽象语法树,生成最优测试用例集;将所述最优测试用例集发送至下位机。即本发明实施例可以根据车辆域控制器的测试需求,自动生成测试用例集。该方法比人工编写测试用例花费的时间少,并且无需人工调试验证,节约了人工验证的时间;通过自动生成测试用例集,可以自动生成不同类型车辆的域控制器的测试用例,减少了车辆域控制器测试的开发周期;并且通过从测试用例集中自动生成最优测试用例集,将最优测试用例集发送给下位机,减少了遍历测试条件在编写过程中产生的冗余,实现了车辆域控制器测试过程自动化。
附图说明
图1是本发明实施例提供的一种车辆域控制器测试方法的流程图;
图2是本发明实施例提供的抽象语法树的示例图;
图3是本发明实施例提供的另一种车辆域控制器测试方法的流程图;
图4是本发明实施例提供的一种车辆域控制器的测试系统结构图;
图5是本发明实施例提供的一种测试用例生成装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1是本发明实施例提供的一种车辆域控制器测试方法的流程图,本实施例可适用于自动生成测试用例集对车辆域控制器进行测试,该方法可以由本发明实施例中的测试用例生成装置来执行,该装置可采用软件和/或硬件的方式实现。如图1所示,本实施例提供的车辆域控制器测试方法具体包括如下步骤:
步骤101、获取车辆域控制器的测试需求。
其中,汽车的域控制器可以将汽车电子各部分功能划分成几个领域。车辆域控制器的测试需求可以根据用户需求和车机功能而定。示例的,车辆中配备有电动吸合门,该电动吸合门可以按下B柱开关,通过人脸识别或者蓝牙钥匙自动开启主驾车门。现用户需要知道在车辆控制器的控制下,该电动吸合门能否正常工作。则测试需求为:在没有钥匙的前提下,该电动吸合门能否通过人脸识别或者蓝牙钥匙自动开启主驾车门,包括开关档位是否正常、人脸识别功能是否正常、本机蓝牙状态是否正常以及蓝牙钥匙状态是否正常等。
步骤102、对测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数。
其中,测试变量间的逻辑关系可以用于描述测试变量间的功能依赖关系。基于测试变量间的逻辑关系,可以从测试变量和测试参数中推导出必然的结果。常用的逻辑关系有并列关系、递进关系、因果关系、转折关系、让步关系、列举关系、举例关系和总结关系等。本方案实施例中,测试变量间的逻辑关系可以通过对测试需求进行功能性分析得到。示例的,测试需求为在没有钥匙的前提下,该电动吸合门能否通过人脸识别或者蓝牙钥匙自动开启主驾车门。对该测试需求进行功能性分析,可得到测试变量和测试参数信息,如下表1所示。
测试变量 | 测试参数 |
挡位 | 是否处于P档 |
B柱人脸识别 | 是否人脸识别成功 |
本机蓝牙钥匙状态 | 是否处于打开状态 |
蓝牙钥匙感应状态 | 是否处于主驾附近 |
表1
其中,测试变量为挡位、B柱人脸识别、本机蓝牙钥匙状态和蓝牙钥匙感应状态四个测试变量;其中,测试参数为:档位是否处于P档、B柱人脸识别能否成功识别人脸、本机蓝牙钥匙状态是否处于打开状态以及蓝牙钥匙感应状态是否处于主驾附近。对测试需求进行分析可知,要测试该电动吸合门能否通过人脸识别或者蓝牙钥匙自动开启主驾车门。根据测试变量和测试参数可以得出,档位是否处于P档直接决定了电动吸合门能否自动开启主驾车门;B柱人脸识别成功和蓝牙连接成功只需满足一项即可,而本机蓝牙钥匙状态和蓝牙钥匙感应状态都需要满足,蓝牙才可以连接成功。则可以将测试变量之间的逻辑关系定义为:档位and(B柱人脸识别or(本机蓝牙钥匙状态and蓝牙钥匙感应状态))。
步骤103、基于测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树。
其中,抽象语法树是语法结构的一种抽象表示,抽象语法树可以将逻辑关系用图形表示,可以用于描述逻辑关系的推导结果。抽象语法树中包括叶子结点、分支节点和根节点,其中,不带有任何分支的节点是叶子结点。本方案实施例中,将测试变量作为叶子结点,测试变量间的逻辑关系作为分支节点,将根据测试变量和测试变量间的逻辑关系推到出的结果作为根节点。进一步地,将测试变量抽象化,基于测试变量间的逻辑关系以及测试参数,可以生成抽象语法树。示例的,测试变量为挡位、B柱人脸识别、本机蓝牙钥匙状态和蓝牙钥匙感应状态,将上述测试变量抽象化为A、B、C和D,测试变量之间的逻辑关系定义为Aand(B or(C and D))。根据测试变量、测试变量间的逻辑关系以及测试参数,可以构建抽象语法树。图2是本发明实施例提供的抽象语法树的示例图,如图2所示。其中,抽象语法树的叶节点测试变量,分支节点为测试变量之间的逻辑关系。
步骤104、基于抽象语法树,生成最优测试用例集。
其中,最优测试用例集是从测试用例集中筛选得到的,能够覆盖所有的等价类以及各种边界值的测试用例集。最优测试用例集需要满足:整体完备性:能够完成全覆盖测试需求,其每一个测试用例都是有效的。等价类划分的准确性:对于每个等价类都能保证只要其中一个输入测试通过,其他输入也一定测试通过。等价类集合的完备性:需要保证所有可能的边界值和边界条件都已经正确识别。其中,测试用例集是测试用例的无序结合。测试用例可以对测试需求进行描述,包括测试的执行条件和测试预期结果。具体地,基于抽象语法树,生成车辆域控制器测试的测试用例集。示例的,抽象语法树如图2所示,基于抽象语法树的分支节点,依次遍历抽象语法树的叶子结点,得到所有叶子结点的测试用例。构建变量的测试用例,需要满足该测试变量能够单独影响测试结果。以测试变量A的测试用例为例,T表示“真”,F表示“假”。根据A所属的分支节点and可知,当A为T时,测试结果为T,当A为F时,测试结果为F。则B、C和D可依次取值T或F,生成A的五组测试用例,如下表2所示。
表2
进一步地,生成B的测试用例,根据语法树的分支节点可知,要使得B可以单独影响测试结果,则A的取值必须为T,C和D可依次取值为T或F。依次类推,依次生成C和D的测试用例。进一步地,将生成的A、B、C和D的测试用例集合起来得到测试用例集。提取所有测试用例中重复度最高的测试用例组,生成最优测试用例集。
步骤105、将最优测试用例集发送至下位机。
其中,下位机可以是直接控制设备获取设备状况的计算机,如单片机等。下位机可以接收上位机发出的命令,再根据此命令解释成相应时序信号直接控制相应设备。本方案实施例中,可选的,下位机用于读取最优测试用例集,基于最优测试用例集对车辆域控制器进行自动化测试,输出自动化测试的测试结果。
具体地,在得到最优测试用例集后,将最优测试用集封装打包并发送给下位机。下位机在接收到最优测试用例集后,读取最优测试用例集中的测试用例,根据测试用例的内容,对车辆域控制器进行自动化测试,并得出测试结果。示例的,最优测试用例集中包括档位不在P档、B柱人脸识别正常、本机蓝牙钥匙打开以及蓝牙钥匙感应状态正常。下位机读取到该测试用例后,对电动吸合门进行测试。由于档位不在P档,可以得到测试结果为电动吸合门无法正常工作。
下位机基于最优测试用例集,可以对车辆域控制器进行测试,缩短了车辆域控制器的测试周期,实现了车辆域控制器测试过程自动化。
本发明实施例通过获取车辆域控制器的测试需求;对测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;基于测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;基于抽象语法树,生成最优测试用例集;将最优测试用例集发送至下位机。本申请实施例可以自动生成不同类型车辆的域控制器的测试用例,减少了车辆域控制器测试的开发周期;并且通过从测试用例集中自动生成最优测试用例集,将最优测试用例集发送给下位机,减少了遍历测试条件在编写过程中产生的冗余,实现了车辆域控制器测试过程自动化。
图3是本发明实施例提供的另一种车辆域控制器测试方法的流程图;本实施例可适用于自动生成测试用例集对车辆域控制器进行测试,本实施例进一步细化了车辆域控制器测试方法,如图3所示,细化后的车辆域控制器测试方法,主要包括如下步骤:
步骤201、获取车辆域控制器的测试需求。
步骤202、对测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数。
步骤203、对测试变量进行编号得到抽象测试变量。
其中,可以通过对测试变量进行符号抽象化得到抽象测试变量。具体地,可以把测试变量转换成抽象符号进行测试变量的符号抽象化。示例的,测试变量为挡位、B柱人脸识别、本机蓝牙钥匙状态和蓝牙钥匙感应状态四个测试变量。对测试变量进行编号,将测试变量用抽象符号表示,如A、B、C和D。A代表测试变量为挡位,B代表B柱人脸识别、C代表本机蓝牙钥匙状态,D代表蓝牙钥匙感应状态。
步骤204、基于抽象测试变量、测试变量和测试参数建立测试参数信息表。
其中,测试参数信息表可以将抽象测试变量、测试变量和测试参数的信息用表格的形式进行描述。测试参数信息表中标定了测试参数的范围。具体地,在得到抽象测试变量后,基于抽象测试变量、测试变量和测试参数建立测试参数信息表。示例的,抽象测试变量为A、B、C和D;测试变量为挡位、B柱人脸识别、本机蓝牙钥匙状态和蓝牙钥匙感应状态四个测试变量;测试参数为:档位是否处于P档、B柱人脸识别能否成功识别人脸、本机蓝牙钥匙状态是否处于打开状态以及蓝牙钥匙感应状态是否处于主驾附近。建立测试参数信息表如下表3所示。
抽象测试变量 | 实际测试变量 | 测试参数 |
A | 挡位 | 是否处于P档 |
B | B柱人脸识别 | 是否人脸识别成功 |
C | 本机蓝牙钥匙状态 | 是否处于UNLOCK状态 |
D | 蓝牙钥匙感应状态 | 是否处于主驾附近 |
表3
步骤205、基于测试需求和测试参数信息表,建立布尔表达式,其中,布尔表达式用于描述测试变量间的逻辑关系。
其中,布尔表达式是布尔运算量和逻辑运算符按一定语法规则组成的式子,利用布尔表达式进行推导,得到的结果只有“真”和“假”两种结果。本申请实施例中,布尔表达式可以用于描述测试变量间的逻辑关系。具体地,对测试需求进行功能性分析,可以得到测试变量间的逻辑关系。示例的,根据测试变量和测试参数可以得出,档位是否处于P档直接决定了电动吸合门能否自动开启主驾车门;B柱人脸识别成功和蓝牙连接成功只需满足一项即可,而本机蓝牙钥匙状态和蓝牙钥匙感应状态都需要满足,蓝牙才可以连接成功。进一步地,可以得到布尔表达式A and(B or(C and D))。利用该布尔表达式,可以对测试参数的有效性进行验证。
步骤206、基于布尔表达式生成抽象语法树。
其中,布尔表达式中包含了逻辑关系、布尔变量和逻辑表达式。抽象语法树中包括叶子结点、分支节点和根节点。将布尔表达式中的布尔变量作为抽象语法树的叶节点,将逻辑关系作为抽象语法树的分支节点,将逻辑表达式作为抽象语法树的根节点,得到抽象语法树。本方案实施例中,可选的,以抽象测试变量作为抽象语法树的叶节点,以测试变量间的逻辑关系作为抽象语法树的分支节点或根节点,基于布尔表达式生成抽象语法树。
示例的,如图2所示,A、B、C和D作为抽象语法树的叶节点,逻辑关系AND或OR作为分支节点。C\D的关系为and,即同时为“T”时,结果为“T”,否则为“F”。B与(C and D)的关系为or,即同时为“F”时,结果为“F”,否则为“T”。A与B or(C and D)关系为and,即同时为“T”时,结果为“T”,否则为“F”。
步骤207、按照抽象测试变量的编号,以第一个抽象测试变量对应的叶节点作为独立条件,生成第一个抽象测试变量对应的测试用例。
其中,要使某一叶节点成为独立条件,需要满足该叶节点的结果能够独立影响测试结果,即该叶节点对应的抽象测试变量为真时,测试结果也为真。
本方案实施例中,可选的,将第一个抽象测试变量对应的叶节点分别取真、假两种状态,获得叶节点在两种状态下各自对应的测试用例,生成第一个抽象测试变量对应的测试用例。
其中,要生成第一个抽象测试变量的测试用例,要使得当第一个抽象测试变量为真时,测试结果也为真。示例的,将第一个抽象测试变量A对应的叶节点取真,其余测试变量的取值为默认值,得到A在“真”状态下的测试用例。将A对应的叶节点取“假”,其余测试变量的取值为默认值,得到A在“假”状态下的测试用例。进一步地,如步骤102中的表2所示,得到A在两种状态下各自对应的测试用例,生成第A对应的测试用例。
步骤208、遍历所有抽象测试变量,得到每个抽象测试变量对应的测试用例,生成测试用例集。
具体地,按照上述生成第一个抽象测试变量对应的测试用例的方法,依次将剩余抽象测试变量作为独立测试变量,得到每个抽象测试变量对应的测试用例。将示例的每个抽象测试变量对应的测试用例组合起来,得到测试用例集。在得到A的测试用例后,生成B的测试用例,根据语法树的分支节点可知,要使得B可以单独影响测试结果,则A的取值必须为T,C和D可依次取值为T或F。依次类推,依次生成C和D的测试用例。进一步地,将生成的A、B、C和D的测试用例集合起来得到测试用例集。
步骤209、基于测试用例集,生成最优测试用例集。
本方案实施例中,可选的,基于测试用例集,生成最优测试用例集包括步骤(1)-步骤(2):
步骤(1):基于测试用例集生成测试用例变量独立性判断表,其中,测试用例变量独立性判断表包括每个抽象测试变量作为独立条件的测试用例。
其中,测试用例变量独立性判断表中记录着所有测试变量作为独立变量的测试用例。具体地,按照生成第一个抽象测试变量对应的测试用例,依次遍历所有抽象测试变量,得到每个抽象测试变量对应的测试用例,生成测试用例集。
示例的,如下表4所示。
表4
如表4所示,生成B的测试用例需要使得B成为独立变量,根据布尔表达式A and(Bor(C and D)),可知要使B成为独立变量,则A取“T”,C和D可以取“T”或“F”。进一步地,遍历C和D,得到每个抽象测试变量对应的测试用例,生成表4所示的测试用例变量独立性判断表。
步骤(2):提取所有测试用例变量独立性判断表中重复度最高的测试用例组,生成最优测试用例集。
其中,最优测试用例集需要满足整体完备性、等价类划分的准确性和等价类集合的完备性。因此,需要提取所有测试用例变量独立性判断表中重复度最高的测试用例组。重复度最高的测试用例组可以有效测试每个独立变量并全面覆盖测试需求。示例的,测试用例变量独立性判断表如表4所示,提取表4中重复度最高的测试用例组。选择12、13和14作为C和D的测试用例组,根据提取表4中重复度最高的测试用例组为原则,选择12和4或者13和6作为B的测试用例组。假设选择13和6作为B的测试用例组,则选择5和6为A的测试用例组。进一步地,生成最优测试用例集如下表5所示。
测试用例 | A | B | C | D | 原编号 |
1 | F | T | T | F | 5 |
2 | T | T | T | F | 6 |
3 | T | F | F | T | 12 |
4 | T | F | F | F | 13 |
5 | T | F | T | T | 14 |
表5
步骤210、将所述最优测试用例集发送至下位机。
本发明实施例提供的车辆域控制器测试方法,进一步细化了车辆域控制器测试方法,获取车辆域控制器的测试需求;对测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;基于抽象测试变量、测试变量和测试参数建立测试参数信息表;基于测试需求和测试参数信息表,建立布尔表达式,其中,布尔表达式用于描述测试变量间的逻辑关系;基于布尔表达式生成抽象语法树;按照抽象测试变量的编号,以第一个抽象测试变量对应的叶节点作为独立条件,生成第一个抽象测试变量对应的测试用例;遍历所有抽象测试变量,得到每个抽象测试变量对应的测试用例,生成测试用例集;基于测试用例集,生成最优测试用例集;将所述最优测试用例集发送至下位机。本发明实施例的技术方案可以自动生成不同类型车辆的域控制器的测试用例,在测试用例集中选取最优测试用例集,减少了遍历测试条件在编写过程中产生的冗余,实现了车辆域控制器测试过程自动化。
图4是本发明实施例提供的一种车辆域控制器的测试系统结构图,如图4所示,所述车辆域控制器测试系统包括上位机401和下位机402。
上位机401可以是直接发出操控命令的计算机,如单片机等,上位机可以向下位机发送控制命令。本方案实施例中中,上位机401用于读取测试需求、配置测试变量、测试参数和测试变量间的逻辑关系,并自动生成测试用例。上位机401包括配置单元和自动生成单元;配置单元中读取模块和配置模块。其中,读取模块用于读取测试需求中的测试变量、测试参数和测试变量间的逻辑关系。配置模块用于将测试变量、测试参数和测试变量间的逻辑关系抽象配置,然后传输到自动生成单元。其中,自动生成单元包括生成模块和构建模块。其中,生成模块用于基于配置完毕的测试变量、测试参数和测试变量间的逻辑关系自动生成测试用例。构建模块用于将自动生成的测试用例封装打包,传输到下位机402。
下位机402可以是直接控制设备获取设备状况的计算机,如单片机等。下位机可以接收上位机发出的命令,再根据此命令解释成相应时序信号直接控制相应设备。本方案实施例中,下位机402用于读取测试用例,基于测试用例对车辆域控制器进行自动测试,输出测试结果。下位机402包括读取单元、自动测试单元和输出单元。其中,读取单元用于读取封装打包的测试用例,并传输到自动测试单元。自动测试单元基于测试用例进行自动化测试。输出单元用于输出测试结果。
具体的车辆域控制器测试方法的其他实现细节可参阅前面实施例的描述,此处不再赘述。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
图5是本发明实施例提供的一种测试用例生成装置的结构示意图。本发明实施例提供了一种测试用例生成控制装置,包括:
测试需求获取模块510,用于获取车辆域控制器的测试需求;
测试需求分析模块520,用于对所述测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;
第一生成模块530,用于基于所述测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;
第二生成模块540,用于基于所述抽象语法树,生成最优测试用例集;
用例集发送模块550,用于将所述最优测试用例集发送至下位机。
可选的,所述第一生成模块具体包括:
对所述测试变量进行编号得到抽象测试变量;
基于所述抽象测试变量、测试变量和测试参数建立测试参数信息表;
基于所述测试需求和所述测试参数信息表,建立布尔表达式,其中,所述布尔表达式用于描述所述测试变量间的逻辑关系;
第一生成单元,用于基于所述布尔表达式生成所述抽象语法树。
可选的,所述第一生成单元具体用于:
以所述抽象测试变量作为所述抽象语法树的叶节点,以所述测试变量间的逻辑关系作为所述抽象语法树的分支节点或根节点,基于所述布尔表达式生成所述抽象语法树。
可选的,所述第二生成模块540,具体用于:
测试用例生成单元,用于按照所述抽象测试变量的编号,以第一个抽象测试变量对应的叶节点作为独立条件,生成所述第一个抽象测试变量对应的测试用例;
遍历所有抽象测试变量,得到每个抽象测试变量对应的测试用例,生成测试用例集;
第二生成单元,用于基于所述测试用例集,生成最优测试用例集。
可选的,所述测试用例生成单元,具体用于:
将所述第一个抽象测试变量对应的叶节点分别取真、假两种状态,获得所述叶节点在两种状态下各自对应的测试用例,生成所述第一个抽象测试变量对应的测试用例。
可选的,所述第二生成单元具体包括:
基于所述测试用例集生成测试用例变量独立性判断表,其中,所述测试用例变量独立性判断表包括每个抽象测试变量作为独立条件的测试用例;
提取所有测试用例变量独立性判断表中重复度最高的测试用例组,生成最优测试用例集。
可选的,所述装置还包括,所述下位机用于读取所述最优测试用例集,基于所述最优测试用例集对车辆域控制器进行自动化测试,输出所述自动化测试的测试结果。
本发明实施例所提供的车辆稳定性控制装置可执行本发明任意实施例所提供的车辆域控制器测试方法,具备执行方法相应的功能模块和有益效果。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种车辆域控制器测试方法,该方法包括:
获取车辆域控制器的测试需求;
对所述测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;
基于所述测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;
基于所述抽象语法树,生成最优测试用例集;
将所述最优测试用例集发送至下位机。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的车辆域控制器测试方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述测试用例生成装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种车辆域控制器测试方法,其特征在于,包括:
获取车辆域控制器的测试需求;
对所述测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;
基于所述测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;
基于所述抽象语法树,生成最优测试用例集;
将所述最优测试用例集发送至下位机。
2.根据权利要求1所述的方法,其特征在于,基于所述测试变量、所述测试变量间的逻辑关系以及测试参数,生成抽象语法树,包括:
对所述测试变量进行编号得到抽象测试变量;
基于所述抽象测试变量、测试变量和测试参数建立测试参数信息表;
基于所述测试需求和所述测试参数信息表,建立布尔表达式,其中,所述布尔表达式用于描述所述测试变量间的逻辑关系;
基于所述布尔表达式生成所述抽象语法树。
3.根据权利要求2所述的方法,其特征在于,基于所述布尔表达式生成所述抽象语法树,包括:
以所述抽象测试变量作为所述抽象语法树的叶节点,以所述测试变量间的逻辑关系作为所述抽象语法树的分支节点或根节点,基于所述布尔表达式生成所述抽象语法树。
4.根据权利要求1所述的方法,其特征在于,基于所述抽象语法树,生成最优测试用例集,包括:
按照所述抽象测试变量的编号,以第一个抽象测试变量对应的叶节点作为独立条件,生成所述第一个抽象测试变量对应的测试用例;
遍历所有抽象测试变量,得到每个抽象测试变量对应的测试用例,生成测试用例集;
基于所述测试用例集,生成最优测试用例集。
5.根据权利要求4所述的方法,其特征在于,以第一个抽象测试变量对应的叶节点作为独立条件,生成所述第一个抽象测试变量对应的测试用例,包括:
将所述第一个抽象测试变量对应的叶节点分别取真、假两种状态,获得所述叶节点在两种状态下各自对应的测试用例,生成所述第一个抽象测试变量对应的测试用例。
6.根据权利要求4所述的方法,其特征在于,基于所述测试用例集,生成最优测试用例集,包括:
基于所述测试用例集生成测试用例变量独立性判断表,其中,所述测试用例变量独立性判断表包括每个抽象测试变量作为独立条件的测试用例;
提取所有测试用例变量独立性判断表中重复度最高的测试用例组,生成最优测试用例集。
7.根据权利要求1所述的方法,其特征在于,所述下位机用于读取所述最优测试用例集,基于所述最优测试用例集对车辆域控制器进行自动化测试,输出所述自动化测试的测试结果。
8.一种车辆域控制器测试系统,其特征在于,所述车辆域控制器测试系统包括上位机和下位机;
其中,所述上位机包括配置单元和自动生成单元,用于执行如权利要求1至6中任一所述的车辆域控制器测试方法;
所述下位机包括读取单元、测试单元和自动输出单元,用于基于所述最优测试用例集对车辆域控制器进行自动化测试。
9.一种车辆域控制器测试装置,其特征在于,包括:
测试需求获取模块,用于获取车辆域控制器的测试需求;
测试需求分析模块,用于对所述测试需求进行分析,得到测试变量、测试变量间的逻辑关系以及测试参数;
第一生成模块,用于基于所述测试变量、测试变量间的逻辑关系以及测试参数,生成抽象语法树;
第二生成模块,用于基于所述抽象语法树,生成最优测试用例集;
用例集发送模块,用于将所述最优测试用例集发送至下位机。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一所述的车辆域控制器测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210155227.8A CN114546851A (zh) | 2022-02-21 | 2022-02-21 | 车辆域控制器测试方法、系统、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210155227.8A CN114546851A (zh) | 2022-02-21 | 2022-02-21 | 车辆域控制器测试方法、系统、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546851A true CN114546851A (zh) | 2022-05-27 |
Family
ID=81676072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210155227.8A Pending CN114546851A (zh) | 2022-02-21 | 2022-02-21 | 车辆域控制器测试方法、系统、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546851A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192690A (zh) * | 2023-05-04 | 2023-05-30 | 华砺智行(武汉)科技有限公司 | 面向量产的c-v2x设备快速测试方法、系统、设备及介质 |
-
2022
- 2022-02-21 CN CN202210155227.8A patent/CN114546851A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192690A (zh) * | 2023-05-04 | 2023-05-30 | 华砺智行(武汉)科技有限公司 | 面向量产的c-v2x设备快速测试方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106227668B (zh) | 数据处理方法和装置 | |
CN105022691A (zh) | 一种基于uml图的高度自动化软件测试方法 | |
CN108052453A (zh) | 可编程逻辑控制器程序的测试方法、装置、设备和介质 | |
CN108763064A (zh) | 一种基于黑盒函数与机器学习的代码测试生成方法和装置 | |
CN112925221B (zh) | 基于数据回注的辅助驾驶闭环测试方法 | |
Tahvili et al. | Functional dependency detection for integration test cases | |
CN101504605A (zh) | 一种基于性质规约模式生成ltl公式的uml模型检测系统和方法 | |
CN116610983B (zh) | 空气净化控制系统的异常分析方法及系统 | |
CN114546851A (zh) | 车辆域控制器测试方法、系统、装置和存储介质 | |
CN110244688A (zh) | 基于LabVIEW的仪表总线面板自动生成方法及其系统 | |
CN106646315A (zh) | 一种数字测量仪器的自动测试系统及其测试方法 | |
CN115061772B (zh) | 一种多领域仿真模型集成方法及系统 | |
CN110989549B (zh) | 用于列车控制系统的软件测试通用自动化控制方法及装置 | |
CN102707712A (zh) | 电子装备故障诊断方法和系统 | |
CN114238084B (zh) | 基于SysML的嵌入式软件安全性分析方法及其分析系统 | |
CN113114534A (zh) | 一种基于神经网络的混合网络模糊测试工具 | |
CN115080104A (zh) | 一种对Autosar中COM代码进行自动配置的方法及系统 | |
CN115567340B (zh) | Can总线的测试工程生成方法、装置、设备及介质 | |
CN116521217A (zh) | 一种基于autosar工具快速配置bsw的方法、系统及储存介质 | |
CN113985849A (zh) | 一种基于CANoe软件编写自动清读整车DTC读ECU版本的方法 | |
Do et al. | Specification-based Testing with Simulation Relations (S). | |
Klaus et al. | Automatic generation of scheduled SystemC models of embedded systems from extended task graphs | |
CN103294053A (zh) | 一种汽车k线诊断系统 | |
Shaout et al. | Automotive embedded systems-model based approach review. | |
Ryssel et al. | Generative design of hardware-in-the-loop models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |