一种多激励并发的协议互操作性测试方法及系统与流程

文档序号:34310460发布日期:2023-05-31 20:58阅读:23来源:国知局
一种多激励并发的协议互操作性测试方法及系统与流程

本发明涉及能源量测,并且更具体地,涉及一种多激励并发的协议互操作性测试方法及系统。


背景技术:

1、随着国家电网公司提出建设能源互联网战略目标,用电信息采集系统中设备种类和数量呈爆发式增长,用户手机、家用电器、充电桩、智能物联电能表、台区智能融合终端、蓝牙断路器、智能计量箱、锁等各种客户侧感知设备将实现广泛接入和互联,集中器也将与配变终端融合实现跨专业数据共享。不同种类、不同厂家生产的设备要想实现互联互通,其前提条件是必须使用统一的通信协议。为满足能源互联网建设的趋势和需要,中国电力科学院牵头设计了《面向对象的用电信息数据交换协议》、《客户侧能源量测数据交换协议》等一系列通信协议。

2、为保证这些产品互联起来可以正常工作,要进行产品间的互联互通测试。目前主要有两种协议测试技术:协议互操作性测试和协议一致性测试。协议一致性测试是保证互操作性的一个必要步骤,但由于协议描述本身的模糊、厂商对协议理解和实现偏差等原因,通过协议一致性测试的产品不一定能正确互操作。协议的互操作性测试主要是为检验两个或多个协议实现体(这里指电能表、采集终端、主站系统)是否可以进行正常交互提供期望的服务。

3、进行协议互操作性测试,需要设计一整套测试方法,逐个验证产品功能。目前的测试方法主要按照以下步骤进行:

4、1、将要测试的功能模块抽象出业务对象,依据业务流程的关键步骤进行测试用例的设计。通常一个测试用例只验证一个业务功能;

5、2、生成并执行测试序列,解析协议数据,生成解析结果;

6、3、将解析结果与预期结果进行比对,并记录比对结果;根据比对结果,生成互操作测试报告。

7、现有测试方法存在以下缺陷:

8、1、需要针对不同的通信协议开发不同的测试工具,再编写大量的测试用例,测试过程要耗费大量的时间和人力。

9、2、不能适应于协议实现的整个研发阶段:当前测试用例的流程是固化的,无法灵活地对测试流程进行中止、恢复,降低了产品研发效率,增加了研发成本。

10、3、测试结果只有合格与不合格,对于失败的测试用例不能给出失败原因,不利于测试人员和程序开发人员快速定位问题进行故障分析。

11、4、执行测试时只可以选择一种激励输入通道,无法同时选择多路通道输入激励。


技术实现思路

1、根据本发明,提供了一种多激励并发的协议互操作性测试方法及系统,以解决现有测试方法,测试过程要耗费大量的时间和人力,无法灵活地对测试流程进行中止、恢复,降低了产品研发效率,增加了研发成本,对于失败的测试用例不能给出失败原因,不利于测试人员和程序开发人员快速定位问题进行故障分析,执行测试时只可以选择一种激励输入通道,无法同时选择多路通道输入激励的技术问题。

2、根据本发明的第一个方面,提供了一种多激励并发的协议互操作性测试方法,包括:

3、根据预先制定的有效性判断准则,从历史数据库中检索出有效的协议报文;

4、根据预先制定的编码规则,对所述有效的协议报文进行解析,根据应用层服务类型和具体对象属性对所述有效的协议报文进行编码,确定协议报文编码;

5、利用关联规则,将所述协议报文编码生成工况的测试用例。

6、可选地,所述有效的协议报文的有效性判断准则为对协议报文的帧头检索、帧长度试算、帧头校验、帧校验、帧尾判断;

7、帧头检索是指先搜索协议特征帧头0x68;帧长度试算是指假定该帧是符合协议的,将紧随帧头2个字节作为帧长度域,计算出理论帧长度;帧头校验hcs是对帧头部分不包含起始字符和hcs本身的所有字节的校验;帧校验fcs为2字节,是对整帧不包含起始字符、结束字符和fcs本身的所有字节的校验;帧尾判断是指判断理论帧尾是否为0x16;满足上述判断准则的报文认定为有效协议帧,不满足的则丢弃。

8、可选地,根据预先制定的编码规则,对所述有效的协议报文进行解析,根据应用层服务类型和具体对象属性对所述有效的协议报文进行编码,确定协议报文编码,包括:

9、根据预先制定的编码规则,对所述有效的协议报文进行解析,分拆为服务器地址和应用层数据单元apdu;

10、对所述应用层数据单元apdu进一步解析,根据服务类型将所述应用层数据单元apdu分为读取、设置、操作、上报,根据具体功能分为对象属性和对象方法;

11、对解析后的协议报文进行分类编码,确定协议报文编码。

12、可选地,利用关联规则,将所述协议报文编码生成工况的测试用例,包括:

13、将相同的工况信息的协议报文编码,按服务器地址、时间标签构成该工况的事务数据库,确定工况的最大关联项;

14、按照所述服务器地址、工况以及时间标签取所述协议报文编码,组成集项,确定工况的报文编码序列,生成工况的测试用例。

15、可选地,还包括:

16、根据测试目的,将多激励并发测试分为时间并发测试、存储并发测试、通用信息并发测试;

17、时间并发测试用于在同一时刻通过不同通道同时读取、设置、操作待测设备的不同对象,记录待测设备有没有存在无响应、响应时间延迟、死机、复位;

18、存储并发测试用于在同一时刻通过不同通道触发待测设备同时产生冻结数据、事件数据,回读数据,判断有没有数据缺失、数据异常;

19、通用信息并发测试用于对不同工况的测试用例,比较是否存在测试序列相同、测试序列为子集,将测试序列相同、测试序列为子集的测试用例通过不同通道进行并发测试。

20、根据本发明的另一个方面,还提供了一种多激励并发的协议互操作性测试系统,包括:

21、检索协议报文模块,用于根据预先制定的有效性判断准则,从历史数据库中检索出有效的协议报文;

22、确定协议报文编码模块,用于根据预先制定的编码规则,对所述有效的协议报文进行解析,根据应用层服务类型和具体对象属性对所述有效的协议报文进行编码,确定协议报文编码;

23、生成测试用例模块,用于利用关联规则,将所述协议报文编码生成工况的测试用例。

24、可选地,所述有效的协议报文的有效性判断准则为对协议报文的帧头检索、帧长度试算、帧头校验、帧校验、帧尾判断;

25、帧头检索是指先搜索协议特征帧头0x68;帧长度试算是指假定该帧是符合协议的,将紧随帧头2个字节作为帧长度域,计算出理论帧长度;帧头校验hcs是对帧头部分不包含起始字符和hcs本身的所有字节的校验;帧校验fcs为2字节,是对整帧不包含起始字符、结束字符和fcs本身的所有字节的校验;帧尾判断是指判断理论帧尾是否为0x16;满足上述判断准则的报文认定为有效协议帧,不满足的则丢弃。

26、可选地,确定协议报文编码模块,包括:

27、解析协议报文子模块,用于根据预先制定的编码规则,对所述有效的协议报文进行解析,分拆为服务器地址和应用层数据单元apdu;

28、解析应用层数据单元子模块,用于对所述应用层数据单元apdu进一步解析,根据服务类型将所述应用层数据单元apdu分为读取、设置、操作、上报,根据具体功能分为对象属性和对象方法;

29、确定协议报文编码子模块,用于对解析后的协议报文进行分类编码,确定协议报文编码。

30、可选地,生成测试用例模块,包括:

31、确定最大关联项子模块,用于将相同的工况信息的协议报文编码,按服务器地址、时间标签构成该工况的事务数据库,确定工况的最大关联项;

32、生成工况测试用例子模块,用于按照所述服务器地址、工况以及时间标签取所述协议报文编码,组成集项,确定工况的报文编码序列,生成工况的测试用例。

33、可选地,还包括:

34、划分并发测试模块,用于根据测试目的,将多激励并发测试分为时间并发测试、存储并发测试、通用信息并发测试;

35、时间并发测试用于在同一时刻通过不同通道同时读取、设置、操作待测设备的不同对象,记录待测设备有没有存在无响应、响应时间延迟、死机、复位;

36、存储并发测试用于在同一时刻通过不同通道触发待测设备同时产生冻结数据、事件数据,回读数据,判断有没有数据缺失、数据异常;

37、通用信息并发测试用于对不同工况的测试用例,比较是否存在测试序列相同、测试序列为子集,将测试序列相同、测试序列为子集的测试用例通过不同通道进行并发测试。

38、从而,通过关联规则技术从用采信息系统历史数据获取协议交互报文,进而自动生成工况的测试用例。这种方法自动化程度较高,测试用例来源于现场,更接近使用环境,测试效果更好。增加了测试模式配置功能,测试工具对开发人员更加友好,提高开发效率,节省测试时间。改进了测试报告的展示方式,便于快速定位测试中的问题,统计各个测试用例失败比例及原因。提供了几种并发测试的方法,为评判待测设备稳定性、可靠性提供了一种观测视角;通用的并发测试可以大大压缩测试时间,提高测试效率。

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