基于C#技术仪控信号点自动测试工具的开发及应用
2018-02-23张一驰
张一驰
摘 要:随着现代化电厂仪控工程规模的不断发展,工程中信号点测试是工程安全及质量保证非常重要的一环,本文首先阐述了开发该自动测试工具的必要性,然后重点介绍了该自动测试工具的总体架构设计以及具体实现功能,希望能对相关行业的测试工作起到一定的帮助。
关键词:仪控系统;软件开发;测试工具
中图分类号:TP273 文献标志码:A
0 引言
电厂仪控工程中信号点的数量成千上万,过去往往是通过人工逐个进行测试,效率非常低下,而采用计算机程序进行测试,将大大提高测试效率,同时也保证了测试的准确性,同时测试工具还具有人工无法达到的批量修改测试参数、多线程执行、测试时间间隔批量修改等功能,为仪控工程的质量提供更完善的保障。
1 工具设计目标
现代的电厂仪控系统工程中,需要进行测试的信号点数以万计,过去通过人工测试往往费时费力,并且质量得不到有效的保障,采用编程语言进行自动化测试替代人工测试是大势所趋,通过用户调研以及用户根据用户提出需求,该自动测试工具应具有多用例、多参数、批量执行的功能,以保证用户能更好地进行测试,提升测试效率,从而更好地为公司服务。
2 工具设计原则
(1)标准化,规范化,用于该自动测试工具的测试用例以及生成出来的测试报告均采用行业规范标准的模板,以确保测试结果能方便地被使用或其他文件引用。
(2)可靠性,该工具应当具有比较好的容错能力以及错误处理能力,保证该自动测试工具不会因为测试用例的不正当填写或错误写法而崩溃。
(3)可扩展性,该自动测试工具后台有预留相关接口,用来和其他系统互相通信, 以便于相关测试数据的流转以及使用。
(4)可操作性,该自动测试工具应具有良好的人机交互界面,方便使用者的理解,以及进行相关操作。
(5)可修改性,以合理的软件架构设计该自动测试工具,使该自动测试工具在以后的迭代更易于进行重构。
(6)效率性,在达到原理要求功能指标的前提下,程序运行所需时间愈短和占用存储容量愈小,则效率愈高。
(7)容易理解,软件的可理解性是其可靠性和可修改性的前提。它并不仅仅是文档清晰可读的问题,更要求软件本身具有简单明了的结构。这在很大程度上取决于设计者的洞察力和创造性以及对设计对象掌握得透彻程度,当然它还依赖于设计工具和方法的适当运用。
3 工具总体结构设计
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通信领域。
所以本自动测试工具采用C#开发,本自动测试工具是一款桌面级别的单机软件,总体架构如图1所示,用户界面采用Winfrom框架开发,数据库采用Sqlite作为本地数据库存储数据,总体结构可分为界面层、业务逻辑层以及数据访问层。其中界面主要模块可分为项目模块、执行测试模块、测试报告模块、参数修改模块。
4 自动测试工具功能概况
该自动测试工具界面总共分为4个模块(图2),导入测试用例模块、参数修改模块、执行项目模块以及测试报告模块,自动测试工具通过导入Excel将测试用例表格输入,然后执行项目模块通过调用底层C++代码接口以实现信号的模拟输入以及取得信号的实时数据。
项目执行模块中,该模块采用多线程技术支持多线程执行测试用例,及时显示每一个项目每一步执行的结果以及状态,以方便用户查看当前测试执行的情况,同时该工具也支持暂停功能,用户能在相对应的步骤进行暂停操作。
用户参数修改模块中,用户可以设置每一步测试的时间间隔,每一步测试的延迟时间,报告的时间及操作人员名称以及其他相关的参数。
测试报告模块中,用户能在界面中看到每一步的执行结果以及执行时间,并且可以从相关文件模板导出自动测试报告结果的pdf。
逻辑层内部逻辑处理模块是采用相关的C++代码来调用底层接口,用代码模拟相关的点的输出,底层采用C++的理由是为了保证了数据通信处理的效率,相对于C#,C++的处理速度更快,更高效,底层的代码部分代码如图3所示。
为了保证测试数据的完整性,当每次用例执行完成后,自动测试工具将自动通过数据库Sqlite模块存在本地,记录每次执行的结果以及过程,保证了用户可对操作的历史记录可随时进行回看,保证用户能及时回复到历史测试的某一步进行查看。
结语
该自动测试工具使用的是C#开发,基本实现了仪控系统中的相关自动执行测试用例,批量执行参数自定义等功能,该自动测试工具为仪控系统中信号点的测试提供了一个种新的测试方式,方便用户执行测试方案,充分发挥了计算机高效稳定多线程的优势,从而为公司提供了更好的服務,节约了人力的成本。
参考文献
[1]高楠,焦昆,尹涛.人机交互软件设计原则及使用技术浅析[J].信息通信,2013(6):173.
[2]姜维.信息技术在电力系统中的应用研究[J].中国科技信息, 2013(19):77-78.endprint