基于模型的车载网络控制器产品测试方法与流程

文档序号:36014560发布日期:2023-11-17 10:07阅读:29来源:国知局
基于模型的车载网络控制器产品测试方法与流程

本发明属于测试,尤其涉及一种基于模型的车载网络控制器产品测试方法。


背景技术:

1、车载网络控制器是一种用于实现列车内部各个子系统之间通信和控制的设备,它通常采用模型驱动开发(model-driven development)的方法,实现软件设计和硬件的分离。车载网络控制器产品模型具有如下特点:模型子系统层级结构繁多且层数不固定;输入输出信号为封装的用户自定义输入模块、输出模块,且信号量繁多;产品功能逻辑由封装的用户自定义s-function模块、用户自定义输入输出模块、simulink标准模块(and、or、not)组成。这些特点使得车载网络控制器产品模型具有较高的复杂度和灵活性,但也给其测试带来了挑战。

2、对于车载网络控制器产品模型的测试,目前较为普遍的测试方法是:测试人员利用白盒测试的方法依次对产品模型中的每个子系统进行测试用例编写;将可执行程序下载到真实的硬件控制器中,执行前期编写的测试用例,以测试在指定输入信号下产品输出是否符合期望值。这种方法前期需要人工编写大量的测试用例,不仅耗时多、效率低,而且增加了手工错误的可能性;另外,人工编写测试用例的方法无法保证对产品进行测试的模型结构覆盖率,增加了交付产品的质量风险。

3、现有技术中,中国发明专利申请cn111694741a公开了一种基于路径深度覆盖的测试用例设计方法,该方法通过对模型图进行层次化分割,将复杂的模型图分解为若干相邻路径段,根据路径深度覆盖准则,对每个路径段进行逻辑测试用例生成。但由于车载网络控制器产品模型包含了封装的用户自定义s-function模块,仅仅根据路径深度覆盖准则无法对用户自定义的s-function模块进行测试,导致该方法难以实现车载网络控制器产品模型的测试。

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


技术实现思路

1、针对现有技术中存在的不足之处,本发明提供了一种基于模型的车载网络控制器产品测试方法通过对模型进行预处理、解析、搜索等自动化操作,快速生成满足模型覆盖准则的测试用例数据,实现了车载网络控制器产品模型的自动化测试。

2、本发明提供一种基于模型的车载网络控制器产品测试方法,包括:

3、s1,模型预处理:根据模型的子系统模块,将模型拆分为多个逻辑独立的最小层级子系统模型,获得最小层级子系统模型的逻辑图;

4、s2,子系统模型解析:根据最小层级子系统模型的逻辑图,解析最小层级子系统模型中用户自定义s-function模块的路径和参数,得到最小层级子系统模型树图结构数据;

5、s3,最短路径搜索:根据预设的模型覆盖准则,采用广度搜索算法依次遍历模型树图结构数据中的所有元素,得到最小层级子系统模型的最短覆盖路径数据;

6、s4,生成测试用例关键描述数据:根据最短覆盖路径数据,得到最小层级子系统模型的测试用例关键描述数据;

7、s5,生成可执行测试用例数据:根据测试用例关键描述数据,结合车载网络控制器测试平台的测试用例模板,生成最小层级子系统模型的可执行测试用例数据;

8、s6,执行测试用例数据:将可执行测试用例数据导入车载网络控制器测试平台,加载并执行可执行测试用例数据,得到测试结果。

9、在其中一些实施例中,步骤s1还包括,根据模型的属性,提取该模型下所有的子系统模块。

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

11、在其中一些实施例中,步骤s2还包括,解析最小层级子系统模型中用户自定义s-function模块的路径和参数后,输出用户自定义s-function模块路径记录描述,根据用户自定义s-function模块路径记录描述,输出最小层级子系统模型的树图结构数据。

12、在其中一些实施例中,获得用户自定义s-function模块路径记录描述的具体方法为:依次遍历所有子系统模块,判断是否遍历完所有子系统模块,

13、若是,则输出用户自定义s-function模块路径记录描述;

14、若否,则继续判断当前子系统模块是否为用户自定义s-function模块;若是,则根据当前子系统模块是否为用户自定义s-function模块及其前继模块的属性,输出该用户自定义s-function模块路径记录描述;若否,则返回依次遍历所有子系统模块继续进行遍历。

15、在其中一些实施例中,输出最小层级子系统模型的树图结构数据的具体方法为:对用户自定义s-function模块路径记录描述中的所有元素添加唯一标识,创建空树图结构数据,依次遍历用户自定义s-function模块路径记录描述中的所有元素,判断是否遍历完所有元素;

16、若是,则输出最小层级子系统模型树图结构数据;

17、若否,则判断当前元素的属性,并根据当前元素的属性追加树图结构数据,直至遍历完用户自定义s-function模块路径记录描述中的的所有元素。

18、在其中一些实施例中,步骤s2还包括,解析模型中用户自定义s-function模块时,记录该模块的时间参数;步骤s5还包括,根据用户自定义s-function模块的时间参数,添加延时操作。

19、在其中一些实施例中,步骤s4中,得到最小层级子系统模型的测试用例关键描述数据的具体方法为:依次遍历最小层级子系统模型树图结构数据中的所有元素,判断是否遍历完所有元素;若是,则输出测试用例关键描述数据;若否,则根据元素属性增加不同的测试用例关键描述数据,直至遍历完所有元素。

20、在其中一些实施例中,步骤s5还包括,根据用户自定义s-function模块中输入模块的属性,提取出最小层级子系统模型的输入信号;根据用户自定义s-function模块中输出模块的属性,提取出最小层级子系统模型的输出信号。

21、在其中一些实施例中,生成最小层级子系统模型的可执行测试用例数据的具体方法为:提取出最小层级子系统模型的所有输入信号和输出信号后,依次遍历测试用例关键描述数据中的所有元素,判断是否遍历完所有元素;

22、若是,则结合车载网络控制器测试平台的测试用例模板,将当前输入信号赋值语句追加到操作步骤中,根据用户自定义s-function模块的时间参数添加延时操作,将输出信号及其期望值追加到期望结果中,生成最小层级子系统模型的可执行测试用例数据;

23、若否,则继续判断当前元素是否为第一个元素;若是,则记录延时时间后返回依次遍历测试用例关键描述数据中的所有元素;若否,则将当前元素赋值语句追加到操作步骤中,返回依次遍历测试用例关键描述数据中的所有元素。

24、基于上述方案,本发明实施例中的基于模型的车载网络控制器产品测试方法通过对模型进行预处理、解析、搜索等自动化操作,快速生成满足模型覆盖准则的测试用例数据,提高了测试用例的生成效率;并且通过对用户自定义s-function模块的路径和参数进行解析,提高测试用例的适应性和覆盖率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1