一种车载网络管理通用测试用例协议的设计方法与流程

文档序号:14389850阅读:1254来源:国知局
一种车载网络管理通用测试用例协议的设计方法与流程

本发明涉及汽车网络管理测试技术领域,尤其涉及一种车载网络管理通用测试用例协议的设计方法。



背景技术:

目前,针对网络管理的一致性测试大多都是选用ttcn语言描述的测试套完成的。ttcn是一种专门描述测试的半形式语言,其标准化和独立性的优点使得标准定义及其繁琐,一般测试人员很难掌握。而且测试一个项目所需要写的测试用例的篇幅比较长,测试用例的信息意义不够直观,容易出错,这种测试方法消耗了大量人力物力。



技术实现要素:

本发明的目的是为了解决现有技术中存在的缺点,而提出的一种车载网络管理通用测试用例协议的设计方法。

为了实现上述目的,本发明采用了如下技术方案:

设计一种车载网络管理通用测试用例协议的设计方法,包括以下步骤:

s1、分析归纳,其具体步骤如下:

a1、分析各标准网络管理的测试协议和设计规范,针对基于can总线各种标准车载网络管理的测试协议和设计规范进行分析,如osek/vdx/autosar标准网络管理的测试协议和设计规范;

a2、完成测试项目的归纳,将上述各标准网络管理的测试项目集合在一起,尽可能集中所有的测试项目,包括物理层测试、通信层测试、网络层测试;

s2、通用测试用例协议的设计,其具体步骤如下:

b1、采用一种基于xml语言和c语言的编程思维发展的另一种文本语言,具有跨平台性和拓展性,以不同的标识符表示不同的语法结构,包括参数分隔符“,”、指令操作符“<>”、模块封装符“{}”、条件判断符“()”、语句结束“;”、时间范围/事件分隔“:”、对象求和符“|”和can报文集合符“[]”;

b2通过指令包头来决定是简单指令,即单条的<>指令,包括io指令、vol电压指令、can信号指令、timer定时器指令,还是return跳转指令、test检测指令、while循环指令、switch选择指令,if条件判断指令,并且配合标识符一起,完成各种指令的语法结构定义;

b3、以各级别关键字来区别操作信号,操作类型和信号量值,且所有的关键字都选用大写字母、数字或下划线组成,关键字的定义有一定的含义,能够见名知义,包括第一关键字包括io口操作,vol电压操作,can信号操作,还是timer定时器操作,第二关键字包括up增加操作,down减小操作,on操作,off操作,元素值则表示相应的信号量值,如can的数据,电压值,io的序号等;

b4、测试用例协议规定了测试用例能够兼容多种编写格式,是字符串格式、数字格式或者两者兼容,can报文兼容inter和motorla两种编码方式,实现了测试人员对用例文件编写的直观性和通用性;

s3、测试用例的生成,按照上一步的测试协议规范来编辑;

s4、测试用例的编码和解析,建立编译规则树对测试用例进行编译,编译规则树由节点序号、节点键值和节点注释组成。依照规则树的编译思想,进行测试用例的解码;

s5、测试用例的传输和存储。

优选的,测试用例的生成能够选用任何文本编辑器对测试用例进行浏览、编辑和修改,最后修改为.log脚本文件。

优选的,测试用例传输协议是根据包头、指令id号、数据长度、数据、校验数据编程一个包传输给下位机的。

优选的,测试用例的存储采用队列和链表组合的存储结构单元。

本发明提出的一种车载网络管理通用测试用例协议的设计方法,测试时,需要根据以上测试规范来编写测试脚本,然后通过脚本里面的命令控制硬件平台信号来实现整个测试的。有益效果在于:本发明提供一种车载网络管理通用测试用例协议的设计方法,能够直观地表达测试例的信息意义,还具有良好的通用性,减少了错误的发生,降低了人力物力的损耗。

附图说明

图1为本发明提出的一种车载网络管理通用测试用例协议的设计方法的流程图;

图2为本发明提出的一种车载网络管理通用测试用例协议的测试用例协议部分指令定义图;

图3为本发明提出的一种车载网络管理通用测试用例协议的测试用例指令语法结构部分定义截图;

图4为本发明提出的一种车载网络管理通用测试用例协议的测试用例编译规则树部分展示图;

图5为本发明提出的一种车载网络管理通用测试用例协议的串口传输协议展示图。

具体实施方式

下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

参照图1,一种车载网络管理通用测试用例协议的设计方法,包括以下步骤:

s1、分析归纳,其具体步骤如下:

a1、分析各标准网络管理的测试协议和设计规范,针对基于can总线各种标准车载网络管理的测试协议和设计规范进行分析,如osek/vdx/autosar标准网络管理的测试协议和设计规范,分析其测试需要满足的时间精度,误差范围以及测试需要满足的硬线条件等;

a2、完成测试项目的归纳,将上述各标准网络管理的测试项目集合在一起,尽可能集中所有的测试项目,包括物理层测试、通信层测试、网络层测试,其中物理层主要是针对can干扰测试和dut供电失效测试,通信层主要是针对报文重发能力,报文的类型,长度和周期来进行测试,网络层主要是针对网络的唤醒、休眠和网络节点等出异常时的测试。

s2、通用测试用例协议的设计,一条测试用例包括多个测试模块,每个模块又包含多条操作指令,每个模块都有自己的id号,每个模块执行完成之后,都会返回当前模块的测试结果,pass或者fail.其具体步骤如下:

b1、采用一种基于xml语言和c语言的编程思维发展的另一种文本语言,具有跨平台性和拓展性,以不同的标识符表示不同的语法结构,包括参数分隔符“,”、指令操作符“<>”、模块封装符“{}”、条件判断符“()”、语句结束“;”、时间范围/事件分隔“:”、对象求和符“|”和can报文集合符“[]”,通过这些标识符和关键字来组成不同的指令,如<io,p1,up>指令,其中的‘<’和‘>’表示单条指令的开始和结束。‘<’和‘>’配合使用,表示一条完整的简单指令,而‘[’和‘]’一起表示简单指令的集合,即内部可以编辑多条简单指令。如图2,标识符及其含义;

b2通过指令包头来决定是简单指令(单条的‘<’到‘>’组成的指令,包括io指令、vol电压指令、can信号指令或timer定时器指令),还是return跳转指令、test检测指令、while循环指令、switch选择指令,if条件判断指令等,结合标识符的含义,形成不同的指令语法结构。return跳转指令,会根据当前模块执行完之后返回的结果是fail还是pass,跳转到对应的模块;test检测指令,描述要检测的信息,can信息或者io口信息;while循环指令,描述是否检测到test指令中的信息和是否满足其它循环条件来进行循环操作;if条件指令,描述如果检测到test指令中信号就执行if事件集,如果没有,则执行else事件集,switch指令,通过test指令执行之后的返回值来决定执行switch事件集中的哪些指令集。如图2,指令包头及其含义,如图3,指令语法结构部分截图;

b3、以各级别关键字来区别操作信号,操作类型和信号量值,如第一关键字包括io口操作,vol电压操作,can信号操作,还是timer定时器操作,第二关键字包括up增加操作,down减小操作,on操作,off操作,元素值则表示相应的信号量值,如can的数据,电压值,io的序号等,如<io,p1,up>指令,即表示将io口信号pi引脚拉高,如图2,关键字及其含义;

b4、同时测试用例协议规定了测试用例能够兼容多种编写格式,如字符串格式、数字格式或者两者兼容,同时can报文兼容inter和motorla两种编码方式,实现了测试人员对用例文件编写的直观性和通用性;

s3、测试用例的生成,按照上一步的测试协议规范来编辑,测试用例的生成能够选用任何文本编辑器对测试用例进行浏览、编辑和修改,同时兼容双斜杠“//”单行注释和斜杠星号“/**/”段落注释;

s4、测试用例的编码和解析,参照图4,采用c语言编译规则树对测试用例进行编译,编译规则树由节点序号、节点键值和节点注释组成。节点序号中的‘.’决定着该节点在树中的层次,即关键字的级别。其中的数值代表当前层次的节点号。节点键值表示对应节点序号应该存放的关键字,注释即解释当前节点值的实际意思,编译时,编译系统会跳过测试用例中的编译信息。依照规则树的编译思想,进行测试用例的解码,如“1.2.io//io信号”一行中,表示1.2.对应的规则树节点处存储“io”字符串,编译时直接对比关键字就可以判断是不是io信号;

s5、测试用例的传输和存储,如图5,测试用例传输协议是根据包头、命令id号、数据长度、数据、校验数据编程一个包传输给下位机的,测试用例的存储采用队列和链表组合的存储结构单元。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

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