[发明专利]一种适用于逻辑组态软件中编译器的自动化测试系统及其方法有效
申请号: | 201410836381.7 | 申请日: | 2014-12-29 |
公开(公告)号: | CN104516818B | 公开(公告)日: | 2017-08-22 |
发明(设计)人: | 王沿海;刘刚;黄磊;徐延明;李维;师嘉;魏莹 | 申请(专利权)人: | 北京四方继保自动化股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京金阙华进专利事务所(普通合伙)11224 | 代理人: | 吴鸿维 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 逻辑 组态 软件 编译器 自动化 测试 系统 及其 方法 | ||
技术领域
本发明属于计算机软件测试领域,尤其涉及一种适用于逻辑组态软件中编译器自动化测试的系统及其方法,使用该测试系统,只需编写一次测试用例,每当逻辑组态软件及其控制器软件需要发布新版本时,可重新自动执行一次测试用例以判断其是否有缺陷。
背景技术
在工业自动化控制中,由逻辑组态软件与控制器软件(也称为上位机与下位机)组成的控制系统广泛的应用于各控制领域:如分布式控制系统(DCS)、可编程控制器(PLC)等。逻辑组态软件负责控制逻辑的建模、编译生成二进制指令并打包为sf文件,然后把sf文件下装到控制器中,控制器软件解析该文件并执行控制逻辑进而实现控制功能。控制逻辑的二进制指令随着控制器中嵌入的微处理器不同而不同,因此需要不同的编译器后端来为特定的微处理器生成指令。
编译器是逻辑组态软件中的一个重要模块,它负责把逻辑组态模型转换成可执行指令。通常情况下编译器是可信的,但错误也是在所难免的。编译器的错误对逻辑组态软件来说是致命的,是不能容忍的。编译器的错误包括两种类型,一种是在编译过程中遇到崩溃、死循环等故障导致编译失败,另一种是不声不响地把原本正确的逻辑模型变换为错误的可执行指令。
控制器软件是控制器的重要模块,负责解析编译器生成的文件并执行控制逻辑;编译器编译出的可执行指令的正确性需要在控制器中验证。
发现编译器错误的一种有效方法是设计测试用例,然后根据测试用例手工编写测试工程,编译、下装测试工程到控制器软件中,并验证控制逻辑的执行结果是否与预期结果一致。如图1所示,图1为设计并手工执行测试用例的流程图。现有方法的缺点是:
(1)测试用例是使用自然语言来描述的,描述不准确甚至错误的情况时常存在;
(2)每当逻辑组态软件或者控制器软件发布新版本时,都需要重新手工执行测试用例,重复性高;
(3)但是测试周期长,费时费力;
(4)执行过程枯燥、执行效率低且容易出错;
(5)验证逻辑模型在不同控制器上的执行结果是否一致很困难。
发明内容
有鉴于上述问题,本发明要解决如下的技术问题:
(1)能够准确无误地描述清楚测试用例及其测试过程,且可以通过测试工具自动地执行测试用例。
(2)支持自动地执行测试用例集并生成测试报告,即使测试某个用例过程中出现崩溃、死循环等故障,也完全无须人工干预。
(3)支持验证逻辑模型在不同控制器上执行结果的一致性。
在介绍本申请的技术方案之前,首先对逻辑组态软件和控制器软件介绍如下:
所述逻辑组态软件是包含了编译器模块的被测软件之一,还包括在线调试模块、数据模型模块以及其它模块,提供了加载接口、编译接口以及在线调试接口等。编译模块用于把控制逻辑模型编译生成二进制指令并打包为sf文件;在线调试模块用于连接控制器,可向控制器发送下装、在线、写入等命令,并解析控制器返回的应答信息。
所述控制器软件运行在控制器中,是被测软件之一,用于解析编译器生成的sf文件并执行控制逻辑;通过在控制器软件中调度执行编译的二进制指令,可以验证编译器生成的二进制指令的正确性。
为实现上述目的,本申请具体采用以下技术方案:
一种适用于逻辑组态软件中编译器的自动化测试系统,其特征在于:
所述测试系统包括测试工具、测试驱动工具,所述测试驱动工具用于调用测试工具,完成对测试用例的测试并生成测试报告,其中所述测试用例包括待测试工程和用于描述测试过程的测试脚本文件。
所述测试工具包括脚本引擎、测试夹具和在线调试模块;
所述脚本引擎接收测试驱动工具所发送的需要执行控制逻辑的控制器类型和测试脚本文件全路径,解析测试脚本文件并生成结构化的测试命令;
所述测试夹具执行测试命令完成对测试用例的测试:调用逻辑组态软件接口加载待测试工程,加载待测试工程后判断是否加载成功,如果加载失败表示发现缺陷;调用逻辑组态软件接口编译待测试工程,编译待测试工程后将编译结果与预期编译结果进行比较;调用逻辑组态软件接口通过在线调试模块把编译结果下装到控制器中并运行控制逻辑,将运行的控制逻辑结果与预期控制逻辑结果进行比较。
所述在线调试模块与控制器进行交互并完成调试服务,该模块是同步执行的,是通过对逻辑组态软件中异步执行的在线调试模块进行封装得到的。
所述测试驱动工具包括解析配置文件模块、统计模块、执行测试用例模块、生成报告模块、发送电子邮件模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京四方继保自动化股份有限公司,未经北京四方继保自动化股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410836381.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:软件的界面状态变化时间的测试方法和装置
- 下一篇:电子设备测试系统和方法