CN102799526A - 一种分布式智能调度方法 - Google Patents
一种分布式智能调度方法 Download PDFInfo
- Publication number
- CN102799526A CN102799526A CN2012102360977A CN201210236097A CN102799526A CN 102799526 A CN102799526 A CN 102799526A CN 2012102360977 A CN2012102360977 A CN 2012102360977A CN 201210236097 A CN201210236097 A CN 201210236097A CN 102799526 A CN102799526 A CN 102799526A
- Authority
- CN
- China
- Prior art keywords
- scene
- test
- user
- monitoring equipment
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种分布式智能调度方法,包括如下步骤:S10:提供一支持用户灵活选择场景的用户操作平台;S11:提供分布式调度执行机制;S12:在操作平台中为每个数据库实例选择测试场景;其中,执行步骤S10之前首先完成场景列表,所述场景列表记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、以及依赖项编号的基本信息。本发明的用户操作平台支持用户灵活选择测试场景;通过监控机调度机制,实现测试场景间关系的智能处理;支持多个数据库实例并行运行;脚本内含中断处理,实现测试结果记录内容的随需而变。
Description
技术领域
本发明涉及自动化软件测试技术领域,尤其涉及一种分布式智能调度方法。
背景技术
目前ERP产品的特点是功能强大、流程复杂,手工回归测试工作量大,人力成本过高,所以自动化测试技术是个最优的选择。但是如果使用一台机器串行执行测试场景完成一次全面的回归测试,耗时时间长,无法满足日常补丁测试周期短、频率高的需求。如何保证自动化回归测试能在不增加人力的情况下短期内完成日常补丁回归测试,是需要解决的问题。因此,出现了分布式智能调度系统。然而,现有的分布式调度的技术存在如下缺陷:
1.无法支持用户灵活选择测试场景
目前的主流技术采用关键字导出测试场景或按照场景列表按照优先级等机制分发测试场景。这种调度机制存在的缺陷在于用户只能运行同一关键字的场景组,无法灵活选择测试场景;或者没有智能处理场景间的依赖关系,导致某个场景没有运行的话,后续脚本都无法走到,增加脚本运行失败的可能性;
2.不支持多个数据库实例同时运行的需求
目前现有技术只实现同一个数据库实例内场景运行的调度,而实际情况需要多个数据库实例并行运行,已有技术存在局限;
3.没有包含中断处理技术
目前现有技术在处理测试机运行失败后,测试工具就中断停止,需要重新运行一次,才能继续。并且测试日志依赖于测试工具的日志系统,无法按照测试需求记录中断记录、日志。
故,针对上述现有技术存在的缺陷,实有必要进行研究,以提供一种分布式智能调度方法。
发明内容
为解决上述问题,本发明的目的在于提供一种分布式智能调度方法,其支持用户灵活选择测试场景以及多个数据库实例同时运行的需求。
为实现上述目的,本发明的技术方案为:
一种分布式智能调度系统及方法,包括如下步骤:
S10:提供一支持用户灵活选择场景的用户操作平台;
S11:提供分布式调度执行机制;
S12:在操作平台中为每个数据库实例选择测试场景;
其中,执行步骤S10之前首先完成场景列表,所述场景列表记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、以及依赖项编号的基本信息;所述用户操作平台以该场景列表为依据,支持用户选择产品版本、关键应用、业务类型过滤场景,灵活选择测试场景,生成运行场景列表。
进一步地,所述用户操作平台包括有参数设置界面、选择场景界面、监控机端操作界面、以及测试机端操作界面;其中,参数设置界面用于设置此次测试任务的唯一标识、以及设置要进行测试的数据库实例名称;监控机端操作界面设置有一个端口号;而测试机端操作界面用于设置要连接的监控机IP 、端口号、本机脚本项目存放的路径,进行与监控机间的连接。
进一步地,所述步骤S11具体包括:
S110:设置监控机端智能调度机制;
S111:测试机端接收测试指令,调用脚本运行,内含中断处理;
S112:测试机实时回传测试结果,分配任务运行结束后返回日志;
S113:监控机分析测试结果,检查测试机状态,如果空闲,则转到执行步骤S110。
进一步地,在所述S110中,以用户操作平台生成的运行场景列表为循环依据,运行场景列表中设置运行状态字段;调度机制按顺序循环判断当前场景的运行条件,当该场景尚未运行,且其依赖项运行成功的才予以进行分发。
进一步地,在所述步骤S113中,监控机接收到测试机发回的运行信息后,进行处理,如果是测试结果信息,则实时记录到运行结果中,如果是测试日志,则说明该测试机运行结束,将日志信息附到监控机端的日志文件后面,返回继续进行后续脚本的分配,直到所有的场景运行结束。
进一步地,在所述步骤S12中,通过运行场景生成机制把已选场景放在一个运行场景列表中,用实例名称字段标识运行的实例,在脚本执行时,脚本会判断当前实例名称是否是要运行的实例,进行选择实例处理,再进行测试。
相较于现有技术,本发明分布式智能调度方法的用户操作平台支持用户灵活选择测试场景;通过监控机调度机制,实现测试场景间关系的智能处理;支持多个数据库实例并行运行;脚本内含中断处理,实现测试结果记录内容的随需而变。
附图说明
图1是是本发明的分布式运行设计示意图;
图2是是本发明的用户操作平台的参数设置界面示意图;
图3是是本发明的用户操作平台的选择场景界面示意图;
图4是是本发明的用户操作平台的监控机端界面示意图;
图5是是本发明的用户操作平台的测试机端界面示意图;
图6是本发明智能调度程序实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1所示,本发明分布式智能调度方法包括如下步骤:
S10:提供一支持用户灵活选择场景的用户操作平台
首先完成场景列表,请参照图1中的输入文件-场景列表所示,场景列表文件用excel表的形式,每个产品版本作为一个sheet页进行存放,记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、依赖项编号等基本信息,该列表在场景脚本开发结束后进行完善。用户操作平台以场景列表为依据,支持用户选择产品版本、关键应用、业务类型过滤场景,灵活选择测试场景,生成运行场景列表。该用户操作平台包括有参数设置界面、选择场景界面、监控机端操作界面、以及测试机端操作界面。其中,参数设置界面,参照图2所示,具体为设置此次测试任务的唯一标识;选择场景界面,参照图3所示,实现从场景列表中根据用户选择的产品版本、关键应用、业务类型过滤出来场景,用户可以灵活选择运行场景,而后指定在哪个数据库实例中运行,生成运行场景列表;监控机端操作界面,参照图4所示,可设置监控机端的端口号,开启这个端口号的socket,开启监听。提供状态栏,显示各个测试机已经运行的场景数量,当前运行的场景名称、运行日志等信息;而测试机端操作界面,参照图5所示,可设置要连接的监控机IP 、端口号、本机脚本项目存放的路径,进行与监控机间的连接。其内测试指令窗口实时显示接收的监控机端的指令,运行状态窗口实时显示当前运行场景的日志。
S11:提供分布式调度执行机制,其中,该步骤S11具体包括:
S110:实现监控机端智能调度机制。参照图1所示,监控机端实现开启监听、测试场景的智能调度、结果处理、以及根据结果进行后续场景的再分配,直到所有的场景运行结束。详细的程序处理流程图请参照图6,以用户操作平台生成的运行场景列表为循环依据,运行场景列表中设置运行状态字段,分为未运行、正在运行、运行失败、依赖项运行失败无法运行。调度机制按顺序循环判断当前场景的运行条件。当该场景尚未运行,并且其依赖项运行成功的才予以进行分发;如果场景正在运行或者已运行,依赖项运行失败或由于其依赖项运行失败无法运行的情况,则该场景不进行调度;如果该场景尚未运行,依赖项也尚未运行的情况,则找到其直接依赖项判断是否满足执行条件,若满足则运行,若不满足则依次上溯循环判断其依赖项,直到找到最源头的依赖项,进行运行条件的判断,若满足则执行,当起初要调度的场景的所有前序依赖项都检查、运行完毕后,再进行此场景的调度执行。对于运行标识的书写使用依赖项运行失败,所有的后续场景直接标识为“依赖项***运行失败,无法运行”。这种智能调度方式就摆脱了用户选择场景必须按内在顺序排列的要求,支持用户的灵活选择,实现场景间关系的智能处理。
S111:测试机端实现内容,请参照图1测试机端,以两台测试机为例。测试机端实现接收测试指令,调用脚本运行,并进行中断处理。脚本在处理运行中的非预期窗口实现中断处理技术。预知非预期窗口可能有哪几类,分别实现对这些窗口的异常处理方法;对于不可预知的异常情况,才重新启动被测程序,实现测试工具无中断运行。同时该技术实现了自己的错误记录方法,不仅记录中断截图、还可复制异常窗口的详细信息、获取测试工具返回的错误堆栈信息,实现了错误信息获取的个性化需求。
S112:测试机实时回传测试结果,分配任务运行结束后返回日志。
S113:监控机分析测试结果,检查测试机状态,如果空闲,则转到执行步骤S110。
S114:监控机接收到测试机发回的运行信息后,进行处理,如果是测试结果信息实时记录到运行结果中,如果是测试日志,则说明该测试机运行结束,将日志信息附到监控机端的日志文件后面,返回第一步继续进行后续脚本的分配,直到所有的场景运行结束。
S12:在操作平台中为每个数据库实例选择测试场景
参照图3选择场景所示,选择场景时,通过运行实例输入框,设定已选场景在哪个数据库实例中运行,运行场景生成机制会把所有的已选场景放在一个运行场景列表中,用实例名称字段进行标识。在脚本执行时,脚本会判断当前实例名称是否是要运行的实例,进行选择实例处理,再进行测试。运行结果文件会分数据库实例分别予以存放,实现数据库实例测试结果的便捷分析。
本发明方法使用Socket TCP/IP协议,实现监控机与测试机间的通信,在此基础上拓展四大部分:用户操作平台、监控机端、测试机端、运行结果文件,形成自动化测试分布式智能调度系统。通过提供用户操作平台、监控机调度机制、测试脚本内含中断处理技术以解决目前现有技术存在的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种分布式智能调度方法,其特征在于,包括如下步骤:
S10:提供一支持用户灵活选择场景的用户操作平台;
S11:提供分布式调度执行机制;
S12:在操作平台中为每个数据库实例选择测试场景;
其中,执行步骤S10之前首先完成场景列表,所述场景列表记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、以及依赖项编号的基本信息;所述用户操作平台以该场景列表为依据,支持用户选择产品版本、关键应用、业务类型过滤场景,灵活选择测试场景,生成运行场景列表。
2.如权利要求1所述分布式智能调度方法,其特征在于:所述用户操作平台包括有参数设置界面、选择场景界面、监控机端操作界面、以及测试机端监控界面;其中,参数设置界面用于设置此次测试任务的唯一标识、以及设置要进行测试的数据库实例名称;监控机端操作界面设置有一个端口号;而测试机端操作界面用于设置要连接的监控机IP 、端口号、本机脚本项目存放的路径,进行与监控机间的连接。
3.如权利要求2所述分布式智能调度方法,其特征在于:所述步骤S11具体包括:
S110:设置监控机端智能调度机制;
S111:测试机端接收测试指令,调用脚本运行,内含中断处理;
S112:测试机实时回传测试结果,分配任务运行结束后返回日志;
S113:监控机分析测试结果,检查测试机状态,如果空闲,则转到执行步骤S110。
4.如权利要求3所述分布式智能调度方法,其特征在于:在所述S110中,以用户操作平台生成的运行场景列表为循环依据,运行场景列表中设置运行状态字段;调度机制按顺序循环判断当前场景的运行条件,当该场景尚未运行,且其依赖项运行成功的才予以进行分发。
5.如权利要求4所述分布式智能调度方法,其特征在于:在所述步骤S113中,监控机接收到测试机发回的运行信息后,进行处理,如果是测试结果信息,则实时记录到运行结果中,如果是测试日志,则说明该测试机运行结束,将日志信息附到监控机端的日志文件后面,返回继续进行后续脚本的分配,直到所有的场景运行结束。
6.如权利要求5所述分布式智能调度方法,其特征在于:在所述步骤S12中,通过运行场景生成机制把已选场景放在一个运行场景列表中,用实例名称字段标识运行的实例,在脚本执行时,脚本会判断当前实例名称是否是要运行的实例,进行选择实例处理,再进行测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102360977A CN102799526A (zh) | 2012-07-10 | 2012-07-10 | 一种分布式智能调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102360977A CN102799526A (zh) | 2012-07-10 | 2012-07-10 | 一种分布式智能调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102799526A true CN102799526A (zh) | 2012-11-28 |
Family
ID=47198639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102360977A Pending CN102799526A (zh) | 2012-07-10 | 2012-07-10 | 一种分布式智能调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799526A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204975A (zh) * | 2015-10-08 | 2015-12-30 | 上海瀚之友信息技术服务有限公司 | 基于JavaEE体系架构的性能监控系统及方法 |
WO2017020721A1 (zh) * | 2015-08-04 | 2017-02-09 | 阿里巴巴集团控股有限公司 | 业务功能的测试方法和装置 |
CN106469113A (zh) * | 2015-08-18 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及系统 |
CN106844198A (zh) * | 2016-12-27 | 2017-06-13 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN113572669A (zh) * | 2021-06-29 | 2021-10-29 | 青岛海尔科技有限公司 | 场景处理方法、装置、智能网关及处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195894A1 (en) * | 2005-02-25 | 2006-08-31 | Microsoft Corporation | Windows remote debugger service |
CN101237354A (zh) * | 2007-11-19 | 2008-08-06 | 北京天地互连信息技术有限公司 | 一种DHCPv6一致性的综合测试方法 |
CN102184137A (zh) * | 2011-05-16 | 2011-09-14 | 浪潮集团山东通用软件有限公司 | 一种无人值守的智能的自动化回归测试方法 |
-
2012
- 2012-07-10 CN CN2012102360977A patent/CN102799526A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195894A1 (en) * | 2005-02-25 | 2006-08-31 | Microsoft Corporation | Windows remote debugger service |
CN101237354A (zh) * | 2007-11-19 | 2008-08-06 | 北京天地互连信息技术有限公司 | 一种DHCPv6一致性的综合测试方法 |
CN102184137A (zh) * | 2011-05-16 | 2011-09-14 | 浪潮集团山东通用软件有限公司 | 一种无人值守的智能的自动化回归测试方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020721A1 (zh) * | 2015-08-04 | 2017-02-09 | 阿里巴巴集团控股有限公司 | 业务功能的测试方法和装置 |
CN106469113A (zh) * | 2015-08-18 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及系统 |
CN106469113B (zh) * | 2015-08-18 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及系统 |
CN105204975A (zh) * | 2015-10-08 | 2015-12-30 | 上海瀚之友信息技术服务有限公司 | 基于JavaEE体系架构的性能监控系统及方法 |
CN106844198A (zh) * | 2016-12-27 | 2017-06-13 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN106844198B (zh) * | 2016-12-27 | 2020-03-27 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN113572669A (zh) * | 2021-06-29 | 2021-10-29 | 青岛海尔科技有限公司 | 场景处理方法、装置、智能网关及处理器 |
CN113572669B (zh) * | 2021-06-29 | 2023-06-20 | 青岛海尔科技有限公司 | 场景处理方法、装置、智能网关及处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372600B2 (en) | Systems and methods for automated web performance testing for cloud apps in use-case scenarios | |
CN106844198B (zh) | 一种分布式调度自动化测试平台及方法 | |
CN106681930B (zh) | 分布式自动检测应用运行异常方法及系统 | |
US8880591B2 (en) | Workflow management in distributed systems | |
CN102799519A (zh) | 一种集群文件系统自动化测试方法 | |
JP2023540150A (ja) | 自動アプリケーションプログラミングインターフェース評価および移行のためのシステムおよび方法 | |
US8301935B2 (en) | Distributed batch runner | |
US20150100832A1 (en) | Method and system for selecting and executing test scripts | |
US20150100829A1 (en) | Method and system for selecting and executing test scripts | |
CN108491254A (zh) | 一种数据仓库的调度方法及装置 | |
CN107135390A (zh) | 一种电视应用的自动化测试方法及系统 | |
CN102799526A (zh) | 一种分布式智能调度方法 | |
US9535754B1 (en) | Dynamic provisioning of computing resources | |
CN105205003A (zh) | 一种基于集群化系统的自动化测试方法和装置 | |
US20150100830A1 (en) | Method and system for selecting and executing test scripts | |
US20150100831A1 (en) | Method and system for selecting and executing test scripts | |
CN110232014A (zh) | 业务流程自动化测试方法、装置、控制器及介质 | |
CN104991821A (zh) | 批量处理监控任务的方法及装置 | |
CN105653401A (zh) | 应用系统灾备、运维、监控和应急启停调度方法及装置 | |
CN105260297B (zh) | 一种测试数据管理系统及方法 | |
CN105096014A (zh) | 远程录制作业运行情况的方法和系统 | |
CN102521711B (zh) | 装备质量特性的数据模型构建的控制方法及装置 | |
CN111142929A (zh) | 一种设备生产过程中的固件配置方法、装置、设备及介质 | |
CN105550103B (zh) | 一种基于自定义测试脚本的自动化测试方法 | |
CN103514044B (zh) | 一种动态行为分析系统的资源优化方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121128 |