CN109901998A - 资源回收方法、装置、系统、计算机设备和存储介质 - Google Patents
资源回收方法、装置、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109901998A CN109901998A CN201910087425.3A CN201910087425A CN109901998A CN 109901998 A CN109901998 A CN 109901998A CN 201910087425 A CN201910087425 A CN 201910087425A CN 109901998 A CN109901998 A CN 109901998A
- Authority
- CN
- China
- Prior art keywords
- test
- test script
- management server
- testing
- resource
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请涉及一种资源回收方法、装置、系统、计算机设备和存储介质。方法包括:管理服务器获取测试脚本、测试任务和测试服务;管理服务器将测试脚本、测试任务和测试服务发送给测试引擎,以指示测试引擎根据测试任务和测试服务执行测试脚本;当管理服务器检测到测试脚本被执行结束后,回收测试脚本被执行时所占用的测试引擎的资源。采用本方法能够回收测试脚本被执行时所占用的测试引擎的资源,从而实现硬件设备资源的回收,极大地提高了硬件设备的利用率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源回收方法、装置、系统、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了性能测试平台,性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,以达到对系统性能的全面分析和可能存在问题的预测。
然而,目前的性能测试平台,在完成性能测试后不能将测试环境中所使用的资源进行回收,导致资源的浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种能够及时回收测试环境中的资源的资源回收方法、装置、系统、计算机设备和存储介质。
一种资源回收方法,所述方法包括:
管理服务器获取测试脚本、测试任务和测试服务;
所述管理服务器将所述测试脚本、所述测试任务和所述测试服务发送给测试引擎,以指示所述测试引擎根据所述测试任务和测试服务执行所述测试脚本;
当所述管理服务器检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源。
在其中一个实施例中,所述当管理服务器检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源,包括:
当所述测试引擎执行多个测试脚本时,所述管理服务器检测每个测试脚本的执行时间;
所述管理服务器获取所述每个测试脚本对应的测试任务中的执行时间,当所述每个测试脚本的执行时间达到所述对应的测试任务中的执行时间时,回收所述每个测试脚本被执行时占用的所述测试引擎的资源。
在其中一个实施例中,所述测试引擎包括负载机和web服务器;所述管理服务器将所述测试脚本、所述测试任务和所述测试服务发送给测试引擎,包括:
所述管理服务器将所述测试脚本和所述测试任务发送给所述负载机;
所述管理服务器将所述测试服务发送给所述web服务器;
所述测试引擎根据所述测试任务和所述测试服务执行所述测试脚本的方式,包括:
所述负载机根据所述测试任务调用所述web服务器;
所述web服务器根据所述测试任务和所述测试服务执行所述测试脚本。
在其中一个实施例中,当所述管理服务器检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源,包括:
所述管理服务器检测所述web服务器的执行时间;
当所述web服务器的执行时间达到所述测试任务中的执行时间时,所述管理服务器回收所述测试脚本被执行时所占用的所述负载机和所述web服务器的资源。
在另一个实施例中,所述方法还包括:
所述管理服务器从数据库中获取测试数据,将所述测试数据整理为测试结果;其中,所述数据库中的测试数据是通过监控工具监控所述测试引擎的执行时所产生的测试数据;
所述管理服务器输出所述测试结果。
在一个实施例中,所述管理服务器输出所述测试结果,包括:
所述管理服务器根据所述测试结果生成表格或图形;
所述管理服务器输出所述表格或图形。
一种资源回收装置,所述装置包括:
获取模块,用于获取测试脚本、测试任务和测试服务;
发送模块,用于将所述测试脚本、所述测试任务和所述测试服务发送给测试引擎,以指示所述测试引擎根据所述测试任务和测试服务执行所述测试脚本;
回收模块,用于当检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源。
一种资源回收系统,其特征在于,所述系统包括管理服务器、负载机和web服务器,所述管理服务器、所述负载机和所述web服务器之间均通信连接;
所述管理服务器用于获取测试脚本、测试任务和测试服务,将所述测试脚本和所述测试任务发送给所述负载机,并将所述测试服务发送给所述web服务器;
所述负载机用于根据所述测试任务调用所述web服务器;
所述web服务器用于根据所述测试任务和所述测试服务执行所述测试脚本。
所述管理服务器还用于当所述web服务器的执行时间达到所述测试任务中的执行时间时,回收所述测试脚本被执行时所占用的所述负载机和所述web服务器的资源。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述资源回收方法、装置、系统、计算机设备和存储介质,管理服务器通过获取测试脚本、测试任务和测试服务,并将测试脚本、测试任务和测试服务发送给测试引擎,以指示测试引擎根据测试任务和测试服务执行测试脚本,使得测试引擎能够快速完成测试环境的搭建,并执行测试任务。当管理服务器检测到测试脚本被执行结束后,回收测试脚本被执行时所占用的测试引擎的资源,从而实现资源的回收,极大地提高了硬件设备的利用率。
附图说明
图1为一个实施例中资源回收方法的应用环境图;
图2为一个实施例中资源回收方法的流程示意图;
图3为一个实施例中回收资源的步骤的流程示意图;
图4为另一个实施例中发送任务的步骤的流程示意图;
图5为一个实施例中资源回收装置的结构框图;
图6为一个实施例中资源回收系统的架构示意图;
图7(a)为一个实施例中测试脚本编写的界面图;
图7(b)为一个实施例中设置测试脚本的执行规则的界面图;
图7(c)为一个实施例中上传测试服务的界面图;
图7(d)为一个实施例中测试结果展示的界面图;
图8为一个实施例中部署测试服务的逻辑图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的资源回收方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与管理服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,管理服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种资源回收方法,以该方法应用于图1中的管理服务器为例进行说明,包括以下步骤:
步骤202,管理服务器获取测试脚本、测试任务和测试服务。
其中,测试脚本是指用于测试的脚本。测试任务是指测试脚本的执行规则,例如,测试脚本执行的时间、所需要的服务和开始执行的时间等。测试服务是指完成脚本测试需要部署的测试环境。
具体地,用户完成测试脚本的编写,并设置该测试脚本的执行规则,确定执行根据该测试脚本所需要的测试服务。用户通过终端将测试脚本、测试任务和测试服务上传到管理服务器。由管理服务器接收测试脚本、测试任务和测试服务,并将测试脚本存储在数据库中。
步骤204,管理服务器将测试脚本、测试任务和测试服务发送给测试引擎,以指示测试引擎根据测试任务和测试服务执行测试脚本。
其中,测试引擎为执行测试脚本所需要的设备,可以是单个设备,也可以是多个设备所组成。例如,测试引擎可以包括负载机和web服务器。
具体地,管理服务器将测试脚本、执行测试脚本的规则和执行测试脚本需要的测试服务发送给测试引擎,使得测试引擎根据测试服务搭建测试环境,并根据所搭建的测试环境以及测试任务执行该测试脚本。
步骤206,当管理服务器检测到测试脚本被执行结束后,回收测试脚本被执行时所占用的测试引擎的资源。
具体地,测试引擎执行测试脚本时,管理服务器可以实时检测测试引擎的执行时间,并且,管理服务器可获取测试任务中设置的测试脚本的执行时间,当检测到测试引擎执行该测试脚本的时间达到测试任务中设置的执行时间时,判定该测试脚本已被执行结束。接着,管理服务器回收该测试脚本被执行时所占用的测试引擎的资源。
上述资源回收方法,通过管理服务器获取测试脚本、测试任务和测试服务,并发送给测试引擎,使得测试引擎根据测试服务完成测试环境的搭建,从而实现服务的动态部署,减少搭建环境的时间。并指示测试引擎根据所搭建的测试环境和测试任务执行测试脚本,管理服务器根据测试引擎的执行时间是否已达到测试任务中设置的执行时间,以确定该测试脚本是否被执行完成。当管理服务器检测到测试脚本被执行结束后,回收测试脚本被执行时所占用的测试引擎的资源,以实现测试资源的回收。并且能够将回收的资源提供给下一个测试脚本使用,从而提高测试引擎等硬件设备的资源利用率。
在本实施例中,管理服务器可以将测试脚本的标识、测试任务和测试服务发送给测试引擎。测试脚本的标识可以是IP地址(Internet Protocol Address,又译为网际协议地址),测试引擎根据测试脚本的IP地址,从数据库中获取该测试脚本。
在一个实施例中,如图3所示,当管理服务器检测到测试脚本被执行结束后,回收测试脚本被执行时所占用的测试引擎的资源,包括:
步骤302,当测试引擎执行多个测试脚本时,管理服务器检测每个测试脚本的执行时间。
具体地,当存在多个测试脚本时,测试引擎给每个测试脚本分配对应的测试空间,保证每个测试脚本的执行相互独立、互不干扰。当测试引擎需要执行多个测试脚本时,管理服务器检测测试引擎执行每个测试脚本的时间。
步骤304,管理服务器获取每个测试脚本对应的测试任务中的执行时间,当每个测试脚本的执行时间达到对应的测试任务中的执行时间时,回收每个测试脚本被执行时占用的测试引擎的资源。
具体地,管理服务器确定每个测试脚本对应的测试任务,并获取该对应的测试任务中设置的执行时间。当管理服务器检测到一个测试脚本被测试引擎执行的时间达到对应的测试任务中设置的执行时间时,判定该测试脚本已被执行结束,则管理服务器回收该测试脚本被执行时占用的测试空间和其它测试资源等。接着,管理服务器继续检测剩余测试脚本被测试引擎执行的时间,当每检测到一个测试脚本的执行时间达到了该测试脚本对应的测试任务中的执行时间时,该管理服务器直接回收该测试脚本被执行时占用的测试引擎的资源。通过实时检测多个测试脚本被执行的时间是否达到对应的测试任务中的执行时间,以判断测试脚本是否被执行完成,当有一个测试脚本被执行结束后,管理服务器直接回收该测试脚本被执行时所占用的测试引擎的资源,从而能够及时地回收闲置的测试资源以提供给下一测试,提高资源的利用率。
在本实施例中,管理服务器可以设置一次回收多个测试脚本所占用的测试引擎的资源空间。具体地,管理服务器检测执行完成的测试脚本的数量,当执行完成的测试脚本的数量达到预先设置的数量时,一次回收该数量的测试脚本被执行时所占用的测试引擎的资源。例如,管理服务器一次可回收30个测试脚本所占用的测试引擎的资源,有50个测试脚本被测试引擎执行,当管理服务器检测到有30个测试脚本被执行结束后,一次回收这30个测试脚本被执行时所占用的测试引擎的资源。管理服务器通过一次回收特定数量的测试脚本被执行时所占用的测试引擎的资源,实现一次回收多个被占用的资源,从而减少回收的次数。
在其中一个实施例中,如图4所示,测试引擎包括负载机和web服务器;管理服务器将测试脚本、测试任务和测试服务发送给测试引擎,包括:
步骤402,管理服务器将测试脚本和测试任务发送给负载机。
步骤404,管理服务器将测试服务发送给web服务器。
测试引擎根据测试任务和测试服务执行测试脚本的方式,包括:
步骤406,负载机根据测试任务调用web服务器。
步骤408,web服务器根据测试任务和测试服务执行测试脚本。
具体地,管理服务器将测试脚本或测试脚本的标识和测试任务发送给负载机,同时将测试服务发送给web服务器。测试服务可以是一个应用程序包,例如war(web Archivefile)包。管理服务器将war包发送给web服务器,web服务器接收该war包,通过相应的启动工具,如tomcat启动war包,从而实现测试服务的动态部署,完成测试环境的搭建。负载机接收测试脚本的标识,例如:测试脚本的IP地址。负载机根据测试脚本的标识,从数据库中查找与该测试脚本标识对应的测试脚本,并获取该测试脚本。负载机根据测试脚本和测试任务调用web服务器,使得web服务器根据测试环境和测试任务执行测试脚本。管理服务器通过将测试脚本和测试任务发送给负载机,将测试服务发送给web服务器,使得web服务器根据测试服务完成测试环境的搭建,实现了测试服务的动态部署。并使得web服务器根据测试脚本和测试服务调用web服务器,接着web服务器根据测试环境和测试任务执行测试脚本,能够快速地执行测试脚本。
在另一个实施例中,当管理服务器检测到测试脚本被执行结束后,回收测试脚本被执行时所占用的测试引擎的资源,包括:管理服务器检测web服务器的执行时间;当web服务器的执行时间达到测试任务中的执行时间时,管理服务器回收测试脚本被执行时所占用的负载机和web服务器的资源。
具体地,当需要执行一个测试脚本的测试任务时,负载机得到测试脚本和测试任务后,负载机会自动分配一部分空间用于处理该测试脚本和测试任务。同样地,web服务器接收管理服务器发送的测试服务后,自动分配一部分空间用户处理该测试服务,以在该分配空间中完成测试服务的部署。负载机根据分配的空间中的测试脚本和测试任务调用web服务器,web服务器根据负载机的调用和在分配的空间完成部署的测试服务执行测试脚本。管理服务器检测web服务器执行测试脚本的时间,并获取该测试脚本所对应的测试任务中的执行时间,当web服务器执行该测试脚本的时间达到对应的测试任务中的执行时间时,判定该测试脚本被执行结束。则管理服务器回收负载机分配的用于处理该测试脚本和测试任务的空间资源,并回收web服务器分配的用于完成测试服务部署的空间资源。通过管理服务器检测web服务器的执行时间,当web服务器的执行时间达到测试任务中的执行时间时,管理服务器回收测试脚本被执行时负载机分配的一部分空间资源和web服务器分配的一部分空间资源,从而实现负载机资源和web服务器资源的回收,提高负载机和web服务器的利用率。
在一个实施例中,该资源回收方法还包括:
管理服务器从数据库中获取测试数据,将测试数据整理为测试结果;其中,数据库中的测试数据是通过监控工具监控测试引擎的执行时所产生的测试数据;管理服务器输出测试结果。
其中,测试数据是指测试引擎在执行测试脚本过程中得到的数据,例如执行总数、错误率、执行时间、每秒处理能力等数据。测试结果是根据测试数据整合得到的总的数据记录。
具体地,在测试引擎的执行过程中,由监控工具监控web服务器的CPU、load值、内存和I/O等性能数据。并且,由监控工具将测试引擎执行过程中产生的执行总数、错误率、执行时间、每秒处理能力、平均耗时、开始时间和结束时间等测试数据,同步到数据库中。管理服务器从数据库中获取这些测试数据,并将这些测试数据分类汇总,整理为测试结果,并将该测试结果输出给终端,以方便用户查看。管理服务器从数据库中获取测试数据,将测试数据整理为测试结果并输出,使得测试脚本和测试数据能够集中统计并比较,方便用户查看。
在另一个实施例中,管理服务器输出测试结果,包括:管理服务器根据测试结果生成表格或图形;管理服务器输出表格或图形。
具体地,管理服务器将测试结果以表格或图形的方式显示,使得能够直观地展示统计的测试结果。图形可以是条形图、柱状图、折线图、饼图或者目前能够展示统计数据的图形类型。管理服务器还可以根据测试结果生成测试报告并输出。根据测试结果生成表格或图形,能够直观地展示测试脚本执行的的历史数据,方便用户查看及对比。
在一个实施例中,该资源回收方法包括:
管理服务器获取测试脚本、测试任务和测试服务。
接着,管理服务器将测试脚本和测试任务发送给负载机。
接着,管理服务器将测试服务发送给web服务器。
可选地,负载机根据测试任务调用web服务器。
接着,web服务器根据测试任务和测试服务执行测试脚本。
可选地,管理服务器检测web服务器的执行时间。
进一步地,当web服务器的执行时间达到测试任务中的执行时间时,管理服务器回收测试脚本被执行时所占用的负载机和web服务器的资源。
可选地,当执行多个测试脚本时,管理服务器检测每个测试脚本的执行时间。
接着,管理服务器获取每个测试脚本对应的测试任务中的执行时间,当每个测试脚本的执行时间达到对应的测试任务中的执行时间时,回收每个测试脚本被执行时所占用的负载机和web服务器的资源。
进一步地,管理服务器从数据库中获取测试数据,将测试数据整理为测试结果。其中,数据库中的测试数据是通过监控工具监控测试引擎的执行时所产生的测试数据。
接着,管理服务器根据测试结果生成表格或图形。
接着,管理服务器输出该表格或图形。
上述资源回收方法,通过管理服务器获取测试脚本、测试任务和测试服务,管理服务器通过将测试脚本和测试任务发送给负载机,将测试服务发送给web服务器,使得web服务器根据测试服务完成测试环境的搭建,实现了测试服务的动态部署。并使得web服务器根据测试脚本和测试服务调用web服务器,接着web服务器根据测试环境和测试任务执行测试脚本,能够快速地执行测试脚本。通过管理服务器检测web服务器的执行时间,当web服务器的执行时间达到测试任务中的执行时间时,管理服务器回收测试脚本被执行时负载机分配的一部分空间资源和web服务器分配的一部分空间资源,从而实现负载机资源和web服务器资源的回收,提高负载机和web服务器的利用率。通过实时检测多个测试脚本被执行的时间是否达到对应的测试任务中的执行时间,以判断测试脚本是否被执行完成,当有一个测试脚本被执行结束后,管理服务器直接回收该测试脚本被执行时所占用的负载机和web服务器的资源,从而能够及时地回收闲置的测试资源以提供给下一测试,提高资源的利用率。管理服务器从数据库中获取测试数据,将测试数据整理为测试结果,使得测试脚本和测试数据能够集中统计并比较。并通过根据测试结果生成表格或图形,能够直观地展示测试脚本执行的的历史数据,方便用户查看及对比。
应该理解的是,虽然图1-4流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种资源回收装置,包括:获取模块502、发送模块504和回收模块506,其中:
获取模块502,用于获取测试脚本、测试任务和测试服务。
发送模块504,用于将所述测试脚本、所述测试任务和所述测试服务发送给测试引擎,以指示所述测试引擎根据所述测试任务和测试服务执行所述测试脚本。
回收模块506,用于当检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源。
上述资源回收装置,通过管理服务器获取测试脚本、测试任务和测试服务,并发送给测试引擎,使得测试引擎根据测试服务完成测试环境的搭建,从而实现服务的动态部署,减少搭建环境的时间。并指示测试引擎根据所搭建的测试环境和测试任务执行测试脚本,管理服务器根据测试引擎的执行时间是否已达到测试任务中设置的执行时间,以确定该测试脚本是否被执行完成。当管理服务器检测到测试脚本被执行结束后,回收测试脚本被执行时所占用的测试引擎的资源,以实现测试资源的回收。并且能够将回收的资源提供给下一个测试脚本使用,从而提高测试引擎等硬件设备的资源利用率。
在一个实施例中,该回收模块506还用于:当测试引擎执行多个测试脚本时,检测每个测试脚本的执行时间;获取每个测试脚本对应的测试任务中的执行时间,当每个测试脚本的执行时间达到对应的测试任务中的执行时间时,回收每个测试脚本被执行时占用的测试引擎的资源。通过实时检测多个测试脚本被执行的时间是否达到对应的测试任务中的执行时间,以判断测试脚本是否被执行完成,当有一个测试脚本被执行结束后,管理服务器直接回收该测试脚本被执行时所占用的测试引擎的资源,从而能够及时地回收闲置的测试资源以提供给下一测试,提高资源的利用率。
在其中一个实施例中,该发送模块504还用于:将测试脚本和测试任务发送给负载机;将测试服务发送给web服务器;负载机根据测试任务调用web服务器;web服务器根据测试任务和测试服务执行测试脚本。通过将测试脚本和测试任务发送给负载机,将测试服务发送给web服务器,使得web服务器根据测试服务完成测试环境的搭建,实现了测试服务的动态部署。并使得web服务器根据测试脚本和测试服务调用web服务器,接着web服务器根据测试环境和测试任务执行测试脚本,能够快速地执行测试脚本。
在另一个实施例中,该回收模块还用于:检测web服务器的执行时间;当web服务器的执行时间达到测试任务中的执行时间时,回收测试脚本被执行时所占用的负载机和web服务器的资源。通过管理服务器检测web服务器的执行时间,当web服务器的执行时间达到测试任务中的执行时间时,管理服务器回收测试脚本被执行时负载机分配的一部分空间资源和web服务器分配的一部分空间资源,从而实现负载机资源和web服务器资源的回收,提高负载机和web服务器的利用率。
在一个实施例中,该资源回收装置还包括:整理模块。整理模块用于:从数据库中获取测试数据,将测试数据整理为测试结果;其中,数据库中的测试数据是通过监控工具监控测试引擎的执行时所产生的测试数据;输出测试结果。通过从数据库中获取测试数据,将测试数据整理为测试结果并输出,使得测试脚本和测试数据能够集中统计并比较,方便用户查看。
在另一个实施例中,整理模块还用于:根据测试结果生成表格或图形;输出表格或图形。根据测试结果生成表格或图形,能够直观地展示测试脚本执行的的历史数据,方便用户查看及对比。
关于资源回收装置的具体限定可以参见上文中对于资源回收方法的限定,在此不再赘述。上述资源回收装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图6所示,提供了一种资源回收系统,该系统包括管理服务器、负载机和web服务器,管理服务器、负载机和web服务器之间均通信连接;
管理服务器用于获取测试脚本、测试任务和测试服务,将测试脚本和测试任务发送给负载机,并将测试服务发送给web服务器;
负载机用于根据测试任务调用web服务器;
web服务器用于根据测试任务和测试服务执行测试脚本。
管理服务器还用于当web服务器的执行时间达到测试任务中的执行时间时,回收测试脚本被执行时所占用的负载机和web服务器的资源。
如图6所示,该资源回收系统能够实现测试脚本编写、测试服务部署、测试脚本的并发执行、测试数据的采集和测试引擎资源的回收,从而实现硬件资源的合理利用。
首先,用户通过通过终端在该系统上完成测试脚本的编写。该系统通过UI界面的形式提供给用户实现测试脚本的编写,所提供的测试脚本编写的UI界面如图7(a)所示。用户通过设置session共享功能、全局参数、选择使用的协议类型、调用接口的地址、请求方式、各种被依赖参数、校验规则、结果校验和执行的接口等完成测试脚本的编写。接着,用户通过该系统设置测试脚本的执行规则,设置测试脚本的执行规则的UI界面如图7(b)所示。用户通过填写测试任务的名称、测试任务的类型、选择要执行的测试脚本、选择是否采用自动化测试服务部署以及需要部署的测试服务,设置测试脚本的运行时间、并发总量、开始时间等完成测试任务的设置。接着,用户将该编写的测试脚本,该测试脚本的测试任务发送给管理服务器。用户还需要将该测试脚本所需要部署的测试服务通过该系统上传至管理服务器,选择需要部署的测试服务的界面如图7(c)所示。用户通过确定需要部署的测试服务的ID,确定测试服务的名称、选择需要上传的测试服务,以及host内容修改,将需要部署的测试服务上传到管理服务器。其中,该host内容为需要部署的测试服务所要调用的IP地址。
接着,管理服务器接收用户上传的测试脚本、测试任务和需要部署的测试服务,将测试脚本存储到MySQL。接着,管理服务器将测试脚本、测试任务发送给负载机,并将需要部署的测试服务发送给web服务器。负载机接收测试脚本和测试任务,根据测试脚本和测试任务调用web服务器。web服务器接收需要部署的测试服务,完成测试服务的动态部署,接着,web服务器接受负载机的调用,根据部署的测试服务和测试任务执行测试脚本。监控工具openAPM监控web服务器的执行过程,并收集测试数据,将测试数据同步到MySQL中。管理服务器通过MySQL获取测试数据,并对测试数据进行分析整理,得到测试结果,并将测试结果返回给用户查看。管理服务器整理的测试结果如图7(d)所示。测试脚本被执行结束后,管理服务器回收测试脚本被执行时所占用的负载机和web服务器的资源,完成硬件设备资源的回收,实现硬件资源的合理利用。
如图8所示,为一个实施例中部署测试服务的逻辑图。管理服务器与负载机通过服务发现组件连接,管理服务器将测试任务下发给负载机,服务发现组件发现测试任务时通知负载机,负载机根据测试任务调用web服务器,web服务器上部署着执行测试任务所需要的测试服务。并且,管理服务器通过OpenAPM从web服务器采集测试数据。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是管理服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源回收方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述资源回收方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述资源回收方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种资源回收方法,所述方法包括:
管理服务器获取测试脚本、测试任务和测试服务;
所述管理服务器将所述测试脚本、所述测试任务和所述测试服务发送给测试引擎,以指示所述测试引擎根据所述测试任务和测试服务执行所述测试脚本;
当所述管理服务器检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源。
2.根据权利要求1所述的方法,其特征在于,所述当管理服务器检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源,包括:
当所述测试引擎执行多个测试脚本时,所述管理服务器检测每个测试脚本的执行时间;
所述管理服务器获取所述每个测试脚本对应的测试任务中的执行时间,当所述每个测试脚本的执行时间达到所述对应的测试任务中的执行时间时,回收所述每个测试脚本被执行时占用的所述测试引擎的资源。
3.根据权利要求1所述的方法,其特征在于,所述测试引擎包括负载机和web服务器;所述管理服务器将所述测试脚本、所述测试任务和所述测试服务发送给测试引擎,包括:
所述管理服务器将所述测试脚本和所述测试任务发送给所述负载机;
所述管理服务器将所述测试服务发送给所述web服务器;
所述测试引擎根据所述测试任务和所述测试服务执行所述测试脚本的方式,包括:
所述负载机根据所述测试任务调用所述web服务器;
所述web服务器根据所述测试任务和所述测试服务执行所述测试脚本。
4.根据权利要求3所述的方法,其特征在于,当所述管理服务器检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源,包括:
所述管理服务器检测所述web服务器的执行时间;
当所述web服务器的执行时间达到所述测试任务中的执行时间时,所述管理服务器回收所述测试脚本被执行时所占用的所述负载机和所述web服务器的资源。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述管理服务器从数据库中获取测试数据,将所述测试数据整理为测试结果;其中,所述数据库中的测试数据是通过监控工具监控所述测试引擎的执行时所产生的测试数据;
所述管理服务器输出所述测试结果。
6.根据权利要求5所述的方法,其特征在于,所述管理服务器输出所述测试结果,包括:
所述管理服务器根据所述测试结果生成表格或图形;
所述管理服务器输出所述表格或图形。
7.一种资源回收装置,其特征在于,所述装置包括:
获取模块,用于获取测试脚本、测试任务和测试服务;
发送模块,用于将所述测试脚本、所述测试任务和所述测试服务发送给测试引擎,以指示所述测试引擎根据所述测试任务和测试服务执行所述测试脚本;
回收模块,用于当检测到所述测试脚本被执行结束后,回收所述测试脚本被执行时所占用的所述测试引擎的资源。
8.一种资源回收系统,其特征在于,所述系统包括管理服务器、负载机和web服务器,所述管理服务器、所述负载机和所述web服务器之间均通信连接;
所述管理服务器用于获取测试脚本、测试任务和测试服务,将所述测试脚本和所述测试任务发送给所述负载机,并将所述测试服务发送给所述web服务器;
所述负载机用于根据所述测试任务调用所述web服务器;
所述web服务器用于根据所述测试任务和所述测试服务执行所述测试脚本;
所述管理服务器还用于当所述web服务器的执行时间达到所述测试任务中的执行时间时,回收所述测试脚本被执行时所占用的所述负载机和所述web服务器的资源。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910087425.3A CN109901998B (zh) | 2019-01-29 | 2019-01-29 | 资源回收方法、装置、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910087425.3A CN109901998B (zh) | 2019-01-29 | 2019-01-29 | 资源回收方法、装置、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109901998A true CN109901998A (zh) | 2019-06-18 |
CN109901998B CN109901998B (zh) | 2022-06-17 |
Family
ID=66944461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910087425.3A Active CN109901998B (zh) | 2019-01-29 | 2019-01-29 | 资源回收方法、装置、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109901998B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111615124A (zh) * | 2020-04-30 | 2020-09-01 | 北京宝兰德软件股份有限公司 | 一种服务探测方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架系统及其测试方法 |
US20120221893A1 (en) * | 2011-02-28 | 2012-08-30 | Sap Ag | Managing test automation |
CN104410543A (zh) * | 2014-11-19 | 2015-03-11 | 中国联合网络通信集团有限公司 | 基于云资源的自动化测试方法和系统 |
CN105550088A (zh) * | 2015-12-04 | 2016-05-04 | 上海斐讯数据通信技术有限公司 | 自动化测试方法及自动化测试系统 |
CN108845949A (zh) * | 2018-07-24 | 2018-11-20 | 浙江数链科技有限公司 | 一种性能测试方法及平台 |
CN108874650A (zh) * | 2017-05-09 | 2018-11-23 | 上海秦苍信息科技有限公司 | 一种持续集成自动化测试方法 |
-
2019
- 2019-01-29 CN CN201910087425.3A patent/CN109901998B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120221893A1 (en) * | 2011-02-28 | 2012-08-30 | Sap Ag | Managing test automation |
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架系统及其测试方法 |
CN104410543A (zh) * | 2014-11-19 | 2015-03-11 | 中国联合网络通信集团有限公司 | 基于云资源的自动化测试方法和系统 |
CN105550088A (zh) * | 2015-12-04 | 2016-05-04 | 上海斐讯数据通信技术有限公司 | 自动化测试方法及自动化测试系统 |
CN108874650A (zh) * | 2017-05-09 | 2018-11-23 | 上海秦苍信息科技有限公司 | 一种持续集成自动化测试方法 |
CN108845949A (zh) * | 2018-07-24 | 2018-11-20 | 浙江数链科技有限公司 | 一种性能测试方法及平台 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111615124A (zh) * | 2020-04-30 | 2020-09-01 | 北京宝兰德软件股份有限公司 | 一种服务探测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109901998B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399293B (zh) | 系统测试方法、装置、计算机设备和存储介质 | |
CN109947646A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN109522218A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN108427613B (zh) | 异常接口定位方法、装置、计算机设备和存储介质 | |
JP2018185808A (ja) | ブロックチェーンに基づくスマート契約をテストする装置及び方法 | |
CN108446362A (zh) | 数据清洗处理方法、装置、计算机设备和存储介质 | |
CN109726134B (zh) | 接口测试方法和系统 | |
CN110738389A (zh) | 工作流处理方法、装置、计算机设备和存储介质 | |
CN101145993B (zh) | 一种多点接入的接口测试方法及其测试系统 | |
CN110209652A (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN110689232A (zh) | 工作流配置的优化处理方法、装置和计算机设备 | |
CN111897724A (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN102866944A (zh) | 一种压力测试系统及方法 | |
CN109040191A (zh) | 文件下载方法、装置、计算机设备和存储介质 | |
CN110704095A (zh) | 基于工作流的配置处理方法、装置、计算机设备和存储介质 | |
CN109325010A (zh) | 日志查看方法、装置、计算机设备和存储介质 | |
CN109361628A (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN108446224B (zh) | 移动端上应用程序的性能分析方法、存储介质 | |
CN113986734A (zh) | 代码覆盖报告生成方法、装置、设备及介质 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN109992506A (zh) | 调度测试方法、装置、计算机设备和存储介质 | |
CN110099414A (zh) | 网络资源传输方法、装置、计算机设备和存储介质 | |
WO2018177202A1 (zh) | 测试结果生成方法、装置、计算机设备和存储介质 | |
CN116911588A (zh) | 业务流程执行方法、装置、设备及存储介质 | |
CN113747150B (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 |