一种分布式智能调度方法技术

技术编号:8022329 阅读:191 留言:0更新日期:2012-11-29 04:34
本发明专利技术公开了一种分布式智能调度方法,包括如下步骤:S10:提供一支持用户灵活选择场景的用户操作平台;S11:提供分布式调度执行机制;S12:在操作平台中为每个数据库实例选择测试场景;其中,执行步骤S10之前首先完成场景列表,所述场景列表记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、以及依赖项编号的基本信息。本发明专利技术的用户操作平台支持用户灵活选择测试场景;通过监控机调度机制,实现测试场景间关系的智能处理;支持多个数据库实例并行运行;脚本内含中断处理,实现测试结果记录内容的随需而变。

【技术实现步骤摘要】

本专利技术涉及自动化软件测试
,尤其涉及。
技术介绍
目前ERP产品的特点是功能强大、流程复杂,手工回归测试工作量大,人力成本过高,所以自动化测试技术是个最优的选择。但是如果使用一台机器串行执行测试场景完成一次全面的回归测试,耗时时间长,无法满足日常补丁测试周期短、频率高的需求。如何保 证自动化回归测试能在不增加人力的情况下短期内完成日常补丁回归测试,是需要解决的问题。因此,出现了分布式智能调度系统。然而,现有的分布式调度的技术存在如下缺陷 .1.无法支持用户灵活选择测试场景 目前的主流技术采用关键字导出测试场景或按照场景列表按照优先级等机制分发测试场景。这种调度机制存在的缺陷在于用户只能运行同一关键字的场景组,无法灵活选择测试场景;或者没有智能处理场景间的依赖关系,导致某个场景没有运行的话,后续脚本都无法走到,增加脚本运行失败的可能性; .2.不支持多个数据库实例同时运行的需求 目前现有技术只实现同一个数据库实例内场景运行的调度,而实际情况需要多个数据库实例并行运行,已有技术存在局限; .3.没有包含中断处理技术 目前现有技术在处理测试机运行失败后,测试工具就中断停止,需要重新运行一次,才能继续。并且测试日志依赖于测试工具的日志系统,无法按照测试需求记录中断记录、日志。故,针对上述现有技术存在的缺陷,实有必要进行研究,以提供。
技术实现思路
为解决上述问题,本专利技术的目的在于提供,其支持用户灵活选择测试场景以及多个数据库实例同时运行的需求。为实现上述目的,本专利技术的技术方案为 一种分布式智能调度系统及方法,包括如下步骤 510:提供一支持用户灵活选择场景的用户操作平台; 511:提供分布式调度执行机制; 512:在操作平台中为每个数据库实例选择测试场景; 其中,执行步骤SlO之前首先完成场景列表,所述场景列表记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、以及依赖项编号的基本信息;所述用户操作平台以该场景列表为依据,支持用户选择产品版本、关键应用、业务类型过滤场景,灵活选择测试场景,生成运行场景列表。进一步地,所述用户操作平台包括有参数设置界面、选择场景界面、监控机端操作界面、以及测试机端操作界面;其中,参数设置界面用于设置此次测试任务的唯一标识、以及设置要进行测试的数据库实例名称;监控机端操作界面设置有一个端口号;而测试机端操作界面用于设置要连接的监控机IP、端口号、本机脚本项目存放的路径,进行与监控机间的连接。进一步地,所述步骤Sll具体包括 SllO :设置监控机端智能调度机制; Sm :测试机端接收测试指令,调用脚本运行,内含中断处理; 5112:测试机实时回传测试结果,分配任务运行结束后返回日志;5113:监控机分析测试结果,检查测试机状态,如果空闲,则转到执行步骤S110。进一步地,在所述SllO中,以用户操作平台生成的运行场景列表为循环依据,运 行场景列表中设置运行状态字段;调度机制按顺序循环判断当前场景的运行条件,当该场景尚未运行,且其依赖项运行成功的才予以进行分发。进一步地,在所述步骤S113中,监控机接收到测试机发回的运行信息后,进行处理,如果是测试结果信息,则实时记录到运行结果中,如果是测试日志,则说明该测试机运行结束,将日志信息附到监控机端的日志文件后面,返回继续进行后续脚本的分配,直到所有的场景运行结束。进一步地,在所述步骤S12中,通过运行场景生成机制把已选场景放在一个运行场景列表中,用实例名称字段标识运行的实例,在脚本执行时,脚本会判断当前实例名称是否是要运行的实例,进行选择实例处理,再进行测试。相较于现有技术,本专利技术分布式智能调度方法的用户操作平台支持用户灵活选择测试场景;通过监控机调度机制,实现测试场景间关系的智能处理;支持多个数据库实例并行运行;脚本内含中断处理,实现测试结果记录内容的随需而变。附图说明图I是是本专利技术的分布式运行设计示意 图2是是本专利技术的用户操作平台的参数设置界面示意 图3是是本专利技术的用户操作平台的选择场景界面示意 图4是是本专利技术的用户操作平台的监控机端界面示意 图5是是本专利技术的用户操作平台的测试机端界面示意 图6是本专利技术智能调度程序实现流程图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参照图I所示,本专利技术分布式智能调度方法包括如下步骤 SlO :提供一支持用户灵活选择场景的用户操作平台 首先完成场景列表,请参照图I中的输入文件-场景列表所示,场景列表文件用excel表的形式,每个产品版本作为一个sheet页进行存放,记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、依赖项编号等基本信息,该列表在场景脚本开发结束后进行完善。用户操作平台以场景列表为依据,支持用户选择产品版本、关键应用、业务类型过滤场景,灵活选择测试场景,生成运行场景列表。该用户操作平台包括有参数设置界面、选择场景界面、监控机端操作界面、以及测试机端操作界面。其中,参数设置界面,参照图2所示,具体为设置此次测试任务的唯一标识;选择场景界面,参照图3所示,实现从场景列表中根据用户选择的产品版本、关键应用、业务类型过滤出来场景,用户可以灵活选择运行场景,而后指定在哪个数据库实例中运行,生成运行场景列表;监控机端操作界面,参照图4所示,可设置监控机端的端口号,开启这个端口号的socket,开启监听。提供状态栏,显示各个测试机已经运行的场景数量,当前运行的场景名称、运行日志等信息;而测试机端操作界面,参照图5所示,可设置要连接的监控机IP、端口号、本机脚本项目存放的路径,进行与监控机间的连接。其内测试指令窗口实时显示接收的监控机端的指令,运行状态窗口实时显示当前运行场景的日志。Sll :提供分布式调度执行机制,其中,该步骤Sll具体包括 SllO :实现监控机端智能调度机制。参照图I所示,监控机端实现开启监听、测试场景 的智能调度、结果处理、以及根据结果进行后续场景的再分配,直到所有的场景运行结束。详细的程序处理流程图请参照图6,以用户操作平台生成的运行场景列表为循环依据,运行场景列表中设置运行状态字段,分为未运行、正在运行、运行失败、依赖项运行失败无法运行。调度机制按顺序循环判断当前场景的运行条件。当该场景尚未运行,并且其依赖项运行成功的才予以进行分发;如果场景正在运行或者已运行,依赖项运行失败或由于其依赖项运行失败无法运行的情况,则该场景不进行调度;如果该场景尚未运行,依赖项也尚未运行的情况,则找到其直接依赖项判断是否满足执行条件,若满足则运行,若不满足则依次上溯循环判断其依赖项,直到找到最源头的依赖项,进行运行条件的判断,若满足则执行,当起初要调度的场景的所有前序依赖项都检查、运行完毕后,再进行此场景的调度执行。对于运行标识的书写使用依赖项运行失败,所有的后续场景直接标识为“依赖项***运行失败,无法运行”。这种智能调度方式就摆脱了用户选择场景必须按内在顺序排列的要求,支持用户的灵活选择,实现场景间关系的智能处本文档来自技高网...

【技术保护点】
一种分布式智能调度方法,其特征在于,包括如下步骤:S10:提供一支持用户灵活选择场景的用户操作平台;S11:提供分布式调度执行机制;S12:在操作平台中为每个数据库实例选择测试场景;其中,执行步骤S10之前首先完成场景列表,所述场景列表记录了所有场景的所属关键应用、业务类型、场景编号、场景名称、脚本相对于脚本项目的存放路径、以及依赖项编号的基本信息;所述用户操作平台以该场景列表为依据,支持用户选择产品版本、关键应用、业务类型过滤场景,灵活选择测试场景,生成运行场景列表。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵超程宝君刘俊红
申请(专利权)人:浪潮集团山东通用软件有限公司
类型:发明
国别省市:

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

1