一种基于数据库自动化并行测试平台执行方法

文档序号:9750719阅读:300来源:国知局
一种基于数据库自动化并行测试平台执行方法
【技术领域】
[0001]本发明主要涉及数据库的测试方法,具体是一种基于数据库自动化并行测试平台执行方法。
【背景技术】
[0002]在当今的云计算、大数据时代,在社会的各个领域以及各个行业,都存在着对大量数据进行存储与计算的需求,许多行业纷纷建立自己的数据库,数据库在设计中需要进行分析、测试,例如存储过程,视图,触发器,约束,规则等都需要我们进行验证,以确保这些功能设计是符合需求的,数据库测试是依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行的测试。
[0003]但是,随着业务的不断发展,数据库测试人员需要对数据库进行大量的功能性验证测试,会不断的累积测试用例,在自动化测试方面,目前主要采用的是串行执行每个用例的方式,进行回归迭代,随着用例数的快速增加,每次回归迭代的时间越来越长,严重影响测试用例的执行效率。

【发明内容】

[0004]为解决现有技术中的不足,本发明提供一种基于数据库自动化并行测试平台执行方法,测试调度器将测试任务进行统一调度分配,有效利用系统资源,将传统串行执行用例方式改为调用多测试流并行执行,各测试流间使用不同的实例进行用例执行,互不干扰,效缩短自动化测试时间,提高环境资源的使用率。
[0005]本发明为实现上述目的,通过以下技术方案实现:
[0006]—种基于数据库自动化并行测试平台执行方法,测试调度器将测试任务进行统一调度分配,在服务器内部署代理程序,代理程序并行数创建多实例级连接,调用多测试流并行执行,并将结果信息反馈至测试调度器。
[0007]—种基于数据库自动化并行测试平台执行方法,包括以下步骤:
[0008](I)启动测试调度平台,建立若干个测试用例库;
[0009](2)服务器根据测试人员提供测试环境信息,选择需要的测试用例库;
[0010](3)调用测试调度器从用例库获取用例列表,读取用例信息,获得未执行用例信息;
[0011](4)在服务器内部署代理程序,测试调度器按照并行方式将用例统一分配至代理程序,并收集结果信息;
[0012](5)代理程序读取用例,根据并行数在测试节点创建多实例级连接,获得测试任务;
[0013](6)在测试节点创建多个测试流,进行用例的并行执行;
[0014](7)每个测试用例执行完成后,代理程序将执行结果返回给测试调度器,测试调度器将采集的结果信息进行统计与处理;
[0015](8)建立异常处理机制,若实例级连接异常中断,服务器命令代理程序重新启动实例,并自动恢复实例级连接。
[0016]步骤(3)中部署代理程序,创建多实例级连接的方式:
[0017](I)若数据库支持多实例部署,在数据库所在的物理机上部署一个代理程序管理多个实例;
[0018](II)若数据库不支持多实例部署,在数据库所在的物理机上部署CPU虚拟机,然后将代理程序部署在虚拟机上,以达到多实例部署效果。
[0019]步骤(8)的结果信息通过调度器显示出来。
[0020]步骤(7)用例间并行执行的过程中相互隔离,互不干扰。
【附图说明】
[0021]附图1为本发明的并行线程调度方法架构图;
[0022]附图2为本发明的自动化测试并行执行方法时序图。
【具体实施方式】
[0023]结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
[0024]下面结合附图和【具体实施方式】对本发明做详细说明:
[0025]图1为本发明的并行线程调度方法架构图,服务器根据测试调度平台内累积的测试用例建立若干个测试用例库,服务器不熟代理程序,测试调度器按照并行方式将用例统一分配至代理程序,代理程序根据并行数在测试节点创建多实例级连接,测试任务进行统一调度分配,有效利用系统资源,缩短自动化测试时间,提高环境资源的使用率。
[0026]图2为本发明的自动化测试并行执行方法时序图,
[0027]第一步启动测试调度平台,测试调度平台内设置测试调度器,根据累积的测试用例建立若干个测试用例库,每一个测试用利库内包含多个测试用例,划分在通一组内的测试用例的测试环境和测试对象相同。
[0028]第二步根据测试人员提供的测试环境信息,服务器首先识别、检测测试人员提供的测试环境信息,然后根据识别、检测结果选择需要的测试用例库,使测试用例库内的测试环境信息和测试对象能够更好的匹配,加快对数据库的测试速度。
[0029]第三步调用测试调度器从用例库获取用例列表,读取用例信息,获得未执行用例信息,使例库内的用例信息呈现在测试调度器内;
[0030]第四步在服务器内部署代理程序,测试调度器按照并行方式将用例统一分配至代理程序,并收集结果信息,测试任务进行统一调度分配,有效利用系统资源,优选各组间并行运行包含的测试用例,如果去法完成将所有的测试用例同时进行并行运行则将待执行的测试用例划分至多个组,则按照为每组设置的优先级由高至低的顺序,依次运行每组内的测试用例,能有效缩短自动化测试时间,提高环境资源的使用率。
[0031]部署代理程序,创建多实例级连接的方式:
[0032](I)若数据库支持多实例部署,在数据库所在的物理机上部署一个代理程序管理多个实例;
[0033](II)若数据库不支持多实例部署,在数据库所在的物理机上部署CPU虚拟机,然后将代理程序部署在虚拟机上,以达到多实例部署效果。
[0034]第五步代理程序读取用例,根据并行数在测试节点创建多实例级连接,获得测试任务,多实例级连接并行创建,不同的实例级连接间使用不同的实例进行用例执行。
[0035]第六步在测试节点创建多个测试流,测试点引用数据库来生成测试数据,获得测试任务统一分配至实例级连接测试点引用数据库来生成测试数据,获得测试任务统一分配至各实例级连接,进行用例的并行执行,将传统串行执行用例方式改为调用多测试流并行执行,用例间并行执行的过程中相互隔离,互不干扰。
[0036]第七步每个测试用例执行完成后,代理程序将执行结果返回给测试调度器,测试调度器将采集的结果信息进行统计与处理,并将结果信息通过调度器显示出来,方便观察。
[0037]第八步建立异常处理机制,若实例级连接异常中断,服务器命令代理程序重新启动实例,并自动恢复实例级连接。
[0038]测试调度器将测试任务进行统一调度分配,有效利用系统资源,将传统串行执行用例方式改为调用多测试流并行执行,测试流间使用不同的实例进行用例执行,互不干扰,效缩短自动化测试时间,提高环境资源的使用率。
[0039]显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而这些属于本发明的实质精神所引伸出的显而易见的变化或变动仍属于本发明的保护范围。
【主权项】
1.一种基于数据库自动化并行测试平台执行方法,其特征在于:测试调度器将测试任务进行统一调度分配,在服务器内部署代理程序,代理程序根据并行数创建多实例级连接,调用多测试流并行执行,并将结果信息反馈至测试调度器。2.根据权利要求1所述的一种基于数据库自动化并行测试平台执行方法,其特征在于:包括以下步骤: (1)启动测试平台,建立若干个测试用例库; (2)服务器根据测试人员提供测试环境信息,选择需要的测试用例库; (3)调用测试调度器从用例库获取用例列表,读取用例信息,获得未执行用例信息; (4)在服务器内部署代理程序,测试调度器按照并行方式将用例统一分配至代理程序,并收集结果信息; (5)代理程序读取用例,根据并行数在测试节点创建多实例级连接,获得测试任务; (6)在测试节点创建多个测试流,进行用例的并行执行; (7)每个测试用例执行完成后,代理程序将执行结果返回给测试调度器,测试调度器将采集的结果信息进行统计与处理; (8)建立异常处理机制,若实例级连接异常中断,服务器命令代理程序重新启动实例,并自动恢复实例级连接。3.根据权利要求2所述的一种基于数据库自动化并行测试平台执行方法,其特征在于:步骤(3)中部署代理程序,创建多实例级连接的方式: (I)若数据库支持多实例部署,在数据库所在的物理机上部署一个代理程序管理多个实例; (II)若数据库不支持多实例部署,在数据库所在的物理机上部署CPU虚拟机,然后将代理程序部署在虚拟机上,以达到多实例部署效果。4.根据权利要求2所述的一种基于数据库自动化并行测试平台执行方法,其特征在于:步骤(7)的结果信息通过调度器显示出来。5.根据权利要求2所述的一种基于数据库自动化并行测试平台执行方法,其特征在于:步骤(6)用例间并行执行的过程中相互隔离,互不干扰。
【专利摘要】本发明公开了一种基于数据库自动化并行测试平台执行方法,其特征在于:测试调度器将测试任务进行统一调度分配,在服务器内部署代理程序,代理程序并行数创建多实例级连接,调用多测试流并行执行,并将结果信息反馈至测试调度器。本发明的有益效果在于:测试调度器将测试任务进行统一调度分配,有效利用系统资源,将传统串行执行用例方式改为调用多测试流并行执行,测试流间使用不同的实例进行用例执行,互不干扰,效缩短自动化测试时间,提高环境资源的使用率。
【IPC分类】G06F11/36
【公开号】CN105512038
【申请号】CN201510932828
【发明人】崔维力, 武新, 李维维
【申请人】天津南大通用数据技术股份有限公司
【公开日】2016年4月20日
【申请日】2015年12月12日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1