基于模型的车载网络控制器产品测试方法技术

技术编号:39414767 阅读:18 留言:0更新日期:2023-11-19 16:06
本发明专利技术涉及一种基于模型的车载网络控制器产品测试方法,属于测试技术领域,该基于模型的车载网络控制器产品测试方法包括模型预处理步骤

【技术实现步骤摘要】
基于模型的车载网络控制器产品测试方法


[0001]本专利技术属于测试
,尤其涉及一种基于模型的车载网络控制器产品测试方法


技术介绍

[0002]车载网络控制器是一种用于实现列车内部各个子系统之间通信和控制的设备,它通常采用模型驱动开发
(Model

Driven Development)
的方法,实现软件设计和硬件的分离

车载网络控制器产品模型具有如下特点:模型子系统层级结构繁多且层数不固定;输入输出信号为封装的用户自定义输入模块

输出模块,且信号量繁多;产品功能逻辑由封装的用户自定义
S

Function
模块

用户自定义输入输出模块
、simulink
标准模块
(AND、OR、NOT)
组成

这些特点使得车载网络控制器产品模型具有较高的复杂度和灵活性,但也给其测试带来了挑战

[0003]对于车载网络控制器产品模型的测试,目前较为普遍的测试方法是:测试人员利用白盒测试的方法依次对产品模型中的每个子系统进行测试用例编写;将可执行程序下载到真实的硬件控制器中,执行前期编写的测试用例,以测试在指定输入信号下产品输出是否符合期望值

这种方法前期需要人工编写大量的测试用例,不仅耗时多

效率低,而且增加了手工错误的可能性;另外,人工编写测试用例的方法无法保证对产品进行测试的模型结构覆盖率,增加了交付产品的质量风险

[0004]现有技术中,中国专利技术专利申请
CN111694741A
公开了一种基于路径深度覆盖的测试用例设计方法,该方法通过对模型图进行层次化分割,将复杂的模型图分解为若干相邻路径段,根据路径深度覆盖准则,对每个路径段进行逻辑测试用例生成

但由于车载网络控制器产品模型包含了封装的用户自定义
S

Function
模块,仅仅根据路径深度覆盖准则无法对用户自定义的
S

Function
模块进行测试,导致该方法难以实现车载网络控制器产品模型的测试

[0005]因此,如何提供一种适用于车载网络控制器产品模型的自动化测试方法,是当前急需解决的一项技术问题


技术实现思路

[0006]针对现有技术中存在的不足之处,本专利技术提供了一种基于模型的车载网络控制器产品测试方法通过对模型进行预处理

解析

搜索等自动化操作,快速生成满足模型覆盖准则的测试用例数据,实现了车载网络控制器产品模型的自动化测试

[0007]本专利技术提供一种基于模型的车载网络控制器产品测试方法,包括:
[0008]S1
,模型预处理:根据模型的子系统模块,将模型拆分为多个逻辑独立的最小层级子系统模型,获得最小层级子系统模型的逻辑图;
[0009]S2
,子系统模型解析:根据最小层级子系统模型的逻辑图,解析最小层级子系统模型中用户自定义
S

Function
模块的路径和参数,得到最小层级子系统模型树图结构数据;
[0010]S3
,最短路径搜索:根据预设的模型覆盖准则,采用广度搜索算法依次遍历模型树图结构数据中的所有元素,得到最小层级子系统模型的最短覆盖路径数据;
[0011]S4
,生成测试用例关键描述数据:根据最短覆盖路径数据,得到最小层级子系统模型的测试用例关键描述数据;
[0012]S5
,生成可执行测试用例数据:根据测试用例关键描述数据,结合车载网络控制器测试平台的测试用例模板,生成最小层级子系统模型的可执行测试用例数据;
[0013]S6
,执行测试用例数据:将可执行测试用例数据导入车载网络控制器测试平台,加载并执行可执行测试用例数据,得到测试结果

[0014]在其中一些实施例中,步骤
S1
还包括,根据模型的属性,提取该模型下所有的子系统模块

[0015]在其中一些实施例中,步骤
S1
中,将模型拆分为多个逻辑独立的最小层级子系统模型的具体方法为:依次循环遍历该模型下所有的子系统模块,判断是否遍历完所有子系统模块;若是,则结束遍历循环;若否,则根据当前子系统模块的属性,生成最小层级子系统模型

[0016]在其中一些实施例中,步骤
S2
还包括,解析最小层级子系统模型中用户自定义
S

Function
模块的路径和参数后,输出用户自定义
S

Function
模块路径记录描述,根据用户自定义
S

Function
模块路径记录描述,输出最小层级子系统模型的树图结构数据

[0017]在其中一些实施例中,获得用户自定义
S

Function
模块路径记录描述的具体方法为:依次遍历所有子系统模块,判断是否遍历完所有子系统模块,
[0018]若是,则输出用户自定义
S

Function
模块路径记录描述;
[0019]若否,则继续判断当前子系统模块是否为用户自定义
S

Function
模块;若是,则根据当前子系统模块是否为用户自定义
S

Function
模块及其前继模块的属性,输出该用户自定义
S

Function
模块路径记录描述;若否,则返回依次遍历所有子系统模块继续进行遍历

[0020]在其中一些实施例中,输出最小层级子系统模型的树图结构数据的具体方法为:对用户自定义
S

Function
模块路径记录描述中的所有元素添加唯一标识,创建空树图结构数据,依次遍历用户自定义
S

Function
模块路径记录描述中的所有元素,判断是否遍历完所有元素;
[0021]若是,则输出最小层级子系统模型树图结构数据;
[0022]若否,则判断当前元素的属性,并根据当前元素的属性追加树图结构数据,直至遍历完用户自定义
S

Function
模块路径记录描述中的的所有元素

[0023]在其中一些实施例中,步骤
S2
还包括,解析模型中用户自定义
S

Function
模块时,记录该模块的时间参数;步骤
S5
还包括,根据用户自定义
...

【技术保护点】

【技术特征摘要】
1.
基于模型的车载网络控制器产品测试方法,其特征在于,包括:
S1
,模型预处理:根据模型的子系统模块,将模型拆分为多个逻辑独立的最小层级子系统模型,获得最小层级子系统模型的逻辑图;
S2
,子系统模型解析:根据最小层级子系统模型的逻辑图,解析最小层级子系统模型中用户自定义
S

Function
模块的路径和参数,得到最小层级子系统模型树图结构数据;
S3
,最短路径搜索:根据预设的模型覆盖准则,采用广度搜索算法依次遍历模型树图结构数据中的所有元素,得到最小层级子系统模型的最短覆盖路径数据;
S4
,生成测试用例关键描述数据:根据最短覆盖路径数据,得到最小层级子系统模型的测试用例关键描述数据;
S5
,生成可执行测试用例数据:根据测试用例关键描述数据,结合车载网络控制器测试平台的测试用例模板,生成最小层级子系统模型的可执行测试用例数据;
S6
,执行测试用例数据:将可执行测试用例数据导入车载网络控制器测试平台,加载并执行可执行测试用例数据,得到测试结果
。2.
根据权利要求1所述的基于模型的车载网络控制器产品测试方法,其特征在于,步骤
S1
还包括,根据模型的属性,提取该模型下所有的子系统模块
。3.
根据权利要求2所述的基于模型的车载网络控制器产品测试方法,其特征在于,步骤
S1
中,将模型拆分为多个逻辑独立的最小层级子系统模型的具体方法为:依次循环遍历该模型下所有的子系统模块,判断是否遍历完所有子系统模块;若是,则结束遍历循环;若否,则根据当前子系统模块的属性,生成最小层级子系统模型
。4.
根据权利要求1所述的基于模型的车载网络控制器产品测试方法,其特征在于,步骤
S2
还包括,解析最小层级子系统模型中用户自定义
S

Function
模块的路径和参数后,输出用户自定义
S

Function
模块路径记录描述,根据用户自定义
S

Function
模块路径记录描述,输出最小层级子系统模型的树图结构数据
。5.
根据权利要求4所述的基于模型的车载网络控制器产品测试方法,其特征在于,获得用户自定义
S

Function
模块路径记录描述的具体方法为:依次遍历所有子系统模块,判断是否遍历完所有子系统模块,若是,则输出用户自定义
S

Function
模块路径记录描述;若否,则继续判断当前子系统模块是否为用户自定义
S

Function
模块;若是,则根据当前子系统模块是否为用户自定义
S

Function
模块及其前继模块的属性,输出该用户自定义
S

【专利技术属性】
技术研发人员:李德祥祝宁贾涛李文正王林美王晋伟左登超王福才
申请(专利权)人:中车青岛四方车辆研究所有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1