CN111444108A - 一种基于s7工业协议的行为审计自动化测试方法 - Google Patents
一种基于s7工业协议的行为审计自动化测试方法 Download PDFInfo
- Publication number
- CN111444108A CN111444108A CN202010287922.0A CN202010287922A CN111444108A CN 111444108 A CN111444108 A CN 111444108A CN 202010287922 A CN202010287922 A CN 202010287922A CN 111444108 A CN111444108 A CN 111444108A
- Authority
- CN
- China
- Prior art keywords
- test
- behavior
- audit
- industrial protocol
- method based
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 123
- 238000012550 audit Methods 0.000 title claims abstract description 40
- 238000013515 script Methods 0.000 claims abstract description 39
- 230000006870 function Effects 0.000 claims abstract description 20
- 238000010998 test method Methods 0.000 claims abstract description 9
- 238000004088 simulation Methods 0.000 claims description 2
- 230000003542 behavioural effect Effects 0.000 claims 3
- 230000006399 behavior Effects 0.000 description 42
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明实施例公开了一种基于S7工业协议的行为审计自动化测试方法,根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例,将测试用例通过计算机程序设计语言变为测试脚本;测试脚本自动回放不同功能码的S7报文,且自动访问审计产品页面,获取行为审计数据信息;测试脚本校验行为审计数据是否与当前回放报文中的功能码对应的具体行为相符,并返回测试结果;批量执行所有用例脚本,自动回填结果,生成测试报告。本发明实施例提供一种基于S7工业协议的行为审计自动化测试方法,以解决手工测试效率低,且容易出现漏测、误测,严重影响测试时间,甚至影响产品发布的问题。
Description
技术领域
本发明实施例涉及测试技术领域,具体涉及一种基于S7工业协议的行为审计自动化测试方法。
背景技术
随着信息技术的发展,工业控制系统逐步走向互联网化,审计产品旨在详实记录一切网络通信行为,包括指令级的工业控制协议通信记录,为工业控制系统的安全事故调查提供坚实基础,于是审计产品功能的测试便显得尤为重要。
目前,针对审计产品的行为审计都是基于手工测试,但是由于工控协议解析命令繁多,手工测试费时费力,还容易漏测误测,因此使用自动化测试工业控制协议具有较高的应用价值。
现有行为审计测试主要是人工操作,通过回放S7报文,测试行为审计数据是否与报文中功能命令对应的具体行为操作相符。但是手工测试效率低,且容易出现漏测、误测,严重影响测试时间,甚至影响产品发布。
发明内容
为此,本发明实施例提供一种基于S7工业协议的行为审计自动化测试方法,以解决手工测试效率低,且容易出现漏测、误测,严重影响测试时间,甚至影响产品发布的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的公开的一种基于S7工业协议的行为审计自动化测试方法,包括以下步骤:
S101、根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例;
S102、将步骤S101中的测试用例通过计算机程序设计语言变为测试脚本;
S103、通过测试脚本自动回放不同功能码的S7报文;
S104、所述测试脚本自动访问审计产品页面,并自动获取行为审计数据信息;
S105、所述测试脚本自动校验行为审计数据与当前回放S7报文中的功能码对应的具体行为是否相符,并得到测试结果;
S106、加载所有测试用例,根据实际测试需求选择执行单个测试用例或批量执行所有测试用例;
S107、等待测试脚本执行完成,测试用例自动回填测试结果,生成测试报告。
进一步地,在步骤S102中,测试用例通过自动化测试python nose框架变为测试脚本。
进一步地,在步骤S103中,所述测试脚本通过登录访问模拟器,进行S7报文行为的模拟。
进一步地,在步骤S105中,对下个测试用例执行前所需的预置环境和测试用例执行的环境进行清理。
本发明实施例具有如下优点:
本发明专利公开的一种基于S7工业协议的行为审计自动化测试方法,根据S7报文功能特性,将字段值与行为的对应关系编写成测试脚本,然后测试脚本通过自动回放S7协议,检查审计产品行为审计数据是否与回放报文字段匹配。本发明通过运行自动回放不同功能命令的S7报文,并检测行为审计数据信息,为测试人员节省大量的时间和精力,提高测试效率;测试脚本遍历所有S7报文行为,自动回填测试结果,输出测试报告,便于产品的快速回归。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本发明实施例提供的一种基于S7工业协议的行为审计自动化测试方法的流程框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1所示,本发明公开了一种基于S7工业协议的行为审计自动化测试方法,包括以下步骤:
S101、根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例。
S102、将步骤S101中的测试用例通过自动化测试python nose框架变为测试脚本,体为一条测试用例一个方法,遍历所有S7报文行为。
S103、通过测试脚本自动回放不同功能码的S7报文。
S104、所述测试脚本自动访问审计产品页面,并自动获取行为审计数据信息。
S105、所述测试脚本自动校验行为审计数据与当前回放S7报文中的功能码对应的具体行为是否相符,并得到测试结果。利用setup和teardown函数编写每个测试用例执行前所需的预置环境和每个用例执行的环境清理操作,例如每个测试脚本执行后需要清理行为审计数据,避免干扰下一个用例的测试结果。
S106、加载所有测试用例,根据实际测试需求选择执行单个测试用例或批量执行所有测试用例。例如,仅回归测试S7‘上传’行为审计,可单独选择‘上传’的用例进行测试,如需遍历所有行为,可批量执行所有用例。
S107、等待测试脚本执行完成,测试用例自动回填测试结果,生成测试报告。
本发明专利公开的一种基于S7工业协议的行为审计自动化测试方法,根据S7报文功能特性,将字段值与行为的对应关系编写成测试脚本,然后测试脚本通过自动回放S7协议,检查审计产品行为审计数据是否与回放报文字段匹配。本发明通过运行自动回放不同功能命令的S7报文,并检测行为审计数据信息,为测试人员节省大量的时间和精力,提高测试效率;测试脚本遍历所有S7报文行为,自动回填测试结果,输出测试报告,便于产品的快速回归。
实施例1:
S201、根据S7工业协议的报文功能,将字段值0x03与具体行为‘PLC热启动’的对应关系编写成测试用例;
S202、将步骤S201中的测试用例通过自动化测试python nose框架变为测试脚本;
S203、通过测试脚本实现登录访问模拟器,模拟PLC热启动操作;
S204、测试脚本登录审计产品页面,获取行为审计数据;
S205、测试脚本判断审计产品是否将模拟器发出报文正确识别并转换为‘PLC热启动’行为;
S206、行为审计数据为‘PLC热启动’,则用例通过,否则用例失败。
实施例2:
S301、根据S7工业协议的报文功能,将字段值0x1d、0x1c与具体行为‘开始下载’、‘结束下载’的对应关系编写成测试用例;
S302、将步骤S301中的测试用例通过自动化测试python nose框架变为测试脚本;
S303、通过测试脚本实现登录访问模拟器,模拟下载动作;
S304、测试脚本登录审计产品页面,获取行为审计数据;
S305、测试脚本判断审计产品是否将模拟器发出报文正确识别并转换为‘开始下载’、‘结束下载’行为;
S306、行为审计数据为‘开始下载’、‘结束下载’,则用例通过,否则用例失败。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (4)
1.一种基于S7工业协议的行为审计自动化测试方法,其特征在于,包括以下步骤:
S101、根据S7工业协议的报文功能,将字段值与具体行为的对应关系编写成测试用例;
S102、将步骤S101中的测试用例通过计算机程序设计语言变为测试脚本;
S103、通过测试脚本自动回放不同功能码的S7报文;
S104、所述测试脚本自动访问审计产品页面,并自动获取行为审计数据信息;
S105、所述测试脚本自动校验行为审计数据与当前回放S7报文中的功能码对应的具体行为是否相符,并得到测试结果;
S106、加载所有测试用例,根据实际测试需求选择执行单个测试用例或批量执行所有测试用例;
S107、等待测试脚本执行完成,测试用例自动回填测试结果,生成测试报告。
2.根据权利要求1所述的一种基于S7工业协议的行为审计自动化测试方法,其特征在于:在步骤S102中,测试用例通过自动化测试python nose框架变为测试脚本。
3.根据权利要求1所述的一种基于S7工业协议的行为审计自动化测试方法,其特征在于:在步骤S103中,所述测试脚本通过登录访问模拟器,进行S7报文行为的模拟。
4.根据权利要求1所述的一种基于S7工业协议的行为审计自动化测试方法,其特征在于:在步骤S105中,对下个测试用例执行前所需的预置环境和测试用例执行的环境进行清理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010287922.0A CN111444108A (zh) | 2020-04-14 | 2020-04-14 | 一种基于s7工业协议的行为审计自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010287922.0A CN111444108A (zh) | 2020-04-14 | 2020-04-14 | 一种基于s7工业协议的行为审计自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111444108A true CN111444108A (zh) | 2020-07-24 |
Family
ID=71651723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010287922.0A Pending CN111444108A (zh) | 2020-04-14 | 2020-04-14 | 一种基于s7工业协议的行为审计自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444108A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112260885A (zh) * | 2020-09-22 | 2021-01-22 | 武汉思普崚技术有限公司 | 一种工控协议自动测试方法、系统、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902367A (zh) * | 2009-05-31 | 2010-12-01 | 西门子(中国)有限公司 | 一种产生测试用例的方法及装置 |
US20160085666A1 (en) * | 2014-09-22 | 2016-03-24 | International Business Machines Corporation | Auto-deployment and testing of system application test cases in remote server environments |
CN110597734A (zh) * | 2019-09-23 | 2019-12-20 | 电子科技大学 | 一种适用于工控私有协议的模糊测试用例生成方法 |
CN110618942A (zh) * | 2019-09-20 | 2019-12-27 | 北京天地和兴科技有限公司 | 一种工业控制协议细粒度控制的快速测试方法 |
-
2020
- 2020-04-14 CN CN202010287922.0A patent/CN111444108A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902367A (zh) * | 2009-05-31 | 2010-12-01 | 西门子(中国)有限公司 | 一种产生测试用例的方法及装置 |
US20160085666A1 (en) * | 2014-09-22 | 2016-03-24 | International Business Machines Corporation | Auto-deployment and testing of system application test cases in remote server environments |
CN110618942A (zh) * | 2019-09-20 | 2019-12-27 | 北京天地和兴科技有限公司 | 一种工业控制协议细粒度控制的快速测试方法 |
CN110597734A (zh) * | 2019-09-23 | 2019-12-20 | 电子科技大学 | 一种适用于工控私有协议的模糊测试用例生成方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112260885A (zh) * | 2020-09-22 | 2021-01-22 | 武汉思普崚技术有限公司 | 一种工控协议自动测试方法、系统、装置及可读存储介质 |
CN112260885B (zh) * | 2020-09-22 | 2022-06-24 | 武汉思普崚技术有限公司 | 一种工控协议自动测试方法、系统、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281570B2 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
US9465718B2 (en) | Filter generation for load testing managed environments | |
US7895565B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
CN111651366B (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN104820640A (zh) | 一种网页测试方法和装置 | |
CN103164328A (zh) | 一种业务功能的回归测试方法、装置及系统 | |
CN112084113B (zh) | 基于嵌入式仿真验证软件的可配置自动化测试方法及系统 | |
KR101565840B1 (ko) | 서버에 자동화 테스트를 제공하는 방법 및 시스템 | |
CN112052172B (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
CN107329889B (zh) | 一种c编译器自动化测试的方法 | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
CN104794049A (zh) | 应用程序测试方法和装置 | |
CN112433948A (zh) | 一种基于网络数据分析的仿真测试系统及方法 | |
CN111723009A (zh) | 一种python自动化测试系列产品的框架系统 | |
CN111444108A (zh) | 一种基于s7工业协议的行为审计自动化测试方法 | |
CN110928796A (zh) | 一种自动化测试平台 | |
CN107832176A (zh) | 一种Windows下硬盘压力自动测试方法及系统 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN111881056A (zh) | 一种自动化测试框架及测试方法 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN113079061B (zh) | 一种物联网性能测试方法及系统 | |
CN105302731A (zh) | 网站架构升级测试系统和方法 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN113515452A (zh) | 应用的自动测试方法、系统、电子设备及存储介质 | |
CN100501698C (zh) | 自动校验人机命令的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200724 |
|
RJ01 | Rejection of invention patent application after publication |