一种适用于分布式测试系统的测试用例调度与分发方法技术方案

技术编号:15895139 阅读:239 留言:0更新日期:2017-07-28 19:44
本发明专利技术公开了一种适用于分布式测试系统的测试用例调度与分发方法,其特征在于将测试机和测试用例分别抽象为资源供给方和资源需求方,并为每个测试用例设置优先级,通过资源供需比对来调度测试用例,按照优先级来分发测试用例。可解决分布式自动化测试系统在并发任务时的资源冲突问题,提高自动化程度和执行效率。

A test case scheduling and distribution method for distributed test system

The invention discloses a test system for distributed test scheduling and distribution method, which is characterized in that the testing machine and the test cases were abstracted as resources supply and demand side resources, and set the priority for each test case, the ratio of supply and demand to resource scheduling test cases, according to the priority to the distribution of test cases. It can solve the resource conflict problem of distributed automated test system in concurrent tasks, and improve the degree of automation and execution efficiency.

【技术实现步骤摘要】
一种适用于分布式测试系统的测试用例调度与分发方法
本专利技术涉及软件自动化测试领域,尤其涉及适用于一种适用于分布式测试系统的测试用例调度与分发方法。
技术介绍
现有的通用分布式自动化测试框架,如STAF(SoftwareTestAutomationFramework),在多用户、多任务场景下,会遇到资源冲突问题。例如,用户1发起的任务1和用户2发起的任务2依赖同一台分布式测试机上的同一个资源,两个任务同时运行时便会出现资源冲突,导致不可预料的结果。
技术实现思路
针对以上缺陷,本专利技术目的在于如何解决现有自动化测试框架中多任务同时运行中出现的资源冲突问题。为了实现上述目的,本专利技术提供了一种适用于分布式测试系统的测试用例调度与分发方法,其特征在于将测试机和测试用例分别抽象为资源供给方和资源需求方,并为每个测试用例设置优先级,通过资源供需比对来调度测试用例,按照优先级来分发测试用例。所述的适用于分布式测试系统的测试用例调度与分发方法,其特征在于按照如下步骤调度测试用例,生成测试用例分发列表:步骤2.1解析测试任务;步骤2.2读取一条测试用例,并从测试用例资源列表中查询满足该测试用例资源需求的测试机;步骤2.3将测试用例与测试机的匹配关系追加到测试用例分发列表中;步骤2.4判断该测试任务全部测试用例是否处理完毕,如果完成则进入测试用例分发程序;如果没有则返回继续执行步骤2.2。所述的适用于分布式测试系统的测试用例调度与分发方法,其特征在于按照如下步骤分发测试用例:步骤3.1启动测试用例分发程序;步骤3.2判读测试用例分发列表是否为空,如果为空跳转执行步骤3.7;不为空继续执行;步骤3.3从测试机状态列表中获取空闲测试机列表,判断如果空闲测试机列表为空或者全部空闲测试机处理完毕则跳转执行步骤3.2;否则继续执行;步骤3.4从空闲测试机列表中读取一台测试机,从测试用例分发列表中查询与该测试机相匹配的优先级最高的测试用例;步骤3.5判断结果是否为空,如果是则跳转执行步骤3.3;否则继续执行;步骤3.6分发将该测试用例至测试机,将该测试机状态置为忙,将该测试用例从测试用例分发列表中删除,并跳转执行步骤3.3;步骤3.7结束本次测试用例分发例程。本专利技术通过提出一种适用于分布式自动化测试系统的测试用例调度与分发策略,可解决分布式自动化测试系统在并发任务时的资源冲突问题,提高自动化程度和执行效率。附图说明图1是测试用例调度流程图;图2是测试用例分发流程图;图3是测试用例的调度与分发策略示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是测试用例调度流程图;图2是测试用例分发流程图;该策略将测试机和测试用例分别抽象为资源供给方和资源需求方,在数据库中建立测试机资源列表和测试用例资源需求列表。用户在定义测试任务时,可将测试系统作为黑盒看待,只需了解测试系统的总体能力,不必关心测试机的具体情况,不必人工指定测试用例在哪些测试机上执行。在调度测试任务时,对于任务中包含的每个测试用例,测试用例调度例程会通过查询测试用例资源需求列表得到其资源需求,然后通过查询测试机资源列表得到满足该资源需求的测试机,在数据库中建立测试用例分发列表,从而实现自动调度,具体的调度流程下:步骤2.1解析测试任务;步骤2.2读取一条测试用例,并从测试用例资源列表中查询满足该测试用例资源需求的测试机;步骤2.3将测试用例与测试机的匹配关系追加到测试用例分发列表中;步骤2.4判断该测试任务全部测试用例是否处理完毕,如果完成则进入测试用例分发程序;如果没有则返回继续执行步骤2.2。测试用例调度例程在完成测试用例调度之后,会调用测试用例分发例程,只要测试用例分发列表不为空,该例程会持续从数据库中的测试机状态列表中查询空闲的测试机,然后从测试用例分发列表中查询能够在空闲测试机上运行的优先级最高的测试用例,将其分发至相应的空闲测试机,并从测试用例分发列表中删除;如果当前系统中无空闲测试机,该例程会持续等待、查询,测试用例分发列表中保留尚未分发的测试用例,并允许追加新增测试用例;对尚未分发的测试用例,可动态调整其优先级,保证高优先级测试用例优先执行。具体的分发流程如下:步骤3.1启动测试用例分发程序;步骤3.2判读测试用例分发列表是否为空,如果为空跳转执行步骤3.7;不为空继续执行;步骤3.3从测试机状态列表中获取空闲测试机列表,判断如果空闲测试机列表为空或者全部空闲测试机处理完毕则跳转执行步骤3.2;否则继续执行;步骤3.4从空闲测试机列表中读取一台测试机,从测试用例分发列表中查询与该测试机相匹配的优先级最高的测试用例;步骤3.5判断结果是否为空,如果是则跳转执行步骤3.3;否则继续执行;步骤3.6分发将该测试用例至测试机,将该测试机状态置为忙,将该测试用例从测试用例分发列表中删除,并跳转执行步骤3.3;步骤3.7结束本次测试用例分发例程。图3是测试用例的调度与分发策略示意图,测试系统并发执行括多个测试任务,例如包括测试任务1、测试任务2和测试任务3,每个测试任务又包括多个测试用例,每个测试用例设定了一个优先级;测试机资源列表记录了所有分布式测试机的资源供给信息,测试用例资源需求列表记录了所有测试用例的资源需求信息。测试用例调度进程根据分析测试任务中各个测试用例的需求生成测试用例分发列表;测试用例分发例程根据测试机的状态和测试用例分发列表中测试用例的优先级将测试用例分发至对应的测试机。上述策略中,多用户共享同一数据库资源和测试执行引擎,既可保证并发性,又可避免多用户、多任务时的资源冲突,提高测试的自动化程度和执行效率。以上所揭露的仅为本专利技术一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本专利技术权利要求所作的等同变化,仍属于本专利技术所涵盖的范围。本文档来自技高网...
一种适用于分布式测试系统的测试用例调度与分发方法

【技术保护点】
一种适用于分布式测试系统的测试用例调度与分发方法,其特征在于将测试机和测试用例分别抽象为资源供给方和资源需求方,并为每个测试用例设置优先级,通过资源供需比对来调度测试用例,按照优先级来分发测试用例。

【技术特征摘要】
1.一种适用于分布式测试系统的测试用例调度与分发方法,其特征在于将测试机和测试用例分别抽象为资源供给方和资源需求方,并为每个测试用例设置优先级,通过资源供需比对来调度测试用例,按照优先级来分发测试用例。2.根据权利要求1所述的适用于分布式测试系统的测试用例调度与分发方法,其特征在于按照如下步骤调度测试用例,生成测试用例分发列表:步骤2.1解析测试任务;步骤2.2读取一条测试用例,并从测试用例资源列表中查询满足该测试用例资源需求的测试机;步骤2.3将测试用例与测试机的匹配关系追加到测试用例分发列表中;步骤2.4判断该测试任务全部测试用例是否处理完毕,如果完成则进入测试用例分发程序;如果没有则返回继续执行步骤2.2。3.根据权利要求2所述的适用于分布...

【专利技术属性】
技术研发人员:刘长松张卫华姚兰
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东,44

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

1