一种软件自动化测试的调度方法及系统技术方案

技术编号:30772689 阅读:25 留言:0更新日期:2021-11-10 12:45
本发明专利技术公开了一种软件自动化测试的调度方法和系统,该方法包括:根据对软件进行测试的测试指令,导入测试脚本,创建相应的测试任务实例,所述软件部署在被测网络中;将所述测试任务实例加入测试队列,根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,并为所述测试任务实例分配对应的测试机;所述测试机获取所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;执行测试脚本,并实时上报执行所述测试脚本的产出物,在所述测试任务实例执行完毕后,发出相应的通知。本发明专利技术,根据测试机资源池的负载情况,自动调度测试任务分配给相应的测试机,从而实现了对测试任务的自动调试,提高了测试效率。高了测试效率。高了测试效率。

【技术实现步骤摘要】
一种软件自动化测试的调度方法及系统


[0001]本专利技术涉及软件自动化测试
,具体涉及一种软件自动化测试的调度方法及系统。

技术介绍

[0002]通过测试验证软件产品的质量是软件开发的重要环节。传统的软件测试通常是由测试人员在测试工具和框架上编写测试脚本,如使用Postman编排接口测试脚本,使用Jmeter编排性能测试脚本,使用Cucumber+Selenium编排web UI测试脚本等等,然后在本地发起自动化测试,但这种方式,测试工具和框架、以及测试脚本通常保存在测试人员的本地电脑上,并且测试执行也由测试人员的本地电脑发起,因此,受限于测试人员本地电脑的运行环境,无法与一些持续集成平台进行集成;并且,因为没有统一的自动化测试平台来调度不同的自动化测试工具,当测试人员变动时,该人员留下的测试脚本由于依赖其本地电脑环境,其他测试人员将很难接收并维护这些脚本,会给企业带来很大的安全风险;同时,由于测试是在测试人员的本地发起的,每次执行后历史记录、日志、报告的保存完全依赖测试人员人工处理,当测试执行的批次更多时,这些数据管理的工作量将直线上升。
[0003]为此,中国专利技术专利CN 109783348 A公开了一种基于云平台的测试工具资源管理方法、系统,通过基础服务层把各种测试工具服务集成管理,建立统一测试应用项目入口,通过统一入口新建测试应用项目,自由选择各种测试服务类型,填写测试应用项目信息,根据选择的各种测试服务类型,自动筛选各个测试类需要提交的参数材料,填写各个参数信息,提交测试应用项目,创建项目及测试任务,所有测试应用项目任务进行统一管理,通过任务统一管理中心,展示各项目各测试类型的测试进度,运行及暂停任务,任务测试失败后,删除任务,或者运行重新测试,测试完成后,下载测试报告。该方案提升测试工具资源的利用率,降低测试工具使用成本,提高检测的标准化程度。然而,该方案使用OpenStack对测试服务器进行统一管理,测试人员申请测试环境后,测试云平台通过配置,分配给测试人员指定的测试服务器并一键部署测试服务工具镜像包,然后授权给测试人员进行使用,测试人员上传测试源代码及相关测试服务工具所需参数,完成自助测试并返回测试报告。由于没有测试资源的负载反馈,无法合理分配测试资源以实现对测试任务的自动化调度。
[0004]有鉴于此,需要对现有测试平台进行改进,在保证安全性的同时,合理实现对测试任务的自动化调度。

技术实现思路

[0005]针对上述缺陷,本专利技术所要解决的技术问题在于提供一种软件自动化测试的调度方法和系统,以解决现有技术不具备对测试任务自动化调度的问题。
[0006]为此,本专利技术提供了一种软件自动化测试的调度方法,用于在测试网络中自动调度测试任务,包括以下步骤:根据对软件进行测试的测试指令,导入相应的测试脚本,创建相应的测试任务实
例,所述软件部署在被测网络中;将所述测试任务实例加入测试队列,根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,并为所述测试任务实例分配对应的测试机;所述测试机获取所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;执行测试脚本,并实时上报执行所述测试脚本的产出物,在所述测试任务实例执行完毕后,发出相应的通知。
[0007]在上述方法中,优选地,所述测试机为公共测试机,其上设有测试启动模块,通过所述测试启动模块创建Docker容器并唤起测试应用程序,其中,在所述Docker容器中创建运行所述测试脚本的环境。
[0008]在上述方法中,优选地,所述测试机为第三方测试机。
[0009]在上述方法中,优选地,所述被测网络与测试网络构成异构网络,且通过反向代理连通被测网络和测试网络。
[0010]在上述方法中,优选地,所述测试机包括公共测试机和第三方测试机。
[0011]本专利技术还提供了一种软件自动化测试调度系统,包括:接口和处理模块,用于根据客户端发出的对被测网络中的软件进行测试测试指令,从客户端导入相应的测试脚本,创建相应的测试任务实例;任务调度模块,用于将所述测试任务实例加入测试队列,并根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,为所述测试任务实例分配对应的测试机;测试启动模块,部署在测试机上,用于将测试机的状态监控数据实时上报给所述任务调度模块,并根据获取到的所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;测试应用程序模块,用于执行测试脚本,并实时将测试脚本执行过程中的产出物上报给接口和处理模块。
[0012]在上述系统中,优选地,所述测试机为公共测试机或第三方测试机。
[0013]在上述系统中,优选地,所述测试机包括公共测试机和第三方测试机。
[0014]在上述系统中,优选地,所述测试启动模块,在获取到所述测试任务实例的信息后,创建Docker容器并唤起所述测试应用程序模块,其中,在所述Docker中创建运行所述测试脚本的环境。
[0015]在上述系统中,优选地,还包括反向代理模块,用于连通被测网络和测试网络,所述接口和处理模块、任务调度模块、测试启动模块和测试应用程序模块部署在所述测试网络中。
[0016]由上述技术方案可知,本专利技术提供的一种软件自动化测试的调度方法和系统,解决了现有技术测试任务不具备自动化调度的问题。与现有技术相比,本专利技术具有以下有益效果:根据测试指令创建测试任务实例,并根据测试机资源池的负载情况,自动调度测试任务分配给相应的测试机,从而实现了对测试任务的自动调度,提高了测试效率。
[0017]能够通过导入用户自定义的测试脚本进行相应的测试,改变了现有技术只能利用
测试平台固化的专有测试脚本的作法,使得本专利技术的测试具有更高的针对性和灵活性。
[0018]另外,支持复杂网络环境下的自动化测试脚本的执行,且部署一个调度引擎,可以执行多个软件环境的自动化测试。
[0019]同时,测试脚本和测试日志统一管理,便于后期维护。
附图说明
[0020]为了更清楚地说明本专利技术的实施例或现有技术中的技术方案,下面将对本专利技术实施例或现有技术描述中所需要使用的附图做出简单地介绍和说明。显而易见地,下面描述中的附图仅仅是本专利技术的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为本专利技术具体实施例1提供的一种软件自动化测试调度系统示意图;图2为本专利技术具体实施例2提供的一种软件自动化测试调度系统示意图;图3为本专利技术具体实施例3提供的一种软件自动化测试调度系统示意图;图4为本专利技术具体实施例4提供的一种软件自动化测试调度系统示意图。
具体实施方式
[0022]下面将结合本专利技术实施例附图,对本专利技术实施例的技术方案进行清楚、完整地描述,显然,以下所描述的实施例,仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动的前提下,所获得的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件自动化测试的调度方法,用于在测试网络中自动调度测试任务,其特征在于,包括以下步骤:根据对软件进行测试的测试指令,从客户端导入相应的测试脚本,创建相应的测试任务实例,所述软件部署在被测网络中,所述测试脚本与测试任务实例关联;将所述测试任务实例加入测试队列,根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,并为所述测试任务实例分配对应的测试机;所述测试机获取所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;执行测试脚本,并实时上报执行所述测试脚本的产出物,在所述测试任务实例执行完毕后,发出相应的通知。2.根据权利要求1所述的方法,其特征在于,所述测试机为公共测试机,其上设有测试启动模块,通过所述测试启动模块创建Docker容器并唤起测试应用程序,其中,在所述Docker容器中创建运行所述测试脚本的环境。3.根据权利要求1所述的方法,其特征在于,所述测试机为第三方测试机。4.根据权利要求2所述的方法,其特征在于,所述被测网络与测试网络构成异构网络,且通过反向代理连通被测网络和测试网络。5.根据权利要求1所述的方法,其特征在于,所述测试机包括公共测试机和第三方测试机。6.一种软件自动化测试调度系统,其特征在于,包括:接口和...

【专利技术属性】
技术研发人员:张坚欣陈洁邹方勇
申请(专利权)人:广州嘉为科技有限公司
类型:发明
国别省市:

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

1