一种数据库IO性能测试的自动化工具制造技术

技术编号:27741873 阅读:29 留言:0更新日期:2021-03-19 13:35
本发明专利技术提供一种数据库IO性能测试的自动化工具,涉及数据库领域,包括:一用户交互模块,用以接受使用者操作,及返回操作结果;一处理模块,连接至少一待测试的数据库,用以根据操作指令操作待测试数据库并获得操作结果;一第一转换模块,分别连接用户交互模块及处理模块,用以将用户交互模块接受的使用者操作转换为对应的操作指令发送至处理模块;一第二转换模块,分别连接用户交互模块及处理模块,用以将操作结果发送至用户交互模块。本发明专利技术操作简单,利用可视化的用户交互界面进行参数配置、执行,有利于降低自动化工具的学习成本,降低人力浪费;还支持多种常用数据库进行测试,有利于减少环境依赖布置成本,提高测试效率。

【技术实现步骤摘要】
一种数据库IO性能测试的自动化工具
本专利技术涉及数据库领域,尤其涉及一种数据库IO性能测试的自动化工具。
技术介绍
随着高新技术的发展,数据库作为应用系统当中最重要的一块,也是性能测试非常关注的一块,在操作系统测试中,兼容三方数据库系统成为必测项目之一,数据库io性能为衡量操作系统兼容数据库的指标之一。目前市面上常见的数据库性能测试的工具,大多特点为:源码安装、功能复杂、非可视化、配置项多、测试结果可读性弱,需要专业性较强的测试人员进行配置和使用。操作系统中针对数据库io性能测试,测试场景多,需要频繁进行工具安装、配置、执行测试,市面上已有的工具安装繁琐、配置复杂,在重复性的工作中,会造成人力浪费。当前市面上针对数据库io性能测试的工具较少。从操作上来看,当前市面上的工具需要源码安装,手动对配置文件进行修改,手动执行命令进行测试,交互不便,需要较为专业的人进行操作和使用。从测试结果的可读性来看,现有的测试工具,测试结果可读性较弱,需要手动整理测试数据,提炼出测试结果,对人力也是一种浪费。从跨平台性来看,现有工具仅支持linux环境下进行测试操作,不支持windows上运行。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种数据库IO性能测试的自动化工具,包括:一用户交互模块,用以接受使用者操作,及返回操作结果;一处理模块,连接至少一待测试的数据库,用以根据操作指令操作所述待测试数据库并获得操作结果;一第一转换模块,分别连接所述用户交互模块及所述处理模块,用以将所述用户交互模块接受的使用者操作转换为对应的操作指令发送至所述处理模块;一第二转换模块,分别连接所述用户交互模块及所述处理模块,用以将所述操作结果发送至所述用户交互模块。优选的,所述处理模块通过一跨平台接口连接所述待测试的数据库。优选的,还包括一配置模块,连接所述用户交互模块,用以根据使用者操作形成和/或编辑测试用例。优选的,还包括一结果输出模块,连接所述处理模块,用以解析并保存所述操作结果。优选的,所述结果处理模块通过正则表达式分析所述操作结果,并将分析的结果保存在一文本文件中。优选的,所述处理模块包括:进程管理单元,用以创建及调度操作所述待测试数据库的至少一个进程;功能管理单元,连接所述进程管理单元,用以管理预配置的至少一个功能函数供所述进程调用;汇总单元,连接所述进程管理单元,用以汇总每个所述进程操作所述待测试数据库获得的结果以形成所述操作结果。优选的,所述处理模块由python实现。优选的,所述用户交互模块由QT界面实现,所述QT界面用以根据使用者操作形成XML格式的文本。优选的,所述第一转换模块由PYQT5工具包的pyuic插件实现,用以将所述XML文本转换为python对象。优选的,所述第二转换模块由PYQT5工具包实现,用已根据python运行获得的所述操作结果控制所述用户交互模块。上述技术方案具有如下优点或有益效果:(1)本技术方案支持多种常用数据库进行测试,有利于减少环境依赖布置成本,提高测试效率;(2)本技术方案操作简单,利用可视化的用户交互界面进行待测试数据库的参数配置、执行测试,有利于降低自动化工具的学习成本,降低人力浪费;(3)本技术方案可以跨平台使用,安装有python和相关的第三方库的测试环境均可运行本技术方案中的自动化工具,减少了局限性。附图说明图1为本专利技术的较佳的实施例中,自动化工具的结构示意图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本专利技术并不限定于该实施方式,只要符合本专利技术的主旨,则其他实施方式也可以属于本专利技术的范畴。本专利技术的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种数据库IO性能测试的自动化工具,如图1所示,包括:一用户交互模块1,用以接受使用者操作,及返回操作结果;一处理模块2,连接至少一待测试的数据库2A,用以根据操作指令操作待测试数据库2A并获得操作结果;一第一转换模块3,分别连接用户交互模块1及处理模块2,用以将用户交互模块1接受的使用者操作转换为对应的操作指令发送至处理模块2;一第二转换模块4,分别连接用户交互模块1及处理模块2,用以将操作结果发送至用户交互模块1。具体地,本实施例中,用户交互模块1可以是基于Qt设计的可视化的用户交互界面,QT界面用以根据使用者操作形成XML格式的文本。本技术方案在可视化的用户交互界面上进行各待测试的数据库2A的参数配置、执行,有利于降低自动化工具的学习成本,降低人力浪费。本实施例中,用户交互模块1接受使用者操作,并通过第一转换模块3将转换为对应的操作指令并发送至处理模块2,处理模块2根据操作指令对待测数据库2A进行读写性能测试。其中,各数据库2A的读写性能可以分别从数据长度和数据内容两方面来进行测试。在用户交互界面,用户可以依次输入数据长度和请求次数,进而选择测试按钮来实现从数据长度来测试各数据库2A的读写性能;在用户交互界面,用户可依次输入添加数据、更改数据和请求次数来从数据内容来测试各数据库2A的读写性能。通过第二转换模块4将操作结果反馈至用户交互界面以进行解析显示及保存。本专利技术的较佳的实施例中,处理模块2由python实现。本专利技术的较佳的实施例中,第一转换模块3由PYQT5工具包的pyuic插件实现,用以将XML文本转换为python对象。本专利技术的较佳的实施例中,第二转换模块4由PYQT5工具包实现,用已根据python运行获得的操作结果控制用户交互模块1。本技术方案基于安装有python和相关的第三方库的测试环境下实现,同时本技术方案可以跨平台使用,只要安装有python和相关的第三方库的测试环境均可运行本技术方案中的自动化工具,减少了测试环境的局限性。本技术方案中的自动化工具的使用流程如下:通过用户交互界面获取待测试的数据库2A类型,其中数据库2A类型包括redis,memcache,mysql和postgresql中的一种或多种;通过python的os模块检查待测试的数据库2A安装配置情况;通过python完成与待测试的数据库2A的连接;通过用户交互界面获取被测数据参数,同时对各数据库2A的参数进行配置、进而执行测试;测试结束后,将测试过程中的日志保存至本地,并对测试结果进行存储。本技术方案支持多种常用数据库2A进行测试,有利于减少环境依赖布置成本,提高测试效率,同时还可以测试常用数据库2A的读、写等操作的性能。在一个优选的实施例中,使用本技术方案中的自动化工具对redis数据库2A进行读写性能测试,过程如下:1.在用户交互界面中,选择数据库2A中的redis;2.选择连接redis;3.对redis的连接状态进行检查;4.对redis进行测试参数配本文档来自技高网...

【技术保护点】
1.一种数据库IO性能测试的自动化工具,其特征在于,包括:/n一用户交互模块,用以接受使用者操作,及返回操作结果;/n一处理模块,连接至少一待测试的数据库,用以根据操作指令操作所述待测试数据库并获得操作结果;/n一第一转换模块,分别连接所述用户交互模块及所述处理模块,用以将所述用户交互模块接受的使用者操作转换为对应的操作指令发送至所述处理模块;/n一第二转换模块,分别连接所述用户交互模块及所述处理模块,用以将所述操作结果发送至所述用户交互模块。/n

【技术特征摘要】
1.一种数据库IO性能测试的自动化工具,其特征在于,包括:
一用户交互模块,用以接受使用者操作,及返回操作结果;
一处理模块,连接至少一待测试的数据库,用以根据操作指令操作所述待测试数据库并获得操作结果;
一第一转换模块,分别连接所述用户交互模块及所述处理模块,用以将所述用户交互模块接受的使用者操作转换为对应的操作指令发送至所述处理模块;
一第二转换模块,分别连接所述用户交互模块及所述处理模块,用以将所述操作结果发送至所述用户交互模块。


2.根据权利要求1所述的自动化工具,其特征在于,所述处理模块通过一跨平台接口连接所述待测试的数据库。


3.根据权利要求1所述的自动化工具,其特征在于,还包括一配置模块,连接所述用户交互模块,用以根据使用者操作形成和/或编辑测试用例。


4.根据权利要求1所述的自动化工具,其特征在于,还包括一结果输出模块,连接所述处理模块,用以解析并保存所述操作结果。


5.根据权利要求4所述的自动化工具,其特征在于,所述结果处理模块通过正则表达式分析所述操作结果,并...

【专利技术属性】
技术研发人员:张志猛
申请(专利权)人:普华基础软件股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1