CN104850110A - 一种建立测试用例的方法及*** - Google Patents
一种建立测试用例的方法及*** Download PDFInfo
- Publication number
- CN104850110A CN104850110A CN201410227714.6A CN201410227714A CN104850110A CN 104850110 A CN104850110 A CN 104850110A CN 201410227714 A CN201410227714 A CN 201410227714A CN 104850110 A CN104850110 A CN 104850110A
- Authority
- CN
- China
- Prior art keywords
- state
- variable
- test
- jump condition
- transfering
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0243—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Testing Of Engines (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
本发明公开了一种建立测试用例的方法及***,所述方法包括以下步骤:步骤一、导入待测模型;步骤二、定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;步骤三、分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;步骤四、依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。本发明的建立测试用例的方法及***解决了在现有技术的整车控制器软件的上层算法模型的仿真测试中,手动执行测试用例效率低下,测试用例覆盖率不高,可移植性差,测试过程耗时耗力的技术问题。
Description
技术领域
本发明涉及新能源汽车整车控制器技术领域,尤其涉及一种建立测试用例的方法及***。
背景技术
整车控制器(Vehicle Control Unit)是新能源汽车整车控制***的核心部件,它对汽车的正常行驶、安全性、再生能量回馈、网络管理、故障诊断与处理、车辆的状态的监视等功能起着关键作用。
目前,国际流行的整车控制器开发模式为:首先根据功能需求,利用工具软件(如MATLAB/Simulink)进行软件建模仿真,建立基本的软件控制算法,并对算法进行初步的验证,即将控制算法在一个模拟的控制器中实现,利用模拟的控制器,来控制真实的或者同样是模拟的被控对象,来验证算法的正确性。下一步,针对算法进行硬件设计及软件开发,获得ECU原型,并利用硬件在环仿真对ECU进行初步测试,控制对象可以利用PC机算法进行模拟。最后,上实车进行验证与标定。
整车控制器软件代码包括控制器的底层驱动代码以及上层算法代码。上层算法代码可以通过MATLAB/Simulink 自动生成,例如MATLAB提供了实时工作间(Real Time Workshop)功能,能够从Simulink中进行算法方面的仿真建模,并根据模型自动生成所需要的算法代码,而不用手动去编写代码。这样,软件开发人员能够将主要精力集中于算法的开发而不是具体代码的实现上,并且可以通过仿真来快速地验证算法的正确性。基于模型的自动代码生成方式是汽车控制器软件开发的发展趋势。
目前,整车控制器软件的上层算法模型的仿真测试,一般是直接对待测模型的输入激励信号的取值进行定义,然后观察待测模型的输出结果。这种方法需要逐条地手动执行测试用例,效率低下,测试用例的数量往往有限,测试用例覆盖率不高,从而影响测试效果。另外,整车控制器软件的上层算法模型分为混合动力、纯电动、燃料电池等多个类型,对于不同类型的待测模型,上述仿真测试过程中往往需要分别设计测试用例,测试用例的可移植性差,导致测试过程耗时耗力。
发明内容
为此,本发明要解决的技术问题在于现有技术的整车控制器软件的上层算法模型的仿真测试中,手动执行测试用例效率低下,测试用例覆盖率不高,可移植性差,测试过程耗时耗力,从而提出一种建立测试用例的方法及***来解决该问题。
为解决上述技术问题,本发明采用以下技术方案:
一种建立测试用例的方法,包括以下步骤:步骤一、导入待测模型;步骤二、定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;步骤三、分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;步骤四、依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。
作为本发明的建立测试用例的方法的进一步改进,所述导入待测模型的过程包括:通过自动生成脚本,导入待测模型,识别待测模型的输入输出接口和内部变量。
作为本发明的建立测试用例的方法的进一步改进,所述定义测试场景的过程包括:将每个状态描述为一个模块,其中包含每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并可设置转移条件。
作为本发明的建立测试用例的方法的进一步改进,所述“分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件”的过程包括:针对每个状态设置一个或多个状态变量,其中每个状态变量设置一个或多个值;相邻两个状态之间设置转移条件,转移条件设置一个或多个转移变量,每个转移变量设置一个或多个值。
作为本发明的建立测试用例的方法的进一步改进,所述“依次选取每个状态的状态变量以及转移条件,组合生成测试用例”的过程包括:从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例。
基于同一发明构思,本发明还提出一种建立测试用例的***,包括:待测模型导入模块:用于导入待测模型;测试场景定义模块:用于定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;状态变量及转移条件定义模块:用于分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;测试用例生成模块:用于依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。
作为本发明的建立测试用例的***的进一步改进,所述待测模型导入模块包括待测模型导入单元,用于通过自动生成脚本,导入待测模型,识别待测模型的输入输出接口和内部变量。
作为本发明的建立测试用例的***的进一步改进,所述测试场景定义模块包括测试场景定义单元,用于将每个状态描述为一个模块,其中包含每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并可设置转移条件。
作为本发明的建立测试用例的***的进一步改进,所述状态变量及转移条件定义模块包括状态变量定义单元和转移条件定义单元,所述状态变量定义单元用于针对每个状态设置一个或多个状态变量,其中每个状态变量设置一个或多个值;所述转移条件定义单元用于针对相邻两个状态之间设置转移条件,转移条件设置一个或多个转移变量,每个转移变量设置一个或多个值。
作为本发明的建立测试用例的***的进一步改进,所述测试用例生成模块包括测试用例生成单元,用于从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例。
本发明的建立测试用例的方法及***的有益效果为:
(1)本发明的建立测试用例的方法及***,由于生成的测试用例基于导入的待测模型,测试用例的覆盖率高;测试场景由多个连续的状态按照一定的转移次序构成,每个状态设置对应的状态变量,转移次序设置转移条件,每个转移条件设置对应的转移变量,在此基础上建立的测试用例包含状态及转移条件,有利于构建自动化的测试过程,提高测试效率;导入新的待测模型,并在此基础上建立测试用例,可以复用先前的建立测试用例过程,使测试用例的可移植性好,进而使测试用例的建立更加方便、快捷。
(2)本发明的建立测试用例的方法及***,由于利用所述脚本自动识别待测模型的输入输出接口和内部变量,依此作为建立测试用例的基础,这样可以保证测试用例的覆盖率。
(3)本发明的建立测试用例的方法及***,由于测试场景由多个连续的状态按照一定的转移次序构成,每个状态被描述为一个模块,并包含有每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并设置转移条件,在此基础上进一步完成测试用例的建立。状态及转移条件的定义过程直观、可视,使测试用例建立过程的界面友好,有利于提高测试用例建立的效率,并且防止状态或者转移条件定义的遗漏,造成的测试用例覆盖率不够。
(4)本发明的建立测试用例的方法及***,由于状态及其对应的状态变量、转移条件及其对应的转移变量,根据待测模型的输入输出接口和内部变量进行定义,即根据测试需求而进行定义,因而不同的待测模型,状态变量及转移变量的定义可以根据测试需求灵活调整。进而,根据导入的新的待测模型,对先前定义的状态及转移条件进行修改,或者补充,或者直接复用,就可以完成新的测试场景的定义,由此可见,测试用例建立过程的可移植性好。
(5)本发明的建立测试用例的方法及***,由于从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,并按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,依此规律,生成测试用例。从整个过程看,其实现了测试用例建立的自动化,提高建立测试用例的效率。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1 是本发明实施例的一种建立测试用例的方法的流程图。
图2 是本发明实施例的一种新能源汽车整车控制器软件的建立测试用例的方法的示意图。
图3 是本发明实施例的一种新能源汽车整车控制器软件的建立测试用例的***的架构图。
具体实施方式
实施例1:
作为本发明的建立测试用例的方法的一个实施例,图1示出了一种建立测试用例的方法的流程图。在导入待测模型步骤S1中,导入待测模型;在定义测试场景步骤S2中,定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;在定义状态变量及转移条件步骤S3中,分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;在生成测试用例步骤S4中,依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。
其中,在导入待测模型步骤S1中,所述导入待测模型的过程包括:通过自动生成脚本,导入待测模型,识别待测模型的输入输出接口和内部变量。
在定义测试场景步骤S2中,所述定义测试场景的过程包括:将每个状态描述为一个模块,其中包含每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并可设置转移条件。
在定义状态变量及转移条件步骤S3中,“分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件”的过程包括:针对每个状态设置一个或多个状态变量,其中每个状态变量设置一个或多个值;相邻两个状态之间设置转移条件,转移条件设置一个或多个转移变量,每个转移变量设置一个或多个值。
在生成测试用例步骤S4中,所述“依次选取每个状态的状态变量以及转移条件,组合生成测试用例”的过程包括:从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例。
由此可见,本实施例的建立测试用例的方法,在导入待测模型步骤S1中,识别待测模型的输入输出接口和内部变量,并据此在定义测试场景步骤S2中,定义状态及转移条件,进而在定义状态变量及转移条件步骤S3中,设置状态对应的状态变量,转移条件对应的转移变量,在此基础上,按照状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例,测试用例覆盖率高;由于测试用例中包含状态转移条件对应的转移变量,有利于实现测试用例的自动化执行,提高测试效率;同时,在步骤S1中,导入不同的待测模型,并据此依次通过步骤S2、S3、S4建立测试用例,可以复用先前的建立测试用例过程,因而可移植性好。
实施例2:
在本实施例中,给出一个具体的应用实例,本实施例为新能源汽车整车控制器软件上层算法模型的仿真测试的建立测试用例的方法,其包括的主要步骤如实施例1所示,在导入待测模型步骤S1中,导入待测模型;在定义测试场景步骤S2中,定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;在定义状态变量及转移条件步骤S3中,分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;在生成测试用例步骤S4中,依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。可见,生成的测试用例基于导入的待测模型,测试用例的覆盖率高;测试场景由多个连续的状态按照一定的转移次序构成,每个状态设置对应的状态变量,转移次序设置转移条件,每个转移条件设置对应的转移变量,在此基础上建立的测试用例包含状态及转移条件,有利于构建自动化的测试过程,提高测试效率;导入新的待测模型,并在此基础上建立测试用例,可以复用先前建立的测试用例过程,使测试用例的可移植性好,进而使测试用例的建立更加方便、快捷。
具体的步骤如下:
在导入待测模型步骤S1中,采用基于Python语言开发的模型自动生成脚本,导入待测模型,可自动识别待测模型的输入输出接口和内部变量。基于Python语言开发的模型自动生成脚本是整车控制器软件测试技术领域常见技术手段,因而不赘述。
利用所述脚本自动识别待测模型的输入输出接口和内部变量,依此作为建立测试用例的基础,可以保证测试用例的覆盖率。
以下步骤S2至S4基于Python语言开发的可视化图形配置界面实现。基于Python语言开发的可视化图形配置界面技术是整车控制器软件测试技术领域常见技术手段,因而不赘述。
在定义测试场景步骤S2中,根据待测模型的输入输出接口和内部变量定义测试所需求的场景,所述场景由多个连续的状态按照一定的转移次序构成,将每个状态描述为一个模块,其中包含每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并可设置转移条件。如图2所示,定义的测试场景包括启动引擎、加速、刹车、停车以及关闭引擎等状态。在加速状态和刹车状态之间设置转移条件:直到车速满足一定条件;在刹车状态和停车状态之间设置转移条件:直到车速等于零。
作为其他的实施方式,在加速状态和刹车状态之间、刹车状态和停车状态之间还可以分别设置其他转移条件。
作为其他的实施方式,在启动引擎状态和加速状态之间、停车状态和关闭引擎状态之间还可以分别设置一个或一个以上转移条件。
测试场景由多个连续的状态按照一定的转移次序构成,每个状态被描述为一个模块,并包含有每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并设置转移条件,在此基础上进一步完成测试用例的建立。状态及转移条件的定义过程直观、可视,使测试用例建立过程的界面友好,有利于提高测试用例建立的效率,并且防止状态或者转移条件定义的遗漏,造成的测试用例覆盖率不够。
在定义状态变量及转移条件步骤S3中,针对每个状态设置一个或多个状态变量,其中每个状态变量设置一个或多个值;相邻两个状态之间设置转移条件,转移条件设置一个或多个转移变量,每个转移变量设置一个或多个值。如图2所示,针对加速状态,设置与该状态对应的状态变量为throttle,设置状态变量throttle的值为throttle=100、throttle=50,分别表示节气门全开和节气门半开。针对直到车速满足一定条件的转移条件,设置与该转移条件对应的转移变量vehicle,设置转移变量vehicle的值为vehicle>=50、vehicle>=100,分别表示直到速度为50km/h和直到速度为100km/h。针对刹车状态,设置与该状态对应的状态变量为brake,设置状态变量brake的值为brake=100,表示制动踏板全踩下。针对直到车速等于零的转移条件,设置与该转移条件对应的转移变量vehicle,设置转移变量vehicle的值为vehicle=0,表示直到速度为0km/h。
作为其他的实施方式,还可以设置加速状态对应的状态变量为变量pedal,并设置该状态变量pedal的值为pedal=100、pedal=50,分别表示加速踏板的开度量为100%和50%。当然,还可以设置状态变量pedal的值在一个区间连续变化,例如设置状态变量pedal的值在50至100之间。
作为其他的实施方式,还可以设置刹车状态的其他的对应状态变量,设置直到车速满足一定条件、直到车速等于零的其他的对应转移变量。
很明显地,这些实施方式可以根据测试需要灵活选择。
状态及其对应的状态变量、转移条件及其对应的转移变量,根据待测模型的输入输出接口和内部变量进行定义,即根据测试需求而进行定义,因而不同的待测模型,状态变量及转移变量的定义可以根据测试需求灵活调整。进而,根据导入的新的待测模型,对先前定义的状态及转移条件进行修改,或者补充,或者直接复用,就可以完成新的测试场景的定义,由此可见,测试用例建立过程的可移植性好。
在生成测试用例步骤S4中,从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例。
如图2所示,从加速状态中选取状态变量throttle,并选择该状态变量的取值throttle=100;从直到车速满足一定条件的转移条件中选择转移变量vehicle,并选择该转移变量的取值vehicle>=50;从刹车状态中选取状态变量brake,并选择该状态变量的取值brake=100;从直到车速等于零的转移条件中选择转移变量vehicle,并选择该转移变量的取值vehicle=0;按照测试场景的状态转移次序,上述将取值的状态变量和转移变量依次组合,生成测试用例1:
throttle=100
vehicle>=50
brake=100
vehicle=0
测试用例1的涵义是:在加速状态,使节气门全开,直到车速为100km/h;当车速为100km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态,即为图2所示的停车状态。
依照上述方法类推,生成测试用例2:
throttle=100
vehicle>=100
brake=100
vehicle=0
测试用例2的涵义是:在加速状态,使节气门全开,直到车速为100km/h;当车速为100km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态。
生成测试用例3:
throttle=50
vehicle>=50
brake=100
vehicle=0
测试用例3的涵义是:在加速状态,使节气门半开,直到车速为50km/h;当车速为50km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态。
测试用例4:
throttle=50
vehicle>=100
brake=100
vehicle=0
测试用例4的涵义是:在加速状态,使节气门半开,直到车速为100km/h;当车速为100km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态。
显而易见地,测试用例的数量由在定义测试场景步骤S2中定义的状态以及转移条件、在定义状态变量及转移条件步骤S3中定义的状态对应的状态变量和转移条件对应的转移变量决定。
从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,并按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,依此规律,生成测试用例。从整个过程看,其实现了测试用例建立的自动化,提高建立测试用例的效率。
实施例3:
作为本发明的建立测试用例的***的一个实施例,图3示出了一种新能源汽车整车控制器软件的建立测试用例的***架构图。所述***包括待测模型导入模块100、测试场景定义模块200、状态变量及转移条件定义模块300、测试用例生成模块400。在待测模型导入模块100中,导入待测模型;在测试场景定义模块200中,根据导入的待测模型,定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;在状态变量及转移条件定义模块300中,基于定义的测试场景,分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;在测试用例生成模块400中,基于定义的状态变量及转移条件,依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。可见,生成的测试用例基于导入的待测模型,测试用例的覆盖率高;测试场景由多个连续的状态按照一定的转移次序构成,每个状态设置对应的状态变量,转移次序设置转移条件,每个转移条件设置对应的转移变量,在此基础上建立的测试用例包含状态及转移条件,有利于构建自动化的测试过程,提高测试效率;导入新的待测模型,并在此基础上建立测试用例,可以复用先前建立的测试用例过程,使测试用例的可移植性好,进而使测试用例的建立更加方便、快捷。
待测模型导入模块100包括待测模型导入单元,在所述待测模型导入单元中,采用基于Python语言开发的模型自动生成脚本,导入待测模型,可自动识别待测模型的输入输出接口和内部变量。基于Python语言开发的模型自动生成脚本是整车控制器软件测试技术领域常见技术手段,因而不赘述。
利用所述脚本自动识别待测模型的输入输出接口和内部变量,依此作为建立测试用例的基础,可以保证测试用例的覆盖率。
测试场景定义模块200、状态变量及转移条件定义模块300、测试用例生成模块400基于Python语言开发的可视化图形配置界面实现。基于Python语言开发的可视化图形配置界面技术是整车控制器软件测试技术领域常见技术手段,因而不赘述。
测试场景定义模块200包括测试场景定义单元,在所述测试场景定义单元中,根据待测模型的输入输出接口和内部变量定义测试所需求的场景,所述场景由多个连续的状态按照一定的转移次序构成,将每个状态描述为一个模块,其中包含每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并可设置转移条件。如图2所示,定义的测试场景包括启动引擎、加速、刹车、停车以及关闭引擎等状态。在加速状态和刹车状态之间设置转移条件:直到车速满足一定条件,在刹车状态和停车状态之间设置转移条件:直到车速等于零。
作为其他的实施方式,在加速状态和刹车状态之间、刹车状态和停车状态之间还可以分别设置其他转移条件。
作为其他的实施方式,在启动引擎状态和加速状态之间、停车状态和关闭引擎状态之间还可以分别设置一个或一个以上转移条件。
测试场景由多个连续的状态按照一定的转移次序构成,每个状态被描述为一个模块,并包含有每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并设置转移条件,在此基础上进一步完成测试用例的建立。状态及转移条件的定义过程直观、可视,使测试用例建立过程的界面友好,有利于提高测试用例建立的效率,并且防止状态或者转移条件定义的遗漏,造成的测试用例覆盖率不够。
状态变量及转移条件定义模块300包括状态变量定义单元和转移条件定义单元。在所述状态变量定义单元中,针对每个状态设置一个或多个状态变量,其中每个状态变量设置一个或多个值。在所述转移条件定义单元中,针对相邻两个状态之间设置转移条件,转移条件设置一个或多个转移变量,每个转移变量设置一个或多个值。如图2所示,针对加速状态,设置与该状态对应的状态变量为throttle,设置状态变量throttle的值为throttle=100、throttle=50,分别表示节气门全开和节气门半开。针对直到车速满足一定条件的转移条件,设置与该转移条件对应的转移变量vehicle,设置转移变量vehicle的值为vehicle>=50、vehicle>=100,分别表示直到速度为50km/h和直到速度为100km/h。针对刹车状态,设置与该状态对应的状态变量为brake,设置状态变量brake的值为brake=100,表示制动踏板全踩下。针对直到车速等于零的转移条件,设置与该转移条件对应的转移变量vehicle,设置转移变量vehicle的值为vehicle=0,表示直到速度为0km/h。
作为其他的实施方式,还可以设置加速状态对应的状态变量为变量pedal,并设置该状态变量pedal的值为pedal=100、pedal=50,分别表示加速踏板的开度量为100%和50%。当然,还可以设置状态变量pedal的值在一个区间连续变化,例如设置状态变量pedal的值在50至100之间。
作为其他的实施方式,还可以设置刹车状态的其他的对应状态变量,设置直到车速满足一定条件、直到车速等于零的其他的对应转移变量。
很明显地,这些实施方式可以根据测试需要灵活选择。
状态及其对应的状态变量、转移条件及其对应的转移变量,根据待测模型的输入输出接口和内部变量进行定义,即根据测试需求而进行定义,因而不同的待测模型,状态变量及转移变量的定义可以根据测试需求灵活调整。进而,根据导入的新的待测模型,对先前定义的状态及转移条件进行修改,或者补充,或者直接复用,就可以完成新的测试场景的定义,由此可见,测试用例建立过程的可移植性好。
测试用例生成模块400包括测试用例生成单元,在所述测试用例生成单元中,从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例。
如图2所示,从加速状态中选取状态变量throttle,并选择该状态变量的取值throttle=50;从直到车速满足一定条件的转移条件中选择转移变量vehicle,并选择该转移变量的取值vehicle>=50;从刹车状态中选取状态变量brake,并选择该状态变量的取值brake=50;从直到车速等于零的转移条件中选择转移变量vehicle,并选择该转移变量的取值vehicle=0;按照测试场景的状态转移次序,上述将取值的状态变量和转移变量依次组合,生成测试用例1:
throttle=100
vehicle>=50
brake=100
vehicle=0
测试用例1的涵义是:在加速状态,使节气门全开,直到车速为50km/h;当车速为50km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态,即为图2所示的停车状态。
依照上述方法类推,生成测试用例2:
throttle=100
vehicle>=100
brake=100
vehicle=0
测试用例2的涵义是:在加速状态,使节气门全开,直到车速为100km/h;当车速为100km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态。
生成测试用例3:
throttle=50
vehicle>=50
brake=100
vehicle=0
测试用例3的涵义是:在加速状态,使节气门半开,直到车速为50km/h;当车速为50km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态。
测试用例4:
throttle=50
vehicle>=100
brake=100
vehicle=0
测试用例4的涵义是:在加速状态,使节气门半开,直到车速为100km/h;当车速为100km/h时,转移到刹车状态;在刹车状态,使制动踏板全踩下,直到车速为零;当车速为0km/h时,转移到下一状态。
显而易见地,测试用例的数量由在测试场景定义模块200中定义的状态以及转移条件、在状态变量及转移条件定义模块300中定义的状态对应的状态变量和转移条件对应的转移变量决定。
从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,并按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,依此规律,生成测试用例。从整个过程看,其实现了测试用例建立的自动化,提高建立测试用例的效率。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种建立测试用例的方法,其特征在于包括以下步骤:
步骤一、导入待测模型;
步骤二、定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;
步骤三、分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;
步骤四、依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。
2.根据权利要求1所述建立测试用例的方法,其特征在于:所述导入待测模型的过程包括:通过自动生成脚本,导入待测模型,识别待测模型的输入输出接口和内部变量。
3.根据权利要求1或2所述建立测试用例的方法,其特征在于:所述定义测试场景的过程包括:将每个状态描述为一个模块,其中包含每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并可设置转移条件。
4.根据权利要求1或2所述建立测试用例的方法,其特征在于:所述分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件”的过程包括:
针对每个状态设置一个或多个状态变量,其中每个状态变量设置一个或多个值;
相邻两个状态之间设置转移条件,转移条件设置一个或多个转移变量,每个转移变量设置一个或多个值。
5.根据权利要求1或2所述建立测试用例的方法,其特征在于:所述“依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例”的过程包括:
从每个状态中选取状态变量,每个状态变量选取一个值,
从每个转移条件中选取转移变量,每个转移变量选取一个值,
按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例。
6.一种建立测试用例的***,其特征在于包括:
待测模型导入模块:用于导入待测模型;
测试场景定义模块:用于定义测试场景,该测试场景由多个连续的状态按照一定的转移次序构成;
状态变量及转移条件定义模块:用于分别针对每个状态设置对应的状态变量,针对转移次序设置转移条件,针对每个转移条件设置对应的转移变量;
测试用例生成模块:用于依次选取每个状态的状态变量以及转移条件的转移变量,组合生成测试用例。
7.根据权利要求6所述建立测试用例的***,其特征在于:所述待测模型导入模块包括待测模型导入单元,用于通过自动生成脚本,导入待测模型,识别待测模型的输入输出接口和内部变量。
8.根据权利要求6或7所述建立测试用例的方法,其特征在于:所述测试场景定义模块包括测试场景定义单元,用于将每个状态描述为一个模块,其中包含每个状态的描述,相邻两个状态之间通过箭头标注转移方向,并可设置转移条件。
9.根据权利要求6或7所述建立测试用例的方法,其特征在于:所述状态变量及转移条件定义模块包括状态变量定义单元和转移条件定义单元,所述状态变量定义单元用于针对每个状态设置一个或多个状态变量,其中每个状态变量设置一个或多个值;所述转移条件定义单元用于针对相邻两个状态之间设置转移条件,转移条件设置一个或多个转移变量,每个转移变量设置一个或多个值。
10.根据权利要求6或7所述建立测试用例的方法,其特征在于:所述测试用例生成模块包括测试用例生成单元,用于从每个状态中选取状态变量,每个状态变量选取一个值,从每个转移条件中选取转移变量,每个转移变量选取一个值,按照测试场景的状态转移次序,将取值的状态变量和转移变量依次组合,生成测试用例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410227714.6A CN104850110B (zh) | 2014-05-27 | 2014-05-27 | 一种建立测试用例的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410227714.6A CN104850110B (zh) | 2014-05-27 | 2014-05-27 | 一种建立测试用例的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104850110A true CN104850110A (zh) | 2015-08-19 |
CN104850110B CN104850110B (zh) | 2019-04-16 |
Family
ID=53849822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410227714.6A Expired - Fee Related CN104850110B (zh) | 2014-05-27 | 2014-05-27 | 一种建立测试用例的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850110B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106200612A (zh) * | 2016-07-07 | 2016-12-07 | 百度在线网络技术(北京)有限公司 | 用于测试车辆的方法和*** |
CN107015483A (zh) * | 2015-11-06 | 2017-08-04 | 福特全球技术公司 | 用于生成用于自主车辆的测试用例的方法和装置 |
CN107807844A (zh) * | 2017-10-31 | 2018-03-16 | 北京新能源汽车股份有限公司 | 交通测试场景的生成方法、装置及计算机可读存储介质 |
CN110597730A (zh) * | 2019-09-20 | 2019-12-20 | 中国工商银行股份有限公司 | 基于场景法的自动化测试用例生成方法及*** |
CN111190406A (zh) * | 2019-12-25 | 2020-05-22 | 中国航空工业集团公司西安飞机设计研究所 | 一种起落架控制***软件的测试方法 |
CN112180890A (zh) * | 2019-07-05 | 2021-01-05 | 北京新能源汽车股份有限公司 | 一种测试用例的生成方法、装置及设备 |
CN114076683A (zh) * | 2020-08-17 | 2022-02-22 | 上海汽车集团股份有限公司 | 一种智能驾驶功能的测试评价方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110288841A1 (en) * | 2010-05-24 | 2011-11-24 | Gm Global Technology Operations, Inc. | Vehicle simulation system with software-in-the-loop bypass control |
CN102854877A (zh) * | 2012-10-12 | 2013-01-02 | 山东省科学院自动化研究所 | 汽车车身控制模块的功能测试***及测试方法 |
US20130055195A1 (en) * | 2011-08-30 | 2013-02-28 | Uniquesoft, Llc | System and method for iterative generating and testing of application code |
CN103034227A (zh) * | 2012-09-20 | 2013-04-10 | 北京智行鸿远汽车技术有限公司 | 纯电动汽车整车控制器模型在回路测试方法 |
CN103699122A (zh) * | 2014-01-09 | 2014-04-02 | 上汽通用五菱汽车股份有限公司 | 一种整车控制器测试平台及控制方法 |
-
2014
- 2014-05-27 CN CN201410227714.6A patent/CN104850110B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110288841A1 (en) * | 2010-05-24 | 2011-11-24 | Gm Global Technology Operations, Inc. | Vehicle simulation system with software-in-the-loop bypass control |
US20130055195A1 (en) * | 2011-08-30 | 2013-02-28 | Uniquesoft, Llc | System and method for iterative generating and testing of application code |
CN103034227A (zh) * | 2012-09-20 | 2013-04-10 | 北京智行鸿远汽车技术有限公司 | 纯电动汽车整车控制器模型在回路测试方法 |
CN102854877A (zh) * | 2012-10-12 | 2013-01-02 | 山东省科学院自动化研究所 | 汽车车身控制模块的功能测试***及测试方法 |
CN103699122A (zh) * | 2014-01-09 | 2014-04-02 | 上汽通用五菱汽车股份有限公司 | 一种整车控制器测试平台及控制方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015483A (zh) * | 2015-11-06 | 2017-08-04 | 福特全球技术公司 | 用于生成用于自主车辆的测试用例的方法和装置 |
CN106200612A (zh) * | 2016-07-07 | 2016-12-07 | 百度在线网络技术(北京)有限公司 | 用于测试车辆的方法和*** |
CN107807844A (zh) * | 2017-10-31 | 2018-03-16 | 北京新能源汽车股份有限公司 | 交通测试场景的生成方法、装置及计算机可读存储介质 |
CN107807844B (zh) * | 2017-10-31 | 2020-09-25 | 北京新能源汽车股份有限公司 | 交通测试场景的生成方法、装置及计算机可读存储介质 |
CN112180890A (zh) * | 2019-07-05 | 2021-01-05 | 北京新能源汽车股份有限公司 | 一种测试用例的生成方法、装置及设备 |
CN112180890B (zh) * | 2019-07-05 | 2022-01-07 | 北京新能源汽车股份有限公司 | 一种测试用例的生成方法、装置及设备 |
CN110597730A (zh) * | 2019-09-20 | 2019-12-20 | 中国工商银行股份有限公司 | 基于场景法的自动化测试用例生成方法及*** |
CN110597730B (zh) * | 2019-09-20 | 2023-08-22 | 中国工商银行股份有限公司 | 基于场景法的自动化测试用例生成方法及*** |
CN111190406A (zh) * | 2019-12-25 | 2020-05-22 | 中国航空工业集团公司西安飞机设计研究所 | 一种起落架控制***软件的测试方法 |
CN114076683A (zh) * | 2020-08-17 | 2022-02-22 | 上海汽车集团股份有限公司 | 一种智能驾驶功能的测试评价方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104850110B (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850110A (zh) | 一种建立测试用例的方法及*** | |
CN105416086B (zh) | 插电式混合动力汽车能量管理策略硬件在环仿真平台 | |
CN106200625B (zh) | 混合动力客车整车控制器硬件在环仿真测试平台 | |
CN101968630A (zh) | 自动变速箱控制器仿真试验台及仿真模型建立方法 | |
CN203397542U (zh) | 一种汽车电子多媒体网络教学平台 | |
CN104865947A (zh) | 一种整车控制器环境模型生成方法及*** | |
CN103514337B (zh) | 一种仿真***和方法 | |
JP2008090489A (ja) | シミュレーションシステム | |
Zhu et al. | NCSU year three final technical report | |
Patil et al. | Hybrid vehicle model development using ASM-AMESim-Simscape co-simulation for real-time HIL applications | |
CN103135545B (zh) | 一种自动变速器控制器半实物仿真测试*** | |
CN104071147B (zh) | 混合动力汽车及其的扭矩控制方法和装置 | |
US8751094B2 (en) | Method for validation of a graphically based executable control specification using model extraction | |
CN103543739B (zh) | 一种用于验证发动机怠速启停控制的仿真***和方法 | |
Wu et al. | Hybrid electric vehicle powertrain controller development using hardware in the loop simulation | |
US8751093B2 (en) | Hierarchical accumulated validation system and method | |
Sundaravadivelu et al. | Analysis of vehicle dynamics using co-simulation of AVL-CRUISE and CarMaker in ETAS RT environment | |
CN102075370A (zh) | 基于虚拟网络及虚拟节点的ecm通讯的标定及验证*** | |
Biswas et al. | Detailed Implementation of Hardware-In-the-Loop Validation of an Advanced Energy Management Controller for Power-Split HEVs | |
Vora et al. | Development of a SIL, HIL and vehicle test-bench for model-based design and validation of hybrid powertrain control strategies | |
Nagaraj et al. | HIL and RCP tools for embedded controller development in hybrid vehicles | |
Donn et al. | Concept analysis & system design of a hybrid electric vehicle with virtual test driving | |
Xu et al. | A traffic-in-loop simulation system for validation of emission control strategy in diesel engine | |
Cooley et al. | Model based engine control development and hardware-in-the-loop testing for the ecocar advanced vehicle competition | |
CN203250212U (zh) | 自动变速器控制器半实物仿真测试*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180419 Address after: No. 188, Miyun District, Miyun District, Beijing, Beijing Applicant after: Beijing treasure Car Co.,Ltd. Address before: 102206 Changping District City, Shahe, Sha Yang Road, Beijing Applicant before: BEIQI FOTON MOTOR Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190416 |