艾晗啸
摘要 在信息科技的推动下,现阶段软件产品的专业化、规模化特征越来越显著,而且软件更新的速度越来越快、软件功能更加丰富,要保证软件测试效率、准确性满足现代软件产业发展的实际需要,需要对自动化测试技术展开研究。在此背景下,本文以电力系统实时数据库为例,对其自动化测试的研究与实现2方面进行探索,为我国自动化测试技术的发展提供参考。
关键词 电力系统;实时数据库;自动化测试
中图分类号 TM7 文献标识码 A 文章编号2095—6363(2016)12—0034—01
由客户端、RTDB数据处理服务、RTDB授权服务等结构构成的电力系统实时数据库,要对电力企业经营、生产等环节的数据进行分析和处理,为电力企业经营决策提供数据支持,其性能、功能以及接口的稳定性对电力企业的发展至关重要,而自动化测试是保证电力系统实时数据库良好运行的有效手段,所以对其展开研究具有重要的现实意义。
1电力系统实时数据库的自动化测试关键技术研究
1.1 STAF软件自动化测试框架技术
此项技术不仅可以满足自动化测试的基本需要,而且可以实现不同操作系统平台和编程语言间的兼容,使多个测试终端在同一测试平台上,完成被分配的测试任务,这对提升测试的效率具有积极的作用,另外,在实际应用的过程中,测试人员可以结合测试的实际需要,将新的服务内容添加到原有的STAF软件中,使测试功能在简单的人为操作下得到不断的扩充;除此之外,此项技术在应用的过程中,测试人员可以在测试进行中对测试任务进行维护和管理,使测试任务的完成质量得到保证,所以在电力系统实时数据库测试中应用具有可行性。其在电力系统实时数据库中应用时,会通过发送请求命令使内部和外部两种服务被启动,在测试命令完成后,相应的服务会向GTAF平台返回相应的返回码和请求信息,以此使平台获取测试的结果。
1.2 XML技术以及Python语言
XML技术的应用可以使原本混乱的电子文件形成数据和数据类型构成的结构性标识,使电子文件在存储和组织过程中出现一定的规律,为文件的跨平台使用提供条件,这在一定程度上取代了关系数据库的作用,在电力系统实时数据库中应用,可以使配置信息的组织效率和读取速度明显的提升。而Python语言在易用性、面向对象性、可扩展性、移植性、健壮性方面具有明显的优势,将其应用于电力系统实时数据库中,可以使其电力系统日常运行的数据以及电力系统扩展的空间等在测试数据中用编程语言的形式比较直接的呈现,为电力系统数据价值挖掘提供直接的工具,进而提升电力系统实时数据库的应用效率,及时出现数据库崩溃或代码错误等问题,在此项技术的作用下,也可以保证电力系统数据库数据的准确性和可靠性,并通过此项技术对数据库发生问题的原因进行判断,可见此项技术的应用,对提升电力系统实时数据库的安全性也具有积极作用。
1.3回归测试用例选择算法
考虑到关联规则挖掘算法可以对大量数据中数据间的关联关系进行确定,所以在电力系统实时数据库自动化测试系统设计的过程中,笔者选择应用以关联规则挖掘算法为基础的回归测试用例选择算法,其可以对回归测试中不能通过测试用例间的关联关系进行较准确的判断,进而为回归测试的可靠性提升提供方向。换言之如果电力系统实时数据库测试中两个事项的并集中,几乎全部项与事物数据库中的项相同,则说明两个项集的支持度非常大;如果电力系统实时数据库测试中两个事项的交集中,存在几乎全部项与事物数据库中的项相同,则说明两个项集的规则置信度越大,在此算法作用下,电力系统实时数据库数据间的关联关系可以自动生成,进而对电力系统生产、经营过程中的实际状态进行判断,为电力决策提供依据,在具体应用的过程中,需要先通过K-1频繁项集产生K候选集,然后通过数据库生成频繁项集,判断项集中是否具有非频繁子集,由此生成规则,判断具体的支持度和規则置信度。
2电力系统实时数据库的自动化测试的实现
电力系统实时数据库的功能决定,在进行自动化测试的过程中,要可以实现在多个终端、多个操作系统平台上同时运行,而且可以实现自动的测试任务分发、测试环境部署、测试任务执行、测试结果收集、测试报告生成和发送,所以电力系统实时数据库自动化测试平台需要由对测试过程具有“指导”“控制”作用的主控服务器,对实时数据库相关文件以及测试所需文件进行存储、管理的文件服务器,对测试机群涵盖实体机进行虚拟测试的测试机群等部分构成,为保证各部分功能的实现,笔者将其整体划分成控制机、虚拟机、公共服务、自动化测试平台中转4个模块。其中控制机模块要在程序启动后,获取测试任务、分配测试资源、生成测试任务配置文件、向具体的Terminal发送测试任务、在测试过程完成后接受相关文件、进行回归测试用例选择算法并生成测试报告、将测试报告向相应的测试人员传送并完成数据库中相关文件的备份和更新。而虚拟机模块在Terminal按照控制机模块的命令对相应虚拟机启动后,会接收传来的文件,进行软件产品的安装以及测试环境的部署,执行用例程序,在测试完成后会将测试结果汇总和发送并在任务完成后自动停止虚拟机模块的运行,在其执行用例测试的过程中,会直接运行测试用例的可执行程序,测试用例执行结束生成执行结果文件,读取测试用例配置文件的相关信息,进行文件的对比,并将比较结果计入测试结果的相关文件中,检查是否存在未执行测试的用例,如果存在会重新进行用例测试,如果不存在则自动停止测试操作。在公共服务模块运行的过程中,其主要作用是利用STAF等技术缩减数据库中存储的代码量,进而优化代码结构,这对简化数据库代码的维护过程具有积极的作用,在STAF模块的作用下,命令调用服务、文件处理服务、连接确认服务等均可以通过对应的函数进行表示,使系统的反映效率和执行效果得到优化。另外,在此模块应用的Python语言,可以使自动化测试中产生的操作记录或发现的异常信息等以规范编码的形式被记录,为测试人员对数据库运行状态进行判断提供依据,而且这些记录的信息可以以日志的形式被打印,满足各种需要,可见此模块在发挥作用时具有日志服务的功能。除此之外,此模块在功能实现的过程中,可以对实时数据库中存储的各类文件进行准确、高效的配置,这对判断实施数据库内信息的关联性以及挖掘数据的潜在价值均具有重要的意义。
3结论
通过上述分析可以发现,现阶段人们已经认识到自动化测试软件在电力系统实时数据库中应用,对扩大电力企业利润空间、强化供电可靠性和安全性、提升电力系统风险防范能力等方面的重要作用,并在实践中有意识的结合电力系统实时数据库的特点和现有技术,进行自动化测试软件的设计和应用,这是我国电力系统技术应用水平提升的具体体现,应有意识的推广应用。endprint