一种基于S7工业协议的行为审计自动化测试方法技术

技术编号:24995627 阅读:49 留言:0更新日期:2020-07-24 17:58
本发明专利技术实施例公开了一种基于S7工业协议的行为审计自动化测试方法,根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例,将测试用例通过计算机程序设计语言变为测试脚本;测试脚本自动回放不同功能码的S7报文,且自动访问审计产品页面,获取行为审计数据信息;测试脚本校验行为审计数据是否与当前回放报文中的功能码对应的具体行为相符,并返回测试结果;批量执行所有用例脚本,自动回填结果,生成测试报告。本发明专利技术实施例提供一种基于S7工业协议的行为审计自动化测试方法,以解决手工测试效率低,且容易出现漏测、误测,严重影响测试时间,甚至影响产品发布的问题。

【技术实现步骤摘要】
一种基于S7工业协议的行为审计自动化测试方法
本专利技术实施例涉及测试
,具体涉及一种基于S7工业协议的行为审计自动化测试方法。
技术介绍
随着信息技术的发展,工业控制系统逐步走向互联网化,审计产品旨在详实记录一切网络通信行为,包括指令级的工业控制协议通信记录,为工业控制系统的安全事故调查提供坚实基础,于是审计产品功能的测试便显得尤为重要。目前,针对审计产品的行为审计都是基于手工测试,但是由于工控协议解析命令繁多,手工测试费时费力,还容易漏测误测,因此使用自动化测试工业控制协议具有较高的应用价值。现有行为审计测试主要是人工操作,通过回放S7报文,测试行为审计数据是否与报文中功能命令对应的具体行为操作相符。但是手工测试效率低,且容易出现漏测、误测,严重影响测试时间,甚至影响产品发布。
技术实现思路
为此,本专利技术实施例提供一种基于S7工业协议的行为审计自动化测试方法,以解决手工测试效率低,且容易出现漏测、误测,严重影响测试时间,甚至影响产品发布的问题。为了实现上述目的,本专利技术实施例提供如下技术方案:根据本专利技术实施例的公开的一种基于S7工业协议的行为审计自动化测试方法,包括以下步骤:S101、根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例;S102、将步骤S101中的测试用例通过计算机程序设计语言变为测试脚本;S103、通过测试脚本自动回放不同功能码的S7报文;S104、所述测试脚本自动访问审计产品页面,并自动获取行为审计数据信息;S105、所述测试脚本自动校验行为审计数据与当前回放S7报文中的功能码对应的具体行为是否相符,并得到测试结果;S106、加载所有测试用例,根据实际测试需求选择执行单个测试用例或批量执行所有测试用例;S107、等待测试脚本执行完成,测试用例自动回填测试结果,生成测试报告。进一步地,在步骤S102中,测试用例通过自动化测试pythonnose框架变为测试脚本。进一步地,在步骤S103中,所述测试脚本通过登录访问模拟器,进行S7报文行为的模拟。进一步地,在步骤S105中,对下个测试用例执行前所需的预置环境和测试用例执行的环境进行清理。本专利技术实施例具有如下优点:本专利技术专利公开的一种基于S7工业协议的行为审计自动化测试方法,根据S7报文功能特性,将字段值与行为的对应关系编写成测试脚本,然后测试脚本通过自动回放S7协议,检查审计产品行为审计数据是否与回放报文字段匹配。本专利技术通过运行自动回放不同功能命令的S7报文,并检测行为审计数据信息,为测试人员节省大量的时间和精力,提高测试效率;测试脚本遍历所有S7报文行为,自动回填测试结果,输出测试报告,便于产品的快速回归。附图说明为了更清楚地说明本专利技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本专利技术可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本专利技术所能产生的功效及所能达成的目的下,均应仍落在本专利技术所揭示的
技术实现思路
能涵盖的范围内。图1为本专利技术实施例提供的一种基于S7工业协议的行为审计自动化测试方法的流程框图。具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。结合图1所示,本专利技术公开了一种基于S7工业协议的行为审计自动化测试方法,包括以下步骤:S101、根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例。S102、将步骤S101中的测试用例通过自动化测试pythonnose框架变为测试脚本,体为一条测试用例一个方法,遍历所有S7报文行为。S103、通过测试脚本自动回放不同功能码的S7报文。S104、所述测试脚本自动访问审计产品页面,并自动获取行为审计数据信息。S105、所述测试脚本自动校验行为审计数据与当前回放S7报文中的功能码对应的具体行为是否相符,并得到测试结果。利用setup和teardown函数编写每个测试用例执行前所需的预置环境和每个用例执行的环境清理操作,例如每个测试脚本执行后需要清理行为审计数据,避免干扰下一个用例的测试结果。S106、加载所有测试用例,根据实际测试需求选择执行单个测试用例或批量执行所有测试用例。例如,仅回归测试S7‘上传’行为审计,可单独选择‘上传’的用例进行测试,如需遍历所有行为,可批量执行所有用例。S107、等待测试脚本执行完成,测试用例自动回填测试结果,生成测试报告。本专利技术专利公开的一种基于S7工业协议的行为审计自动化测试方法,根据S7报文功能特性,将字段值与行为的对应关系编写成测试脚本,然后测试脚本通过自动回放S7协议,检查审计产品行为审计数据是否与回放报文字段匹配。本专利技术通过运行自动回放不同功能命令的S7报文,并检测行为审计数据信息,为测试人员节省大量的时间和精力,提高测试效率;测试脚本遍历所有S7报文行为,自动回填测试结果,输出测试报告,便于产品的快速回归。实施例1:S201、根据S7工业协议的报文功能,将字段值0x03与具体行为‘PLC热启动’的对应关系编写成测试用例;S202、将步骤S201中的测试用例通过自动化测试pythonnose框架变为测试脚本;S203、通过测试脚本实现登录访问模拟器,模拟PLC热启动操作;S204、测试脚本登录审计产品页面,获取行为审计数据;S205、测试脚本判断审计产品是否将模拟器发出报文正确识别并转换为‘PLC热启动’行为;S206、行为审计数据为‘PLC热启动’,则用例通过,否则用例失败。实施例2:S301、根据S7工业协议的报文功能,将字段值0x1d、0x1c与具体行为‘开始下载’、‘结束下载’的对应关系编写成测试用例;S302、将步骤S301中的测试用例通过自动化测试pythonnose框架变为测试脚本;S303、通过测试脚本实现登录访问模拟器,模拟下载动作;S304、测试脚本登录审计产品页面,获取行为审计数据;S305、测试脚本判断审计产品是否将模拟器发出报文正确识别并转换为‘开始下载’、‘结束下载’行为;S306、行为审计数据为‘开始下载’、‘结束下载’,则用例本文档来自技高网
...

【技术保护点】
1.一种基于S7工业协议的行为审计自动化测试方法,其特征在于,包括以下步骤:/nS101、根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例;/nS102、将步骤S101中的测试用例通过计算机程序设计语言变为测试脚本;/nS103、通过测试脚本自动回放不同功能码的S7报文;/nS104、所述测试脚本自动访问审计产品页面,并自动获取行为审计数据信息;/nS105、所述测试脚本自动校验行为审计数据与当前回放S7报文中的功能码对应的具体行为是否相符,并得到测试结果;/nS106、加载所有测试用例,根据实际测试需求选择执行单个测试用例或批量执行所有测试用例;/nS107、等待测试脚本执行完成,测试用例自动回填测试结果,生成测试报告。/n

【技术特征摘要】
1.一种基于S7工业协议的行为审计自动化测试方法,其特征在于,包括以下步骤:
S101、根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例;
S102、将步骤S101中的测试用例通过计算机程序设计语言变为测试脚本;
S103、通过测试脚本自动回放不同功能码的S7报文;
S104、所述测试脚本自动访问审计产品页面,并自动获取行为审计数据信息;
S105、所述测试脚本自动校验行为审计数据与当前回放S7报文中的功能码对应的具体行为是否相符,并得到测试结果;
S106、加载所有测试用例,根据实际测试需求选择执行单个测试用例或批量执行所有测试用例;
S107...

【专利技术属性】
技术研发人员:王小东王阳
申请(专利权)人:北京天地和兴科技有限公司
类型:发明
国别省市:北京;11

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

1