基于OPC协议的可扩展软件系统测试框架的测试方法技术方案

技术编号:39000592 阅读:12 留言:0更新日期:2023-10-07 10:32
本发明专利技术属于软件系统测试领域,具体说是一种基于OPC协议的可扩展软件系统测试框架的测试方法。包括以下步骤:将GUI集成测试平台与数据库连接;中间层的数据库与下层的被测对象相连接;数据库采集被测对象的工参指令,对采集到的被测对象的工参指令进行解析,得到工参属性值,并转化为工参信息传输至GUI集成测试平台,根据测试需求在GUI界面实时显示;同时根据测试需求将对被测对象的控制信息写入数据库,并将控制信息转化为指令属性值传递给数据库;数据库读取指令属性值,按照通信协议组包为控制指令发送给被测对象完成测试。本发明专利技术增强了GUI集成测试平台对不同被测对象的适应能力,提高了测试方法的通用性以及测试结果的可靠性。性。性。

【技术实现步骤摘要】
基于OPC协议的可扩展软件系统测试框架的测试方法


[0001]本专利技术属于软件系统测试领域,具体说是一种基于OPC协议的可扩展软件系统测试框架的测试方法。

技术介绍

[0002]随着计算机与通信技术在民用、航天等领域的应用与发展,现场总线控制系统的功能和结构日益复杂,对每个独立设备或模块开发测试软件已经渐渐显得力不从心,难以满足测试需求,同时又会增加测试成本。
[0003]目前,市场上较为成熟的工业产品都具备独立的开发测试平台,例如,Basler pylon,TMCL

IDE等。其可满足同平台下各型号设备(如BaslerAce/Ace2/Scout系列以太网相机,TrinamicQSH/QBL系列步进电机等)间的开发测试。但由于各产品间接口及通信协议的限制,这些测试平台不具备跨平台产品间的系统测试,这大大降低了测试平台的通用性。当多个不同平台的产品集成到一个模块或系统时,上述测试平台可以独立完成其产品的测试工作,这降低了测试复杂度,但也降低了产品间测试的覆盖率,降低了测试结果的可靠性。
[0004]因此,设计一种接口和通信协议同时可扩展的软件系统测试框架,以满足测试设备或测试项的变更,是非常必要的。

技术实现思路

[0005]本专利技术目的是提供一种基于OPC协议的可扩展软件系统测试框架的测试方法。当新增不同通信协议的设备时,只需要对下层数据库中的协议文件进行装订,下层数据库和上层测试平台的代码不会变更;当对已有设备的测试项进行变更时,只需要对上层平台对应测试模块GUI进行修改。这增强了软件集成测试平台对不同测试设备和测试功能的适应能力,提高了软件测试的效率,降低了代码维护的成本。
[0006]本专利技术为实现上述目的所采用的技术方案是:一种基于OPC协议的可扩展软件系统测试框架的测试方法,包括以下步骤:
[0007]1)对数据库初始化,将GUI集成测试平台与数据库连接;中间层的数据库与下层的被测对象相连接;被测对象根据通信协议要求,完成应用层握手流程,数据库与被测对象握手成功,建立通信通道;
[0008]2)数据库与被测对象数据库建立通信通道后,数据库采集被测对象的工参指令;
[0009]3)数据库的消息处理模块,对采集到的被测对象的工参指令进行解析,得到工参属性值,并将工参属性值写入数据库中,同时将工参属性值转化为工参信息传输至GUI集成测试平台;
[0010]4)GUI集成测试平台读取数据库中工参信息,并根据测试需求在GUI界面实时显示;同时,GUI集成测试平台根据测试需求将对被测对象的控制信息写入数据库,并将控制信息转化为指令属性值传递给数据库的消息处理模块;
[0011]5)数据库的消息处理模块读取数据库中指令属性值,并按照通信协议,组包为控制指令,数据库将控制指令发送给被测对象;评估本轮测试结果,完成测试。
[0012]所述数据库,包括:OPC服务器、通信协议修订模块、消息处理模块、串口服务端和TCP服务端;
[0013]OPC服务器,包括:指令库和工参库;
[0014]其中,指令库,用于存储GUI集成测试平台OPC客户端下发的被测对象控制信息,通过OPC协议将控制信息转化为指令属性值传递给数据库的消息处理模块;
[0015]工参库,用于存储数据库的消息处理模块输入的工参属性值,通过OPC协议将工参属性值转化为工参信息传递给GUI集成测试平台的OPC客户端;
[0016]通信协议修订模块,用于读取解析数据库的配置文件和通信协议配置文件;
[0017]所述数据库配置文件的内容,包括:被测对象信息、通信协议配置文件名、串口信息、TCP服务端信息;
[0018]所述通信协议配置文件的内容,包括:应用层握手协议、工参通信协议、指令通信协议;
[0019]消息处理模块,用于载入握手协议、工参协议和指令协议,接收并处理串口/TCP服务端传入的工参指令、握手指令和握手指令反馈,接收并处理OPC服务器传入的指令属性值,向OPC服务器发送工参属性值,向串口/TCP服务端发送工参查询指令、控制指令和握手指令反馈;
[0020]所述串口服务端,包括:串口数据发送线程、串口数据接收线程、串口数据发送缓存区以及串口缺失数据缓存区;
[0021]串口数据发送线程,用于定时读取消息发送缓存区中数据,并存入串口数据发送缓存区;
[0022]串口数据接收线程,用于定时读取串口数据接收缓存区中数据,并存入消息接收缓存区;
[0023]串口数据发送缓存区,用于存储串口发送数据;串口数据接收缓存区,用于存储串口接收数据;
[0024]串口缺失数据缓存区,用于存储串口接收到的不完整数据;
[0025]所述TCP服务端,包括:TCP数据发送线程、TCP数据接收线程、TCP数据发送缓存区、TCP数据接收缓存区以及TCP缺失数据缓存区;
[0026]TCP数据发送线程,用于定时读取消息发送缓存区中数据,并存入TCP数据发送缓存区;
[0027]TCP数据接收线程,用于定时读取TCP数据接收缓存区中数据,并存入消息接收缓存区;
[0028]TCP数据发送缓存区,用于存储TCP服务端发送数据;
[0029]TCP数据接收缓存区,用于存储TCP服务端接收数据;
[0030]TCP缺失数据缓存区,用于存储TCP服务端接收到的不完整数据。
[0031]步骤1)中,所述应用层握手协议的执行步骤,具体为:
[0032]1‑
1)被测对象通过串口或以太网接口连接数据库,被测对象向数据库发送握手指令,指令格式由被测对象定义;
[0033]1‑
2)数据库接收到握手指令后,验证其正确性,如果正确,则数据库在接收到握手指令的3s内向被测对象发送握手指令反馈;否则数据库认为本次握手过程无效,等待下一次握手指令;
[0034]1‑
3)被测对象接收到握手指令反馈后,验证其正确性,如果正确且被测对象握手指令发送与握手指令反馈接收的时间间隔不大于5s,则被测对象在接收到握手指令反馈的3s内向数据库发送握手指令确认;否则被测对象认为本次握手过程无效,并在被测对象发送握手指令的5s后重新发送握手指令;
[0035]1‑
4)数据库接收到握手指令确认后,验证其正确性,如果正确且数据库握手指令反馈发送与握手指令确认接收的时间间隔不大于5s,则数据库认为与被测对象间的通信通道建立成功,数据库周期性向被测对象发送工参查询指令;否则数据库认为本次握手过程无效,等待下一次握手指令;
[0036]1‑
5)如果被测对象发送握手指令确认后5s内未接收到工参查询指令,则被测对象认为本次握手过程无效,并在被测对象发送握手指令确认的5s后重新发送握手指令;否则被测对象认为与数据库间的通信通道建立成功,并在被测对象接收工参查询指令的3s内向数据库发送工参指令;
[0037]1‑
6)数据库与被测对象间本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于OPC协议的可扩展软件系统测试框架的测试方法,其特征在于,包括以下步骤:1)对数据库初始化,将GUI集成测试平台与数据库连接;中间层的数据库与下层的被测对象相连接;被测对象根据通信协议要求,完成应用层握手流程,数据库与被测对象握手成功,建立通信通道;2)数据库与被测对象数据库建立通信通道后,数据库采集被测对象的工参指令;3)数据库的消息处理模块,对采集到的被测对象的工参指令进行解析,得到工参属性值,并将工参属性值写入数据库中,同时将工参属性值转化为工参信息传输至GUI集成测试平台;4)GUI集成测试平台读取数据库中工参信息,并根据测试需求在GUI界面实时显示;同时,GUI集成测试平台根据测试需求将对被测对象的控制信息写入数据库,并将控制信息转化为指令属性值传递给数据库的消息处理模块;5)数据库的消息处理模块读取数据库中指令属性值,并按照通信协议,组包为控制指令,数据库将控制指令发送给被测对象;评估本轮测试结果,完成测试。2.根据权利要求1所述的基于OPC协议的可扩展软件系统测试框架的测试方法,其特征在于,所述数据库,包括:OPC服务器、通信协议修订模块、消息处理模块、串口服务端和TCP服务端;OPC服务器,包括:指令库和工参库;其中,指令库,用于存储GUI集成测试平台OPC客户端下发的被测对象控制信息,通过OPC协议将控制信息转化为指令属性值传递给数据库的消息处理模块;工参库,用于存储数据库的消息处理模块输入的工参属性值,通过OPC协议将工参属性值转化为工参信息传递给GUI集成测试平台的OPC客户端;通信协议修订模块,用于读取解析数据库的配置文件和通信协议配置文件;所述数据库配置文件的内容,包括:被测对象信息、通信协议配置文件名、串口信息、TCP服务端信息;所述通信协议配置文件的内容,包括:应用层握手协议、工参通信协议、指令通信协议;消息处理模块,用于载入握手协议、工参协议和指令协议,接收并处理串口/TCP服务端传入的工参指令、握手指令和握手指令反馈,接收并处理OPC服务器传入的指令属性值,向OPC服务器发送工参属性值,向串口/TCP服务端发送工参查询指令、控制指令和握手指令反馈;所述串口服务端,包括:串口数据发送线程、串口数据接收线程、串口数据发送缓存区以及串口缺失数据缓存区;串口数据发送线程,用于定时读取消息发送缓存区中数据,并存入串口数据发送缓存区;串口数据接收线程,用于定时读取串口数据接收缓存区中数据,并存入消息接收缓存区;串口数据发送缓存区,用于存储串口发送数据;串口数据接收缓存区,用于存储串口接收数据;串口缺失数据缓存区,用于存储串口接收到的不完整数据;所述TCP服务端,包括:TCP数据发送线程、TCP数据接收线程、TCP数据发送缓存区、TCP
数据接收缓存区以及TCP缺失数据缓存区;TCP数据发送线程,用于定时读取消息发送缓存区中数据,并存入TCP数据发送缓存区;TCP数据接收线程,用于定时读取TCP数据接收缓存区中数据,并存入消息接收缓存区;TCP数据发送缓存区,用于存储TCP服务端发送数据;TCP数据接收缓存区,用于存储TCP服务端接收数据;TCP缺失数据缓存区,用于存储TCP服务端接收到的不完整数据。3.根据权利要求1所述的基于OPC协议的可扩展软件系统测试框架的测试方法,其特征在于,步骤1)中,所述应用层握手协议的执行步骤,具体为:1

1)被测对象通过串口或以太网接口连接数据库,被测对象向数据库发送握手指令,指令格式由被测对象定义;1

2)数据库接收到握手指令后,验证其正确性,如果正确,则数据库在接收到握手指令的3s内向被测对象发送握手指令反馈;否则数据库认为本次握手过程无效,等待下一次握手指令;1

3)被测对象接收到握手指令反馈后,验证其正确性,如果正确且被测对象握手指令发送与握手指令反馈接收的时间间隔不大于5s,则被测对象在接收到握手指令反馈的3s内向数据库发送握手指令确认;否则被测对象认为本次握手过程无效,并在被测对象发送握手指令的5s后重新发送握手指令;1

4)数据库接收到握手指令确认后,验证其正确性,如果正确且数据库握手指令反馈发送与握手指令确认接收的时间间隔不大于5s,则数据库认为与被测对象间的通信通道建立成功,数据库周期性向被测对象发送工参查询指令;否则数据库认为本次握手过程无效,等待下一次握手指令;1

5)如果被测对象发送握手指令确认后5s内未接收到工参查询指令,则被测对象认为本次握手过程无效,并在被测对象发送握手指令确认的5s后重新发送握手指令;否则被测对象认为与数据库间的通信通道建立成功,并在被测对象接收工参查询指令的3s内向数据库发送工参指令;1

6)数据库与被测对象间的通信通道建立成功后,如果数据库连续3s内未接收到被测对象的工参指令,则数据库断开与被测对象间的通信通道,等待下一次握手指令;否则数据库与被测对象正常通信;1

7)被测对象与数据库间的通信通道建立成功后,如果被测对象连续5s内未接收到数据库的工参查询指令,则被测对象断开与数据库间的通信通道,重新进行流程1);否则被测对象与数据库正常通信。4.根据权利要求2所述的基于OPC协议的可扩展软件系统测试框架的测试方法,其特征在于,所述消息处理模块,包括:指令解析线程、工参采集定时器、工参解析线程、指令组包线程、消息发送缓存区、消息接收缓存区和工程数据缓存区;其中,指令解析线程,用于载入握手协议和工参协议,读取消息接收缓存区中数据,按照握手协议解析握手指令和握手指令确认,将握手指令反馈存入消息发送缓存区,握手成功后,握手状态标识置握手成功,启动工参采集定时器和工参解析线程,并按照工参协议解析工参指令,将正确工参指令存入工程数据缓存区;工参采集定时器,用于载入工参通信协议,并设置工参采集周期,同时判断数据库与被
测对象的握手状态,如果握手状态为失败,则数据库断开与被测对象通信通道,工参查询连续未回应计数置为0,结束工参采集定时器;如果握手状态为成功,则定时向消息发送缓存区写入工参查询指令,工参查询连续未回应计数为+1,当工参查询连续未回应计数≥6时,握手状态置失败,数据库断开与被测对象通信通道,工参查询连续未回应计数置为0,结束工参采集定时器;工参解析线程,用于载入工参通信协议,判断当前数据库与被测对象的握手状态,若握手失败,则结束工参解析线程;若握手成功,且工程数据缓存区不为无效时,读取工程数据缓存区工参数据,并清空工程数据缓存区,按照工参通信协议解析工参数据,并将解析后的工参属性值更新到OPC服务器的工参库中;指令组包线程,用于载入指令通信协议,读取OPC服务器的指令库;并判断...

【专利技术属性】
技术研发人员:王紫阳刘晓源李正王清超迟浩东
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:

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

1