用数据库技术实现的继保自动测试模板管理

2020-08-19 03:23刘庆海
通信电源技术 2020年10期
关键词:自动测试模板数据库

陈 潇,刘庆海,陈 旺,姚 亮

(南京国电南自电网自动化有限公司,江苏 南京 211100)

0 引 言

近年来,智能站继电保护二次设备的自动测试技术不断发展,建立了标准通信协议下,由通信后台、待测设备、测试仪组成的自动测试系统ATS[1]。随着测试的积累,测试模板越来越多,测试模板可能会出现丢失、冗余、无效、信息不全、版本不清、难以查找等问题,由于效率低下、责权不明、安全性差,人工管理将无法适应未来越来越庞大的自动测试体系。

1 测试模板管理模块实现过程

给ATS自动测试平台增加测试模板管理模块,如图1所示。与ATS测试平台自带的安全校验方式结合,用户通过加密狗的方式确定身份信息,进入管理模块。为了保持存储在服务器上测试模板的原文件存储方式和服务器地址不变,另建立管理数据库,维护测试模板的多维度管理信息。根据分层管理的思想,不直接对物理层的测试模板进行操作,而是通过应用层的ADO接口程序链接管理数据库,获取测试模板的属性信息及存储信息并执行模板操作;模板扩展应用程序对ADO返回的信息数据进行分析处理,生成多个应用列表,在模板管理模块用户界面中展示。用户通过管理模块,新增或者删除模板;启动模板开发模块读取和修改模板;启动自动测试模块读取和调用模板,以上操作对服务器上的模板文件和管理数据库中模板管理信息进行同步操作[2]。

该管理模块实现的的技术难点在于建立一个有效安全的数据管理模型,并解决与数据库的链接问题,下文将针对这两个问题提出解决方法。

图1 测试模板管理模块

2 管理数据库设计

服务器上功能最小化的单元测试模板关于故障模拟、测试方法、保护动作逻辑、自动判断方法等测试过程仅是针对待测设备自身的描述内容,事实上测试模板隐含的更多信息,如适用地区、适用电压等级、适用保护类型、不同时间版本等,这些无法通过模板本身表达出来,因此需要建立一张张表格去维护附加信息。同一个模板可能适用于附加信息中一个或多个,因此不同信息表格之间产生了相关性,建立数据库管理这些数据,可以使测试模板集有效约简,避免数据冗余,版本混乱。数据库设计包括概念设计、逻辑设计和物理设计。概念设计之前需要进行需求分析。

2.1 管理属性分析

以智能站二次设备的继电保护测试测试模板为对象,分析其内部和附加属性,如图2所示。

图2 测试模板管理属性

图2给出了一个测试模板的属性索引,例如测试人员调取了测试模板OC0001,测试人员需要搜索的模板关键属性国网九统一/35 kV/变压器保护PST645UA-G/高侧过流保护/Ι段/过流定值均能从管理信息中对应;进入系统的指定用户对模板具有什么操作权限、测试模板经过操作后形成的日志信息,可以从管理属性中获取。

2.2 数据库建模

概念E-R模型设计可以将测试模板的管理属性信息转换为数据库的关系模型。E-R图表达具备各种属性的不同实体间的联系:实体用矩形、联系用菱形、联系用椭圆表示。对于测试模板管理库,测试模板和操作测试模板的用户是最显而易见的两个实体。图2可以看出测试模板的属性数据集非常庞大,像图2中项目信息、产品信息、设备模型、更新信息下仍然有更细粒度的属性信息,这样的属性称之为多值属性。多值属性也可以作为模型的实体。图3给出测试模板管理的E-R图(图中给出了核心主体和联系集的属性,多值属性升级的主体的属性因为较简单,省略未画出)。其中,用户对模板的操作过程会被记录下来保存成操作日志,由于必须是用户与测试模板实体之间联系后才会产生操作日志,因此E-R模型中将“用户操作测试模板”作为一个聚合实体,操作日志也作为一个实体而不是操作的属性。

将E-R模型转化为关系模型——关键主体映射成一张张关系表、属性映射为关系属性,并通过表第一范式要求实体属性已为需求的最小单元;第二范式要求一张表一个实体;第三范式要求M:N关系的关系表只引用实体主键。图4给出了关系模型映射表格的列表。

图3 E-R模型

图4 关系模型映射表格的列表

其中,用户操作测试模板形成的聚合主体的主键选用用户主体的主键“访问编号”,放在表c的属性中,确定操作日志主体与聚合主体之间的1:N关系。E-R模型中存在两个M:N关系,列出对应主体间的关系表。建模完成后设计物理结构,选择SQL Server 2016数据库进行数据管理。

3 ADO数据访问技术

关于数据库的访问ADO(ActiveX Data Objects)是微软公司面向对象的基于COM的数据访问技术,封装了数据库底层数据访问OLE DB的程序接口,与用户交互更加简单,功能更加强大,数据处理更加高效,是数据库访问的主流技术。ADO提供的核心对象有Connection、Command和Recordset。

3.1 连接数据库

在VC++的编程环境中,要使用ADO的对象,就先要注册创建ADO的动态链接库DLL,并使用#import预编译指示符引用。有此前提,连接到SQL Server数据库的基本步骤如下:

(1)初始化COM库;

(2)使用Connection对象连接数据库;

(3)使用Connection对象、Command对象执行SQL命令,使用Recordset对象对返回的记录集进行查询等处理;

(4)结束连接,关闭Connection对象和Recordset对象。

3.2 调用存储过程

数据库的存储过程,指的是编译后的特定功能的SQL语句执行的集合。使用存储过程,可以标准化操作流程、提高执行速度减轻网络流量。存储过程分为三类:系统存储过程、自定义存储过程和扩展存储过程。其中自定义存储过程是用户数据库中的SQL语句集合。测试模板管理数据库中的操作多样,通过创建自定义存储过程即可满足要求。

通过ADO数据访问技术的研究,解决了ATS模板管理模块与数据库通信连接的问题,同时又保留了数据库操作的执行方法,将来能更好地对数据库管理进行拓展[3-4]。

4 应用测试和结论

基于ATS自动测试平台,该测试模板的管理方法验证应该包含功能测试、关联测试、影响测试以及安全测试。前两者验证对测试模板管理基本功能及日志记录,影响测试验证管理数据与模板文件之间的协作正确,安全测试包括确认不同身份成员对应的不同操作权限以及执行身份以外的操作项目是否成功。对ATS测试模板管理模块实现了自动测试模板的科学管理,促进ATS自动测试技术的应用更趋成熟,促使智能站二次设备的自动测试过程更加系统化和标准化,具有极大的推广价值。但是同时在应用测试过程中影响测试和安全测试所暴露的问题需要将来对该模块进一步优化和改善。

猜你喜欢
自动测试模板数据库
铝模板在高层建筑施工中的应用
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
Inventors and Inventions
基于VXI总线的实验箱自动测试装置设计
关于某型雷达自动测试系统的几点认识和建议
DCOM在混合总线自动测试系统的应用
数据库
数据库
数据库