CN113626344B - 一种软件自动化测试的调度方法及系统 - Google Patents

一种软件自动化测试的调度方法及系统 Download PDF

Info

Publication number
CN113626344B
CN113626344B CN202111184394.7A CN202111184394A CN113626344B CN 113626344 B CN113626344 B CN 113626344B CN 202111184394 A CN202111184394 A CN 202111184394A CN 113626344 B CN113626344 B CN 113626344B
Authority
CN
China
Prior art keywords
test
task
network
testing
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.)
Active
Application number
CN202111184394.7A
Other languages
English (en)
Other versions
CN113626344A (zh
Inventor
张坚欣
陈洁
邹方勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiajia Technology Co ltd
Original Assignee
Jiajia Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiajia Technology Co ltd filed Critical Jiajia Technology Co ltd
Priority to CN202111184394.7A priority Critical patent/CN113626344B/zh
Publication of CN113626344A publication Critical patent/CN113626344A/zh
Application granted granted Critical
Publication of CN113626344B publication Critical patent/CN113626344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种软件自动化测试的调度方法及系统
技术领域
本发明涉及软件自动化测试技术领域,具体涉及一种软件自动化测试的调度方法及系统。
背景技术
通过测试验证软件产品的质量是软件开发的重要环节。传统的软件测试通常是由测试人员在测试工具和框架上编写测试脚本,如使用Postman编排接口测试脚本,使用Jmeter编排性能测试脚本,使用Cucumber+Selenium编排web UI测试脚本等等,然后在本地发起自动化测试,但这种方式,测试工具和框架、以及测试脚本通常保存在测试人员的本地电脑上,并且测试执行也由测试人员的本地电脑发起,因此,受限于测试人员本地电脑的运行环境,无法与一些持续集成平台进行集成;并且,因为没有统一的自动化测试平台来调度不同的自动化测试工具,当测试人员变动时,该人员留下的测试脚本由于依赖其本地电脑环境,其他测试人员将很难接收并维护这些脚本,会给企业带来很大的安全风险;同时,由于测试是在测试人员的本地发起的,每次执行后历史记录、日志、报告的保存完全依赖测试人员人工处理,当测试执行的批次更多时,这些数据管理的工作量将直线上升。
为此,中国发明专利CN 109783348 A公开了一种基于云平台的测试工具资源管理方法、系统,通过基础服务层把各种测试工具服务集成管理,建立统一测试应用项目入口,通过统一入口新建测试应用项目,自由选择各种测试服务类型,填写测试应用项目信息,根据选择的各种测试服务类型,自动筛选各个测试类需要提交的参数材料,填写各个参数信息,提交测试应用项目,创建项目及测试任务,所有测试应用项目任务进行统一管理,通过任务统一管理中心,展示各项目各测试类型的测试进度,运行及暂停任务,任务测试失败后,删除任务,或者运行重新测试,测试完成后,下载测试报告。该方案提升测试工具资源的利用率,降低测试工具使用成本,提高检测的标准化程度。然而,该方案使用OpenStack对测试服务器进行统一管理,测试人员申请测试环境后,测试云平台通过配置,分配给测试人员指定的测试服务器并一键部署测试服务工具镜像包,然后授权给测试人员进行使用,测试人员上传测试源代码及相关测试服务工具所需参数,完成自助测试并返回测试报告。由于没有测试资源的负载反馈,无法合理分配测试资源以实现对测试任务的自动化调度。
有鉴于此,需要对现有测试平台进行改进,在保证安全性的同时,合理实现对测试任务的自动化调度。
发明内容
针对上述缺陷,本发明所要解决的技术问题在于提供一种软件自动化测试的调度方法和系统,以解决现有技术不具备对测试任务自动化调度的问题。
为此,本发明提供了一种软件自动化测试的调度方法,用于在测试网络中自动调度测试任务,包括以下步骤:
根据对软件进行测试的测试指令,导入相应的测试脚本,创建相应的测试任务实例,所述软件部署在被测网络中;
将所述测试任务实例加入测试队列,根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,并为所述测试任务实例分配对应的测试机;
所述测试机获取所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;
执行测试脚本,并实时上报执行所述测试脚本的产出物,在所述测试任务实例执行完毕后,发出相应的通知。
在上述方法中,优选地,所述测试机为公共测试机,其上设有测试启动模块,通过所述测试启动模块创建Docker容器并唤起测试应用程序,其中,在所述Docker容器中创建运行所述测试脚本的环境。
在上述方法中,优选地,所述测试机为第三方测试机。
在上述方法中,优选地,所述被测网络与测试网络构成异构网络,且通过反向代理连通被测网络和测试网络。
在上述方法中,优选地,所述测试机包括公共测试机和第三方测试机。
本发明还提供了一种软件自动化测试调度系统,包括:
接口和处理模块,用于根据客户端发出的对被测网络中的软件进行测试测试指令,从客户端导入相应的测试脚本,创建相应的测试任务实例;
任务调度模块,用于将所述测试任务实例加入测试队列,并根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,为所述测试任务实例分配对应的测试机;
测试启动模块,部署在测试机上,用于将测试机的状态监控数据实时上报给所述任务调度模块,并根据获取到的所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;
测试应用程序模块,用于执行测试脚本,并实时将测试脚本执行过程中的产出物上报给接口和处理模块。
在上述系统中,优选地,所述测试机为公共测试机或第三方测试机。
在上述系统中,优选地,所述测试机包括公共测试机和第三方测试机。
在上述系统中,优选地,所述测试启动模块,在获取到所述测试任务实例的信息后,创建Docker容器并唤起所述测试应用程序模块,其中,在所述Docker中创建运行所述测试脚本的环境。
在上述系统中,优选地,还包括反向代理模块,用于连通被测网络和测试网络,所述接口和处理模块、任务调度模块、测试启动模块和测试应用程序模块部署在所述测试网络中。
由上述技术方案可知,本发明提供的一种软件自动化测试的调度方法和系统,解决了现有技术测试任务不具备自动化调度的问题。与现有技术相比,本发明具有以下有益效果:
根据测试指令创建测试任务实例,并根据测试机资源池的负载情况,自动调度测试任务分配给相应的测试机,从而实现了对测试任务的自动调度,提高了测试效率。
能够通过导入用户自定义的测试脚本进行相应的测试,改变了现有技术只能利用测试平台固化的专有测试脚本的作法,使得本发明的测试具有更高的针对性和灵活性。
另外,支持复杂网络环境下的自动化测试脚本的执行,且部署一个调度引擎,可以执行多个软件环境的自动化测试。
同时,测试脚本和测试日志统一管理,便于后期维护。
附图说明
为了更清楚地说明本发明的实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图做出简单地介绍和说明。显而易见地,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明具体实施例1提供的一种软件自动化测试调度系统示意图;
图2为本发明具体实施例2提供的一种软件自动化测试调度系统示意图;
图3为本发明具体实施例3提供的一种软件自动化测试调度系统示意图;
图4为本发明具体实施例4提供的一种软件自动化测试调度系统示意图。
具体实施方式
下面将结合本发明实施例附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,以下所描述的实施例,仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下,所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实现原理是:
根据对软件进行测试的测试指令,导入相应的测试脚本,创建相应的测试任务实例,所述软件部署在被测网络中;
将所述测试任务实例加入测试队列,根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,并为所述测试任务实例分配对应的测试机;
所述测试机获取所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;
执行测试脚本,并实时上报执行所述测试脚本的产出物。
本发明提供的方案,能够根据测试机资源池的负载情况,自动调度测试任务分配给相应的测试机,从而实现了对测试任务的自动调试,提高了测试效率。特别是,在进行测试时,能够通过导入用户自定义的测试脚本进行相应的测试,改变了现有技术只能利用测试平台固化的专有测试脚本的作法,使得本发明的测试具有更高的针对性和灵活性。
为了对本发明的技术方案和实现方式做出更清楚地解释和说明,以下介绍实现本发明技术方案的几个优选的具体实施例。
需要说明的是,本文中“内、外”、“前、后”及“左、右”等方位词是以产品使用状态为基准对象进行的表述,显然,相应方位词的使用对本方案的保护范围并非构成限制。
具体实施例1。
本具体实施例1的应用场景是同构网络下使用公共测试机进行测试。其中,同构网络指的是被测网络(测试软件所在的网络)与测试网络(接口模块和调度模块所在的网络)位于同一网络下。
图1为本发明具体实施例1提供的一种软件自动化测试调度系统示意图,根据具体实施例1系统实现软件自动化测试调度的方法包括以下步骤:
步骤101,用户通过客户端Client(用户的个人电脑,可通过网络访问接口和处理模块Main-Process)调用接口和处理模块Main-Process的触发测试任务接口,发起对指定的软件进行测试的测试指令。
步骤102,根据上述测试指令,接口和处理模块Main-Process从客户端导入相应的测试脚本,创建本次测试任务的测试任务实例,并备份所有本次将要执行的测试脚本到接口和处理模块Main-Process的数据库中,该测试脚本为用户自己编写的针对相应测试任务的测试脚本。
接口和处理模块Main-Process调用任务调度模块Jmconf的下发测试任务接口,将创建的测试任务实例发送给任务调度模块Jmconf。
步骤103,任务调度模块Jmconf接收到测试任务实例后,将该测试任务实例添加到消息队列RabbitMQ中。
步骤104,任务调度模块Jmconf通过获取公共测试机的负载状态数据,计算出当前是否有公共测试机可用;一旦计算出有可用的公共测试机,则任务调度模块Jmconf会从消息队列RabbitMQ中获取排在队列最前面的测试任务实例,并将该测试任务实例分配给指定的公共测试机,同时在任务调度模块Jmconf的数据库中记录本次分配。
步骤105,测试启动模块TestDocker定时向任务调度模块Jmconf发送心跳请求,询问是否有需要执行的测试任务实例,并拉取分配给当前公共测试机的测试任务实例时,在当前公共测试机上创建运行该测试任务实例所需的Docker容器环境。
Docker容器环境启动时,会在其中启动TestAgent测试应用程序,同时还会向TestAgent测试应用程序传递测试任务实例的信息。
TestAgent测试应用程序启动成功并获取到测试任务实例信息后,通过接口和处理模块Main-Process调用下载任务实例数据接口,将该任务实例的全部数据下载到测试启动模块TestDocker容器中。
步骤106,TestDocker唤醒测试脚本运行环境,并向TestAgent发送测试任务信息。
步骤107,TestAgent从接口和处理模块Main-Process拉取与测试任务对应的测试脚本。
步骤108,TestAgent测试应用程序执行测试脚本,同时另启一个线程监控测试脚本执行的产出物,并以心跳的方式调用接口和处理模块Main-Process的数据上报接口,不间断的上传测试脚本执行的产出物数据。
所有的测试脚本执行完成后,TestAgent测试应用程序调用接口和处理模块Main-Process的任务执行完成接口,告知接口和处理模块Main-Process,当前任务实例中所有的测试脚本已经执行完成,接口和处理模块Main-Process接收到任务实例执行完成的消息后,向用户发送通知,告知用户任务实例执行完成。
本具体实施例中,同构网络下公共测试机负载状态数据汇报过程如下:
测试启动模块TestDocker常驻运行在公共测试机上,并定时收集公共测试机所在物理服务器的负载状态数据。
测试启动模块TestDocker通过调用任务调度模块Jmconf提供的公共测试机状态数据上报接口,定时将公共测试机负载状态数据汇报给任务调度模块Jmconf。
任务调度模块Jmconf接收到公共测试机上报的负载状态数据,通过加权计算最近N次(N为Jmconf的配置项,通常N大于5)公共测试机负载状态数据,得出公共测试机的负载状态平均值并记录在任务调度模块Jmconf的数据库中。
具体实施例2。
本具体实施例2的应用场景是同构网络下使用第三方测试机进行测试,其中,同构网络指的是被测网络(测试软件所在的网络)与测试网络(接口模块和调度模块所在的网络)位于同一网络下,第三方测试机指的是用户自主接入的测试机)。
图2为本发明具体实施例2提供的一种软件自动化测试调度系统示意图,根据具体实施例2系统实现软件自动化测试调度的方法包括以下步骤:
步骤201,用户通过客户端Client调用接口和处理模块Main-Process的触发测试任务执行接口,发起指定的软件进行测试的测试指令。
步骤202,根据上述测试指令,接口和处理模块Main-Process从客户端导入相应的测试脚本,创建本次测试任务执行的测试任务实例,并备份所有本次将要执行的测试脚本到接口和处理模块Main-Process的数据库中,该测试脚本为用户自己编写的针对相应测试任务的测试脚本。
接口和处理模块Main-Process调用任务调度模块Jmconf的下发测试任务接口,将创建测试任务实例发送给任务调度模块Jmconf。
步骤203,任务调度模块Jmconf接收测试任务实例,并将测试任务实例发送到消息队列RabbitMQ中。
步骤204,任务调度模块Jmconf通过获取在第三方测试机负载状态数据,计算出当前是否有第三方测试机可用;一旦计算出有可用的第三方测试机,则任务调度模块Jmconf会从消息队列RabbitMQ中获取排在队列最前面的测试任务实例,并将该测试任务实例分配给指定的第三方测试机,同时将该分配记录到任务调度模块Jmconf数据库中。
步骤205,TestAgent测试应用程序定时向任务调度模块Jmconf发送心跳请求,询问是否有需要执行的测试任务实例;当TestAgent测试应用程序获取到分配给当前第三方测试机的测试任务实例时,通过接口和处理模块Main-Process的下载任务实例数据接口,将该任务实例的全部数据下载到当前第三方测试机。
步骤206,TestAgent从接口和处理模块Main-Process拉取与测试任务对应的测试脚本。
步骤207,TestAgent测试应用程序启动测试脚本,执行测试。同时另启一个线程监控测试脚本执行的产出物,并以心跳的方式调用接口和处理模块Main-Process的数据上报接口,不间断的上传测试脚本执行的产出物数据。
所有的测试脚本执行完成后,TestAgent测试应用程序调用接口和处理模块Main-Process的任务执行完成接口,告知接口和处理模块Main-Process,当前任务实例中所有的测试脚本已经执行完成,接口和处理模块Main-Process接收到任务实例执行完成的消息后,向用户发送通知,告知用户任务实例执行完成。
本具体实施例2与具体实施例1的区别在于,具体实施例2使用的不是公共测试机,而是用户自主接入的第三方测试机,公共测试机可以多个用户共用,而第三方测试机通常是用户自己指定的专用测试机。因此,本具体实施例2可应用于用户接入已有的测试脚本运行环境,实现了对企业历史测试脚本及测试脚本运行环境的兼容,并提高了安全性。
具体实施例3。
本具体实施例3的应用场景是异构网络下使用公共测试机进行测试。其中,异构网络指的是测试机与调度引擎的其它部分应用程序角色网络互不连通。
在同构网络下,公共测试机测试任务执行过程中,测试启动模块TestDocker和TestAgent测试应用程序与任务调度模块Jmconf和接口和处理模块Main-Process的通信是互通的,当用户的被测试环境与测试网络不通时,如图3所示,可以通过在被测网络与测试网络之间提供一台代理服务器,并在该代理服务器上搭建一个Nginx反向代理,通过该Nginx反向代理连接被测网络和测试网络,解决被测网络与测试网络不能直接通达的问题,实现异构网络环境下的测试的需求。
Nginx反向代理需要配置接口和处理模块Main-Process和任务调度模块Jmconf的域名信息,并将测试机部署在被测网络中。
本发明中,Nginx反向代理的主要作用是在异构网络下做请求转发的处理,也可以使用其它类似的反向代理工具实现。
具体实施例4。
本具体实施例4的应用场景是异构网络下使用第三方测试机进行测试,其中,异构网络指的是测试机与调度引擎的其它部分应用程序角色网络互不连通,第三方测试机指的是用户自主接入的测试机。
本具体实施例4与具体实施例2的区别在于,如图4所示,通过在被测网络与测试网络之间提供一台代理服务器,并在该代理服务器上搭建一个Nginx反向代理,通过该Nginx反向代理连通被测网络和测试网络,解决被测网络与测试网络不能直接通达的问题,实现异构网络环境下的测试的需求。
Nginx反向代理需要配置接口和处理模块Main-Process和任务调度模块Jmconf的域名信息,并将测试机部署在被测网络中。
本发明提供的方案,还可以在公共测试机的基础上,再额外部署第三方测试机,这样,用户可以将某些测试使用公共测试机进行,同时,将某些特定的软件使用自己指定的第三方测试机进行,使用更加灵活和方便。
在上述方法的基础上,本发明还提供了一种软件自动化测试调度系统,包括:
接口和处理模块10,用于根据用户通过客户端发出的测试指令,导入相应的测试脚本,创建相应的测试任务实例,并管理测试任务的执行日志、管理测试脚本执行的产出物,在测试完成后通知用户。
任务调度模块20,将测试任务实例加入测试队列,根据接收到的测试机的负载状态,从测试队列中顺序提取测试任务实例,并为测试任务实例分配对应的测试机。
其中,测试机可以是公共测试机或者第三方测试机,也可以在公共测试机的基础上,同时部署第三方测试机,分别执行不同的测试任务。
测试启动模块30,运行在公共测试机或第三方测试机上,用于将测试机的状态监控数据实时上报给任务调度模块20,并实时获取测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本,创建启动Docker容器以创建运行脚本环境和唤起测试应用程序模块40。
由于Docker容器技术的限制,TestDocker只能运行在基于Linux内核的操作系统上。
测试应用程序模块40,用于执行测试脚本,并实时将测试脚本执行过程中的产出物上报给接口和处理模块10,并在测试任务实例完成后,向接口和处理模块10发出相应的通知。
由于Docker容器技术的限制,TestAgent只能运行在基于Linux内核的操作系统上。
上述功能模块可视为不同的应用角色,这些应用角色之间相互配合,共同完成测试脚本的执行。
在上述系统中,还包括代理模块50,用于测试机与调度引擎的其它部分应用程序角色不通(异构网络)时,负责为测试机搭建反向代理以便测试机可以访问调度网络。
综合以上具体实施例的描述,本发明提供的一种软件自动化测试的调度方法和系统,与现有技术相比,具有如下优点:
第一,用户只需要在本地电脑编写测试脚本,将测试脚本上传到调度引擎上并发起自动化测试任务(以下称测试任务),调度引擎将自动在测试机资源池中分配资源并执行测试脚本、自动抓取测试脚本执行过程中产生的产出物。支持复杂网络环境下的自动化测试脚本的执行,且部署一个调度引擎,可以执行多个环境的自动化测试的诉求。
第二、不依赖于任何一种编程语言实现,也不依赖于任何现有的操作系统,而是定义了一系列的应用程序角色,通过这些应用程序角色之间的相互配合,共同完成测试脚本的执行,系统通用性强。
第三、通过分离不同的应用程序角色,实现了整个调度引擎的可扩展设计,实际应用时,可以根据自身业务量的发展,灵活的扩展调度引擎中各个应用程序角色,可以灵活的调整调度引擎的整体性能。测试机上的应用程序角色主动请求main-process和jmconf,而反之则不可以,为异构网络下的自动化测试,通过代理穿透网络提供了极大的便利。
第四,通过使用Docker的虚拟化技术,灵活的启停测试脚本的运行环境,即增强了测试机资源池的扩展性,又可以降低物理服务器资源的消耗。
第五,不仅能调度测试工具,还能调度用户基于开源测试框架编写的测试脚本。可以方便地让用户接入已有的测试脚本运行环境,实现了对企业历史测试脚本及测试脚本运行环境的兼容。
第六,整个调度引擎就是一个由多个微服务组成的服务体系,实现了将自动化测试由测试人员的个人能力向企业级服务能力的转变,将该能力开放,可以方便企业测试能力和测试资源的共享。
最后,还需要说明的是,在本文中使用的术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个…"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (2)

1.一种软件自动化测试的调度方法,用于在测试网络中自动调度测试任务,其特征在于,软件自动化测试的调度方法包括以下步骤:
根据对软件进行测试的测试指令,从客户端导入相应的测试脚本,创建相应的测试任务实例,所述软件部署在被测网络中,所述测试脚本与测试任务实例关联,所述测试脚本为用户自己编写的针对相应测试任务的测试脚本;
将所述测试任务实例加入测试队列,根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,并为所述测试任务实例分配对应的测试机;
所述测试机获取所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;
执行测试脚本,并实时上报执行所述测试脚本的产出物,在所述测试任务实例执行完毕后,发出相应的通知;
所述测试机上设有测试启动模块,通过所述测试启动模块创建Docker容器并唤起测试应用程序,其中,在所述Docker容器中创建运行所述测试脚本的环境;所述测试机包括公共测试机和第三方测试机,其中,公共测试机为多个用户共用的测试机,第三方测试机指的是用户自主接入的测试机,具有企业历史测试脚本及测试脚本运行环境,具有安全性要求的软件使用第三方测试机进行测试,其他测试使用公共测试机进行测试;
所述第三方测试机通过接口和处理模块的下载任务实例数据接口,将该任务实例的全部数据下载到当前第三方测试机;
软件自动化测试的调度方法,应用于同构网络或异构网络下进行测试,同构网络指的是被测网络与测试网络位于同一网络下,异构网络是指测试机与调度引擎角色不通,通过反向代理连通被测网络和测试网络,其中,反向代理配置接口和处理模块和任务调度模块的域名信息。
2.一种软件自动化测试调度系统,应用于同构网络或异构网络下进行测试,其特征在于,包括:
接口和处理模块,用于根据客户端发出的对被测网络中的软件进行测试的测试指令,从客户端导入相应的测试脚本,创建相应的测试任务实例;
任务调度模块,用于将所述测试任务实例加入测试队列,并根据测试机资源池的负载状态从所述测试队列中顺序提取一个测试任务实例,为所述测试任务实例分配对应的测试机;
测试启动模块,部署在测试机上,用于将测试机的状态监控数据实时上报给所述任务调度模块,并根据获取到的所述测试任务实例的信息,下载该测试任务实例的全部数据以及关联的测试脚本;
测试应用程序模块,用于执行测试脚本,并实时将测试脚本执行过程中的产出物上报给接口和处理模块;
反向代理模块,用于连通被测网络和测试网络,所述接口和处理模块、任务调度模块、测试启动模块和测试应用程序模块部署在所述测试网络中;
所述测试机上设有测试启动模块,通过所述测试启动模块创建Docker容器并唤起测试应用程序,其中,在所述Docker容器中创建运行所述测试脚本的环境;所述测试机包括公共测试机或者第三方测试机,其中,公共测试机为多个用户共用的测试机,第三方测试机指的是用户自主接入的测试机,具有企业历史测试脚本及测试脚本运行环境,具有安全性要求的软件使用第三方测试机进行测试,其他测试使用公共测试机进行;
所述通过接口和处理模块的下载任务实例数据接口,将该任务实例的全部数据下载到当前第三方测试机;
同构网络指的是被测网络与测试网络位于同一网络下,异构网络是指测试机与调度引擎角色不通,通过反向代理连通被测网络和测试网络,其中,反向代理配置接口和处理模块和任务调度模块的域名信息。
CN202111184394.7A 2021-10-12 2021-10-12 一种软件自动化测试的调度方法及系统 Active CN113626344B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111184394.7A CN113626344B (zh) 2021-10-12 2021-10-12 一种软件自动化测试的调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111184394.7A CN113626344B (zh) 2021-10-12 2021-10-12 一种软件自动化测试的调度方法及系统

Publications (2)

Publication Number Publication Date
CN113626344A CN113626344A (zh) 2021-11-09
CN113626344B true CN113626344B (zh) 2022-02-08

Family

ID=78390969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111184394.7A Active CN113626344B (zh) 2021-10-12 2021-10-12 一种软件自动化测试的调度方法及系统

Country Status (1)

Country Link
CN (1) CN113626344B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117591415A (zh) * 2023-11-28 2024-02-23 中国大唐集团科学技术研究总院有限公司 一种用于一体机云门户平台的安全功能测试系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统
CN107766236A (zh) * 2017-09-21 2018-03-06 平安科技(深圳)有限公司 测试任务自动化管理方法、装置、设备及存储介质
CN109766280A (zh) * 2019-01-16 2019-05-17 广东飞企互联科技股份有限公司 软件测试方法及软件测试平台
CN109871328A (zh) * 2019-02-26 2019-06-11 网宿科技股份有限公司 一种软件测试方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2013CH04617A (zh) * 2013-10-14 2015-04-24 Cognizant Technology Solutions India Pvt Ltd
CN105335293B (zh) * 2015-11-30 2019-08-30 努比亚技术有限公司 一种基于接口并行的自动化测试系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统
CN104834595A (zh) * 2015-02-15 2015-08-12 网易(杭州)网络有限公司 一种可视化自动测试方法及系统
CN107766236A (zh) * 2017-09-21 2018-03-06 平安科技(深圳)有限公司 测试任务自动化管理方法、装置、设备及存储介质
CN109766280A (zh) * 2019-01-16 2019-05-17 广东飞企互联科技股份有限公司 软件测试方法及软件测试平台
CN109871328A (zh) * 2019-02-26 2019-06-11 网宿科技股份有限公司 一种软件测试方法及装置

Also Published As

Publication number Publication date
CN113626344A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN110321152B (zh) 一种软件开发平台
US20210117895A1 (en) Systems and Methods for Cross-Platform Scheduling and Workload Automation
US20180060066A1 (en) Application Centric Continuous Integration and Delivery With Automated Service Assurance
US11244233B2 (en) Intelligent adaptor service in unified automation platforms for robotic process automation
Dong et al. Autonomia: an autonomic computing environment
CN105934916B (zh) 向所部署装置编制和管理服务
US8819202B1 (en) Service configuration and deployment engine for provisioning automation
CN109302483A (zh) 一种应用程序的管理方法及系统
CN113515350A (zh) 一种混合云计算管理平台
CN112559133A (zh) 一种基于原生容器技术的云边协同系统及云边协同方法
CN108614688A (zh) 应用于混合云环境的可视化应用编排及方法
CN112035228A (zh) 一种资源调度方法及装置
CN104503832B (zh) 一种公平和效率均衡的虚拟机调度系统及方法
CN108243012B (zh) 在线计费系统ocs中计费应用处理系统、方法及装置
CN110196731A (zh) 一种运维系统、方法及存储介质
CN104508625A (zh) 用于监视云资源的抽象模型
CN107483245A (zh) 一种基于karaf_agent的主动采集实现装置
CN115292026B (zh) 容器集群的管理方法、装置、设备及计算机可读存储介质
CN113220431B (zh) 跨云的分布式数据任务调度方法、设备及存储介质
CN113626344B (zh) 一种软件自动化测试的调度方法及系统
Lin et al. Tracing function dependencies across clouds
CN113641483A (zh) 一种基于人工智能的机器人流程自动化系统
CN115237547B (zh) 一种非侵入式hpc计算集群的统一容器集群托管系统和方法
CN113220480B (zh) 分布式的数据任务跨云调度系统及方法
CN115543491A (zh) 微服务处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant