CN110262977A - 一种全链路性能测试方法、装置、计算设备及存储介质 - Google Patents
一种全链路性能测试方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN110262977A CN110262977A CN201910549030.0A CN201910549030A CN110262977A CN 110262977 A CN110262977 A CN 110262977A CN 201910549030 A CN201910549030 A CN 201910549030A CN 110262977 A CN110262977 A CN 110262977A
- Authority
- CN
- China
- Prior art keywords
- operation system
- test
- target application
- tested
- currently
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种全链路性能测试方法、装置、计算设备及存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,全链路性能测试技术也不例外,但由于金融行业的安全性、实时性、准确性要求,也对技术提出了更高的要求。
性能测试是指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。现有技术中,测试环境中部署的应用,可能会被多个业务系统对应的测试任务共用,这样在多个测试任务都用到这些公共的应用时,这些公共的应用的资源会被多个测试任务占用,产生测试冲突,最终导致各个测试任务的测试结果都不准确。
因此,在性能测试中,为了避免多个不同测试任务之间相互干扰,在对某一业务系统的测试任务进行性能测试之前,需要测试人员对当前测试环境进行人工检查,以尽量确保该测试任务对应的性能测试环境在本次测试中是独占的,才能开始执行性能测试任务,从而导致性能测试准确性低。
可见,现有技术中因测试冲突导,致性能测试结果的准确性较低。
发明内容
本申请实施例提供一种全链路性能测试方法、装置、计算设备及存储介质,用于解决现有技术中因测试冲突导,致性能测试结果的准确性较低的问题,提高性能测试的准确性。
一方面,提供了一种全链路性能测试方法,所述方法包括:
获取对待测试的第一业务系统进行性能测试的测试请求;
根据预先设置的业务系统与需调用应用之间的对应关系,确定测试所述第一业务系统需要调用的目标应用;
确定所述目标应用当前是否被占用;
若所述目标应用当前未被占用,则根据所述测试请求利用所述目标应用对所述第一业务系统进行性能测试。
可选的,在根据所述测试请求利用所述目标应用对所述第一业务系统进行测试之前,所述方法还包括:
确定用于进行业务系统测试的测试环境中的硬件测试资源的第一占用率;
在所述第一占用率小于或等于第一预设阈值时,确定满足对所述第一业务系统进行性能测试的条件。
可选的,所述方法还包括:
在所述第一占用率大于所述第一预设阈值时,输出第一提示信息,其中,所述第一提示信息用于表征当前测试环境的硬件测试资源的占用率大于所述第一预设阈值。
可选的,所述方法还包括:
若所述目标应用当前正被占用,输出第二提示信息,其中,所述第二提示信息用于表征性能测试冲突。
可选的,所述方法还包括:
若所述目标应用当前正被占用,确定开始测试所述第一业务系统所需等待的预测等待时间,并输出所述预测等待时间。
可选的,所述方法还包括:
若所述目标应用当前正被占用,则确定当前占用所述目标应用的第二业务系统;
确定所述第一业务系统与所述第二业务系统调用所述目标应用的优先级顺序;
根据从高到低的优先级顺序,运行所述第一业务系统和所述第二业务系统。
可选的,所述方法还包括:
在对所述第一业务系统进行性能测试的过程中,检测当前测试环境中的非测试业务系统对所述测试环境的硬件测试资源的第二占用率;
在所述第二占用率大于第二预设阈值时,输出第三提示信息,其中,所述第三提示信息用于表征非测试业务系统对所述硬件测试资源的占用率超过所述第二预设阈值。
可选的,所述目标应用包括一个或多个,则,确定所述目标应用当前是否被占用,包括:
确定当前正在执行的任务队列中所有业务系统占用的第一应用集合;
确定所述第一应用集合与一个或多个目标应用组成的第二应用集合是否存在交集;
若存在交集,则确定所述目标应用当前被占用;
若不存在交集,则确定所述目标应用当前未被占用。
一方面,提供了一种全链路性能测试装置,该装置包括:
获取模块,用于获取对待测试的第一业务系统进行性能测试的测试请求;
第一确定模块,用于根据预先设置的业务系统与需调用应用之间的对应关系,确定测试所述第一业务系统需要调用的目标应用;
第二确定模块,用于确定所述目标应用当前是否被占用;
测试模块,用于在所述目标应用当前未被占用时,根据所述测试请求利用所述目标应用对所述第一业务系统进行测试。
可选的,所述第二确定模块还用于,在根据所述测试请求对所述第一业务系统进行测试之前,确定用于进行业务系统测试的测试环境中的硬件测试资源的第一占用率;在所述第一占用率小于或等于第一预设阈值时,确定满足对所述第一业务系统进行性能测试的条件。
可选的,所述信息输出模块还用于,在所述第一占用率大于所述第一预设阈值时,输出第一提示信息,其中,所述第一提示信息用于表征当前测试环境的硬件测试资源的占用率大于所述第一预设阈值。
可选的,所述全链路性能测试装置还包括信息输出模块,用于若目标应用当前正被占用,输出第二提示信息,其中,所述第二提示信息用于表征性能测试冲突。
可选的,所述全链路性能测试装置还包括处理模块,用于若所述目标应用当前正被占用,则确定开始测试所述第一业务系统所需等待的预测等待时间,并输出所述预测等待时间。
可选的,所述处理模块还用于,若所述目标应用当前正被占用,则确定当前占用所述目标应用的第二业务系统;并确定所述第一业务系统与所述第二业务系统调用所述目标应用的优先级顺序;以及根据从高到低的优先级顺序,运行所述第一业务系统和所述第二业务系统。
可选的,所述第二确定模块还用于:
在对所述第一业务系统进行性能测试的过程中,检测当前测试环境中的非测试业务系统对所述测试环境的硬件测试资源的第二占用率;
所述信息输出模块还用于:在所述第二占用率大于第二预设阈值时,输出第三提示信息,其中,所述第三提示信息用于表征非测试业务系统对所述硬件测试资源的占用率超过所述第二预设阈值。
可选的,所述目标应用包括一个或多个,所述第二确定模块还用于:
确定当前正在执行的任务队列中所有业务系统占用的第一应用集合;
确定所述第一应用集合与一个或多个目标应用组成的第二应用集合是否存在交集;
若存在交集,则确定所述目标应用当前被占用;
若不存在交集,则确定所述目标应用当前未被占用。
一方面,提供一种计算设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述各方面中的方法包括的步骤。
一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述各方面中的方法包括的步骤。
在本申请实施实例中,当获取到对待测试的第一业务系统进行性能测试的测试请求时,可以根据预先设置的业务系统与需调用应用之间的对应关系,确定运行该第一业务系统需要调用的目标应用,并确定该目标应用当前是否被其他业务系统占用,从而在该目标应用当前未被占用时,根据所述测试请求对所述第一业务系统进行性能测试,也就是说,在对待测试业务系统进行性能测试之前,可先判断一下该待测试业务系统对所需调用的目标应用是否是独占的,并在未被占用(即独占)时才对该待测试业务进行测试,从而当多个待测试业务系统需使用目标应用时,不需要测试人员人为安排待测试业务对目标应用使用时间段,也不需要人工检查该时间段内目标应用是否被其他业务系统占用,即可自行确定出当前目标应用是否被其他业务系统占用,避免了当前测试环境由于其他业务系统对该目标应用的共用而发生测试冲突,确保该待测业务系统独占目标应用,进而提高性能测试的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本申请实施例提供的全链路性能测试应用场景的示意图;
图2为本申请实施例提供的全链路性能测试应用场景的另一示意图;
图3为本申请实施例提供的全链路性能测试方法的流程图;
图4a为本申请实施例提供的全链路性能测试装置的结构框图;
图4b为本申请实施例提供的全链路性能测试装置的另一结构框图;
图5为本申请实施例提供的计算设备的结构示意图;
图6为本申请实施例提供的计算设备的另一结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。
为便于对本发明实施例的理解,下面对本申请实施例中涉及的部分概念进行介绍。
全链路:一般指完全引入相关联的系统真实模拟线上硬件环境,更多的是以请求为核心,完全模拟真实请求流量,通过引流等方式进行场景的模拟进行性能测试,更多的适用于业务链路较长的交易和业务。
测试环境:是指为了完成测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。
业务系统:是指可以由多个应用组成,可以模拟特定功能场景的系统,如,银行的转账业务对应的业务系统,再如银行存款业务对应的业务系统,或者微信中发红包功能对应的应用系统等。
现有技术中,如前所述,多个业务系统对应的测试任务可能会共用测试环境中部署的某个应用,从而导致多个测试的业务系统存在测试冲突导致测试性能测试结果不准确的问题。
鉴于此,本申请的发明人提供了一种全链路性能测试的方案,在该方案中,在进行性能测试之前,先确定待测试的业务系统需要调用的目标应用是否被占用,在该目标应用未被占用时,才开始对待测试的业务系统进行性能测试,因此,可以避免测试环境发生测试冲突的情况,确保该待测业务系统独占目标应用,进而确保测试结果的准确性。
在介绍完本申请实施例的设计思想后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
请参见图1所示的一种应用场景示意图,该应用场景中包括终端设备101和服务器集群102,其中,终端设备101通过网络与服务器集群102进行通信连接,服务器集群102包括多台服务器,该多台服务器中分别部署有一个或者多个应用,从而组成进行性能测试的测试环境。测试人员可以通过终端设备101登录测试平台,通过测试平台向服务器集群102发起对待测试业务系统进行性能测试的测试请求,服务器集群102中部署有运行该待测试业务系统所需的应用的服务器接收到该测试请求后,模拟出待测试业务系统对应的业务场景,进而开始对待测试业务系统进行性能测试。
请参见图2所示的另一种应用场景示意图,该应用场景中包括服务器集群201,服务器集群201中的各服务器之间通过网络连接,测试人员可以在服务器集群201中部署有运行该待测试业务系统所需应用的服务器上直接发起对该待测试业务系统的测试请求,并接收到测试请求的服务器可以根据该测试请求模拟出该待测业务系统对应的业务场景,进而开始对待测试业务系统进行性能测试。
为进一步说明本申请实施例提供的全链路性能测试方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的应用环境)。
请参考图3,图3为本申请实施例提供的全链路性能测试方法的流程图,图3中的全链路性能测试方法的流程描述如下。
步骤301:获取对待测试的第一业务系统进行性能测试的测试请求。
在本申请实施例中,获取的对待测试的第一业务系统进行性能测试的测试请求,可以是由测试人员通过如图1所示的终端设备101登录测试平台发起的,也可以是由测试人员通过如图2所示的服务器集群201中的服务器发起的,在此不做具体限制。
步骤302:根据预先设置的业务系统与需调用应用之间的对应关系,确定测试第一业务系统需要调用的目标应用。
在本申请实施例中,如前文叙述,一个业务系统需要调用一个或者多个应用来共同实现该业务系统对应的功能,所以可以预先设置各个业务系统与该业务系统需要调用的应用之间的对应关系,从而在进行性能测试时,可以根据该对应关系,确定出需要测试的业务系统(例如第一业务系统)需要调用的应用,为了便于描述,本申请实施例中将测试第一业务系统需要调用的一个或者多个应用称作目标应用。也就是说,在需要对第一业务系统进行性能测试时,才由测试环境自动地为第一业务系统分配目标应用,所以,可以根据目标应该的占用情况,灵活的安排待测试业务系统的进行性能测试,而不需要测试人员手动分配,这样可以避免为待测试业务系统预先提前分配好需要调用的目标应用,却可能因其他情况而未使用,造成其他待测试业务系统也无法使用,最终导致的测试资源浪费。
步骤303:判断目标应用当前是否被占用。
在本申请实施例中,如前文所述,多个业务系统可能会共用测试环境中部署的一个或者多个应用,为了保证对第一业务系统性能测结果的准确性,在对第一业务系统进行性能测试时,需要尽量确保第一业务系统对目标应用是独占的,所以,当确定出对第一业务系统进行性能测试的目标应用后,可以先判断该目标应用当前是否正被其他业务系统占用,该其他业务系统可能是正在进行性能测试的业务系统,也可能是其他非测试业务系统(例如进行正常业务处理的业务系统)。
具体的,本申请实施例中在对第一业务系统进行性能测试之前,可以确定当前正在执行的任务队列中所有业务系统占用的第一应用集合,从而将该第一应用集合与测试第一业务系统所需的一个或者多个的目标应用的第二应用集合进行比较,通过确定第一应用集合和第二应用集合是否存在交集即可确定出目标应用当前是否被占用。若存在交集,则表明目标应用正在被占用,这里,被占用的目标应用可以能是一个,也可能是多个;若不存在交集,即交集为零,则表明目标应用当前未被占用,处于空闲状态。
其中,需要说明的是,当前正在执行的任务队列中包括的业务系统可以是正在进行性能测试的业务系统,也可以是非测试业务系统。
作为一种可选的实施方式,在本申请实施例中,若确定出第一应用集合和第二应用集合存在交集,还可以进一步地确定出第一应用集合和第二应用集合存在交集的一个或者多个应用,进而确定该一个或者多个应用对第一业务系统性能测试结果的准确性的影响权重值,如果该影响权重值小于预定阈值,则可以将此种情形确定为目标应用未被占用的情况。也就是说,如果第一应用集合和第二应用集合的交集对应的一个或者多个应用,对第一业务系统性能测试结果准确性的影响很小,可以忽略不计的话,也可以确定为目标应用未被占用的情况,因此可以减少第一业务系统等待进行性能测试的时间,较快的开始对第一业务进行性能测试,以便能够执行更多的测试任务。
进一步地,在本申请实施例中,若确定该目标应用当前正被其他业务系统占用,在执行完步骤303后,则可以执行步骤307和步骤308中的一个或者多个步骤,其中,步骤307和步骤308并没有执行顺序先后之分;若确定该目标应用当前未被其他业务系统占用,在执行完步骤303后,则可以执行步骤304。
步骤304:若目标应用未被占用,则判断用于进行业务系统测试的测试环境中的硬件测试资源的第一占用率是否大于第一预设阈值。
若目标应用未被占用,则可以直接对运行第一业务系统,以根据获得的测试请求对第一业务系统进行性能测试,也就是说在不存在测试冲突的情况下对待测试业务系统进行测试,从而提高测试结果的准确性。
在本申请实施例中,对第一业务系统进行性能测试除了需要有足够软件测试资源,同时还需要有足够的硬件测试资源,所以在对第一业务系统进行性能测试之前,还需要判断一下当前测试环境中的硬件测试资源是否满足进行性能测试的条件,即判断当前测试环境中的硬件测试资源的第一占用率是否大于第一预设阈值。
其中,硬件测试资源包括测试环境中计算机硬件设备的中央处理器(CPU,CentralProcessing Unit)使用率,网速、内存使用量、磁盘使用量、负载等,第一预设阈值可以是CPU使用率低于5%,负载接近0,内存使用率不超过20%,硬盘使用率低于70%,网速不低于1Mbps。
步骤305:若第一占用率大于第一预设阈值,输出第一提示信息,并继续执行步骤304。
其中,第一提示信息,用于表征当前测试环境中硬件测试资源的占有率大于第一预设阈值,即表明当前测试环境不满足对第一业务系统进行性能测试的条件,测试人员可以通过第一提示信息知晓当前不能对第一业务系统进行性能测试的原因,不需要测试人员对测试环境进行检查来确定不能进行性能测试的原因,从而避免了因对测试环境的检查,对其他正在进行测试的业务系统的测试结果的准确性造成影响。
在具体实施过程中,输出第一提示信息可以是由如图1所示的终端设备101输出,也可以通过如图2所示的服务器集群201输出,第一提示信息可以是以小窗口形式显示的文本信息,也可以是语音信息,或者还可以是其它形式,等等。
步骤306:若第一占用率小于或等于第一预设阈值,则根据测试请求对第一业务系统进行性能测试。
在本申请实施例中,若第一占用率未小于或等于第一预设阈值,则表明当前测试环境中的硬件测试资源满足对第一业务系统进行性能测试需使用的硬件测试资源,可以开始对第一业务系统进行性能测试,因此可以避免发生测试冲突,确保性能测试结果的准确性。
进一步地,由于可以根据当前测试环境中的软件和硬件测试资源情况,自行合理确定是否开始的对待测试业务系统进行性能测试,以确保在对待测试业务系统进行性能测试时测试资源是充足的,从而确保性能测试的准确性。
步骤307:若确定目标应用当前被占用,则输出第二提示信息和/或输出预测等待时间,其中,第二提示信息用于表征性能测试冲突。
在本申请实施例中,当确定出目标应用当前正被的其他业务系统占用时,可以输出表征性能测试冲突的第二提示信息,从而通过第二提示信息告知测试人员,当前有其他业务系统正在占用第一业务系统对应的目标应用,需要等待对第一业务系统的性能测试。其中,确定的当前被占用的目标应用可以是一个,也可以是多个,只要有一个目标应用被占用,就可以输出第二提示信息;当前占用目标应用的其他业务系统可以是测试业务系统,也可以是非测试业务系统,例如,若当前占用目标应用的其他业务系统是测试业务系统,那么测试人员则可以根据第二提示信息,确定当前不能开始对第一业务系统进行性能测试的原因,不需要测试人员对测试环境进行检查来确定不能进行性能测试的原因,从而避免了因对测试环境的检查,对其他正在进行测试的业务系统的测试结果的准确性造成影响。
其中,第二提示信息的输出方式与前文叙述的第一提示信息的输出方式相同,此处不再赘述。
进一步地,在本申请实施例中,若确定目标应用当前正在被占用,还可以确定开始测试第一业务系统所需等待的预测等待时间,并输出该预测等待时间,即在确定出目标应用当前正被其他业务系统占用时,还可以预测目标应用被占用的大概时间。也就是说,在目标应用当前正被占用时可以估计该目标应用可以被第一业务系统开始独占使用的时间,了便于描述,本申请实施例中将预测的该时间称作预测等待时间,进而可以输出该预测等待时间,以提示测试人员大概什么时候可以开始对第一业务系统进行独占目标应用的测试,增强对用户的提示效果。
与输出第一提示信息和第二提示信息的输出方式相同地,预测等待时间也可以通过如图1中的终端设备101输出,也可以通过如图2中的服务器集群201中的服务器输出,预测等待时间可以是以文本形式显示文本信息,也可以是语音信息,或者还可以是其它形式,等等。
步骤308:若确定目标应用当前正在被占用,则确定当前占用目标应用的第二业务系统。
在本申请实施例中,当确定出目标应用当前正被其他业务系统占用时,可以检测当前正在占用目标应用的第二业务系统,其中,第二业务系统可能是正在进行性能测试的系统,也可能是非测试业务系统,第二业务系统可以是一个业务系统,也可以包括多个业务系统,本申请实施例中将占用目标应用的业务系统统称为第二业务系统。
步骤309:确定第一业务系统调用目标应用和第二业务系统调用目标应用的优先级顺序。
其中,第一业务系统调用目标应用的优先级可能高于第二业务系统调用目标应用的优先级,也可能低于第二业务系统调用目标应用的优先级。
在本申请实施例中,如前文所述,第二业务系统可以是正在进行性能测试的业务系统,也可以是未进行性能测试的业务系统,不同的优先级顺序和不同类型的业务系统,其运行的先后顺序也存在差异,从而可以确定第一业务系统和第二业务系统调用目标应用的优先级顺序,进而按照从高到低的优先级顺序,运行所述第一业务系统和所述第二业务系统,也就是说,可以先运行优先级高的业务系统,然后再运行优先级低的业务系统。
步骤310:根据确定的优先级顺序,运行第一业务系统或第二业务系统。
具体的,根据优先级顺序的不同,为便于理解,以下列举运行第一业务系统和第二业务系统的几种情形进行说明。
情形一:若第一业务系统和第二业务系统都为测试业务系统,且第一业务系统的优先级高于第二业务系统的优先级,则可以先暂停对第二业务系统的性能测试,在对第二业务系统暂停之后,优先对第一业务系统进行性能测试。这样,可以根据测试需求的轻重缓急,灵活的对测试业务系统进行性能测试。
例如,测试业务系统A和测试业务系统B进行性能测试时,都需使用目标应用C,若当前测试业务系统A正在使用目标应用C,但测试人员急需获得对待测试业务系统B的测试结果,则可以通过设置待测试业务系统B的优先级高于测试业务系统A,以使得在接收到对待测试业务系统B进行性能测试的请求后,可以暂停对测试业务系统A的测试,优先对待测试业务系统B的进行性能测试。
情形二:若第一业务系统为测试业务系统,第二业务系统为非测试业务系统,例如非测试业务系统为正常的业务处理系统,那么则可以认为第一业务系统的优先级低于第二业务系统的优先级,此时则可以继续运行第二业务系统,并将第一业务系统的测试请求保存到任务队列中,等待进行性能测试。这样,可以避免打断进正在进行的性能测试,确保一次性完成性能测试,以确保性能测试的流畅性和测试结果的准确性,也避免了在暂停性能测试后重新开始进行性能测试造成的时间浪费。
情形三:若第一业务系统为测试业务系统,第二业务系统为非测试业务系统,例如非测试业务系统为正常的业务处理系统,那么则可以认为第一业务系统的优先级高于第二业务系统的优先级,则可以暂停或者终止第二业务系统的运行,而优先开始对第一业务系统进行性能测试。这样,可以确保优先运行测试业务系统,所以较快的获取到对测试业务系统进行性能测试的测试结果,以便测试人员根据测试结果对业务系统进行优化改进,提高业务系统各方面的性能,如业务处理能力或业务处理结果准确性等。
那么,在第一业务系统调用目标应用的优先级高于第二业务系统调用目标应用的优先级时,可以暂停运行第二业务系统开始对第一业务系统进行性能测试,在第一业务系统调用目标应用的优先级低于第二业务系统调用目标应用的优先级时,则可以继续运行第二业务系统。
因为,根据业务系统运行的优先级顺序,测试环境可以优先运行优先级顺序高的测试业务系统或者运行非测试业务系统,从而可以根据业务系统运行的紧急轻缓情况来更好的分配测试环境中的各种测试资源,增加了性能测试的灵活性,提高测试环境中各种资源的利用率。同时,还避免因性能测试所需的应用被占用产生性能测试冲突,从而影响性能测试结果的准确性。
举例说明,假设待进行性能测试的第一业务系统为银行的转账业务系统,该转账业务系统需要调用密码输入的应用A,扣款相关的应用B,发送提示信息的应用C,记账相关的应用D;当前正常进行测试的第二业务系统为存款业务系统,该存款业务系统也需要调用发送提示信息的应用C和记账相关的应用D,增款相关的应用F。
其中,由于转账业务系统需要调用发送提示信息的应用C和记账相关的应用D,所以可以确定转账业务系统需要调用的目标应用被当前正在进行性能测试的汇款业务系统所占用,存在测试冲突,所以,可以判断转账业务系统和汇款业务系统的性能测试优先级顺序,若转账业务系统的性能测试优先级高于汇款业务系统的测试优先级,则判断当前测试环境中的硬件测试资源是否满足对转账业务进行性能测试,若满足,则暂停对汇款业务系统的性能测试,开始对转账业务系统进行性能测试。
作为一种可选的实施方式,本申请实施例中,为了保证性能测试结果的准确性,在对第一业务系统进行性能测试的过程中,可以实时的监控测试环境中的硬件资源使用情况,即查看测试环境中运行的所有测试业务系统的进程,以及非测试业务系统的进程的资源使用情况,如果检测到非测试业务系统的进程对测试环境的硬件测试资源的第二占用率大于第二预设阈值时,则可以输出第三提示信息,以通知测试人员当前测试环境中非测试业务系统的硬件测试资源占用率超过阈值,提示测试人员查看当前硬件测试资源使用情况,及时调度测试环境的硬件测试资源,避免因硬件测试资源不足而影响对第一业务系统性能测试结果的准确性。
同样的,第三提示信息的输出方式与前文叙述的第一提示信息的输出方式相同,此处不再赘述。
基于同一发明构思,本申请实施例提供一种全链路性能测试装置。该全链路性能测试装置可以是硬件结构、软件模块、或硬件结构加软件模块。该全链路性能测试装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图4a所示,本申请实施例中的全链路性能测试装置包括获取模块401、第一确定模块402、第二确定模块403和测试模块404,其中:
获取模块401,用于获取对待测试的第一业务系统进行性能测试的测试请求;
第一确定模块402,用于根据预先设置的业务系统与需调用应用之间的对应关系,确定测试第一业务系统需要调用的目标应用;
第二确定模块403,用于确定目标应用当前是否被占用;
测试模块404,用于在目标应用当前未被占用时,根据测试请求对第一业务系统进行测试。
在一种可能的实施方式中,第二确定模块403还用于,在根据测试请求对第一业务系统进行测试之前,确定用于进行业务系统测试的测试环境中的硬件测试资源的第一占用率;在第一占用率小于或等于第一预设阈值时,确定满足对第一业务系统进行测试的条件。
在一种可能的实施方式中,继续参见图4b,该全链路性能测试装置还包括信息输出模块405,该信息输出模块405用于在第一占用率大于第一预设阈值时,输出第一提示信息,其中,第一提示信息用于表征当前测试环境的硬件测试资源的占用率大于第一预设阈值。
在一种可能的实施方式中,信息输出模块405还用于若目标应用当前正被占用,则输出第二提示信息,其中,第二提示信息用于表征性能测试冲突。
在一种可能的实施方式中,该全链路性能测试装置还包括处理模块406,用于若目标应用当前正被占用,则确定开始测试第一业务系统所需等待的预测等待时间,并输出预测等待时间。
在一种可能的实施方式中,处理模块406还用于若目标应用当前正被占用,则确定当前占用目标应用的第二业务系统;并确定第一业务系统与第二业务系统调用目标应用的优先级顺序;以及根据从高到低的优先级顺序,运行第一业务系统和第二业务系统。
在一种可能的实施方式中,第二确定模块403还用于,在对第一业务系统进行性能测试的过程中,检测当前测试环境中的非测试业务系统对测试环境的硬件测试资源的第二占用率;信息输出模块405还用于,在所述第二占用率大于第二预设阈值时,输出第三提示信息,其中,第三提示信息用于表征非测试业务系统对硬件测试资源的占用率超过预设阈值。
在一种可能的实施方式中,目标应用包括一个或多个,第二确定模块403还用于,确定当前正在执行的任务队列中所有业务系统占用的第一应用集合;确定第一应用集合与一个或多个目标应用组成的第二应用集合是否存在交集;若存在交集,则确定目标应用当前被占用;若不存在交集,则确定目标应用当前未被占用。
前述的全链路性能测试方法的实施例涉及的各步骤的所有相关内容均可以援引到本申请施例中的全链路性能测试装置所对应的功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本申请实施例还提供一种计算设备。如图5所示,本申请实施例中的计算设备包括至少一个处理器501,以及与至少一个处理器501连接的存储器502和通信接口503,本申请实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例,总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的全链路性能测试方法中所包括的步骤。
其中,处理器501是计算设备的控制中心,可以利用各种接口和线路连接整个计算设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,计算设备的各种功能和处理数据,从而对计算设备进行整体监控。可选的,处理器501可包括一个或多个处理模块,处理器501可集成应用处理器和调制解调处理器,其中,处理器501主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通信接口503是能够用于进行通信的传输接口,可以通过通信接口503接收数据或者发送数据,例如可以通过通信接口503接收其它设备发送的对业务系统进行性能测试所需的数据,以及,还可以通过该通信接口503将获得的性能测试结果发送给其它设备。
参见图6所示的计算设备的进一步地的结构示意图,该计算设备还包括帮助计算设备内的各个器件之间传输信息的基本输入/输出系统(I/O系统)601、用于存储操作系统602、应用程序603和其他程序模块604的大容量存储设备605。
基本输入/输出系统601包括有用于显示信息的显示器606和用于用户输入信息的诸如鼠标、键盘之类的输入设备607。其中显示器606和输入设备607都通过连接到系统总线500的基本输入/输出系统601连接到处理器501。所述基本输入/输出系统601还可以包括输入输出控制器以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备605通过连接到系统总线500的大容量存储控制器(未示出)连接到处理器501。所述大容量存储设备605及其相关联的计算机可读介质为该服务器包提供非易失性存储。也就是说,大容量存储设备605可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
根据本发明的各种实施例,该计算设备包还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即该计算设备可以通过连接在所述系统总线500上的通信接口503连接到网络608,或者说,也可以使用通信接口503来连接到其他类型的网络或远程计算机系统(未示出)。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的全链路性能测试方法的步骤。
在一些可能的实施方式中,本申请实施例提供的全链路性能检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机上运行时,所述程序代码用于使所述计算机执行前文述描述的根据本发明各种示例性实施方式的全链路性能检测方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种全链路性能测试方法,其特征在于,所述方法包括:
获取对待测试的第一业务系统进行性能测试的测试请求;
根据预先设置的业务系统与需调用应用之间的对应关系,确定测试所述第一业务系统需要调用的目标应用;
确定所述目标应用当前是否被占用;
若所述目标应用当前未被占用,则根据所述测试请求利用所述目标应用对所述第一业务系统进行性能测试。
2.如权利要求1所述的方法,其特征在于,在根据所述测试请求利用所述目标应用对所述第一业务系统进行测试之前,所述方法还包括:
确定用于进行业务系统测试的测试环境中的硬件测试资源的第一占用率;
在所述第一占用率小于或等于第一预设阈值时,确定满足对所述第一业务系统进行性能测试的条件。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一占用率大于所述第一预设阈值时,输出第一提示信息,其中,所述第一提示信息用于表征当前测试环境的硬件测试资源的占用率大于所述第一预设阈值。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标应用当前正被占用,输出第二提示信息,其中,所述第二提示信息用于表征性能测试冲突。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标应用当前正被占用,则确定开始测试所述第一业务系统所需等待的预测等待时间,并输出所述预测等待时间。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标应用当前正被占用,则确定当前占用所述目标应用的第二业务系统;
确定所述第一业务系统与所述第二业务系统调用所述目标应用的优先级顺序;
根据从高到低的优先级顺序,运行所述第一业务系统和所述第二业务系统。
7.如权利要求1所述的方法,其特征在于,所述目标应用包括一个或多个,则,确定所述目标应用当前是否被占用,包括:
确定当前正在执行的任务队列中所有业务系统占用的第一应用集合;
确定所述第一应用集合与一个或多个目标应用组成的第二应用集合是否存在交集;
若存在交集,则确定所述目标应用当前被占用;
若不存在交集,则确定所述目标应用当前未被占用。
8.如权利要求1-7任一所述的方法,其特征在于,所述方法还包括:
在对所述第一业务系统进行性能测试的过程中,检测当前测试环境中的非测试业务系统对所述测试环境的硬件测试资源的第二占用率;
在所述第二占用率大于第二预设阈值时,输出第三提示信息,其中,所述第三提示信息用于表征非测试业务系统对所述硬件测试资源的占用率超过所述第二预设阈值。
9.一种全链路性能测试装置,其特征在于,所述装置包括:
获取模块,用于获取对待测试的第一业务系统进行性能测试的测试请求;
第一确定模块,用于根据预先设置的业务系统与需调用应用之间的对应关系,确定测试所述第一业务系统需要调用的目标应用;
第二确定模块,用于确定所述目标应用当前是否被占用;
测试模块,用于在所述目标应用当前未被占用时,根据所述测试请求利用所述目标应用对所述第一业务系统进行测试。
10.一种计算设备,其特征在于,所述计算设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-8中任一所述的方法包括的步骤。
11.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-8中任一所述的方法包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910549030.0A CN110262977A (zh) | 2019-06-24 | 2019-06-24 | 一种全链路性能测试方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910549030.0A CN110262977A (zh) | 2019-06-24 | 2019-06-24 | 一种全链路性能测试方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110262977A true CN110262977A (zh) | 2019-09-20 |
Family
ID=67920719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910549030.0A Pending CN110262977A (zh) | 2019-06-24 | 2019-06-24 | 一种全链路性能测试方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262977A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740079A (zh) * | 2019-10-16 | 2020-01-31 | 北京航空航天大学 | 一种面向分布式调度系统的全链路基准测试系统 |
CN111324506A (zh) * | 2020-02-03 | 2020-06-23 | 杭州迪普科技股份有限公司 | 集控中心系统和方法 |
CN112256588A (zh) * | 2020-11-10 | 2021-01-22 | 广州掌动智能科技有限公司 | 应用程序测试的资源配置方法、计算机可读存储介质及测试机 |
CN112286790A (zh) * | 2020-09-27 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 一种全链路测试方法、装置、设备和存储介质 |
CN113127314A (zh) * | 2019-12-31 | 2021-07-16 | 航天信息股份有限公司 | 一种检测程序性能瓶颈的方法、装置及计算机设备 |
CN114003373A (zh) * | 2021-09-30 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 业务测试方法、装置、计算机设备及存储介质 |
CN114968829A (zh) * | 2022-08-02 | 2022-08-30 | 平安银行股份有限公司 | 全链路压力测试方法、电子设备和存储介质 |
-
2019
- 2019-06-24 CN CN201910549030.0A patent/CN110262977A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740079A (zh) * | 2019-10-16 | 2020-01-31 | 北京航空航天大学 | 一种面向分布式调度系统的全链路基准测试系统 |
CN110740079B (zh) * | 2019-10-16 | 2021-05-28 | 北京航空航天大学 | 一种面向分布式调度系统的全链路基准测试系统 |
CN113127314A (zh) * | 2019-12-31 | 2021-07-16 | 航天信息股份有限公司 | 一种检测程序性能瓶颈的方法、装置及计算机设备 |
CN113127314B (zh) * | 2019-12-31 | 2023-10-31 | 航天信息股份有限公司 | 一种检测程序性能瓶颈的方法、装置及计算机设备 |
CN111324506A (zh) * | 2020-02-03 | 2020-06-23 | 杭州迪普科技股份有限公司 | 集控中心系统和方法 |
CN112286790A (zh) * | 2020-09-27 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 一种全链路测试方法、装置、设备和存储介质 |
CN112286790B (zh) * | 2020-09-27 | 2023-08-01 | 长沙市到家悠享网络科技有限公司 | 一种全链路测试方法、装置、设备和存储介质 |
CN112256588A (zh) * | 2020-11-10 | 2021-01-22 | 广州掌动智能科技有限公司 | 应用程序测试的资源配置方法、计算机可读存储介质及测试机 |
CN114003373A (zh) * | 2021-09-30 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 业务测试方法、装置、计算机设备及存储介质 |
CN114003373B (zh) * | 2021-09-30 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 业务测试方法、装置、计算机设备及存储介质 |
CN114968829A (zh) * | 2022-08-02 | 2022-08-30 | 平安银行股份有限公司 | 全链路压力测试方法、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110262977A (zh) | 一种全链路性能测试方法、装置、计算设备及存储介质 | |
CN105427695B (zh) | 编程类考题自动测评方法和系统 | |
CN108304250A (zh) | 用于确定运行机器学习任务的节点的方法和装置 | |
CN103763346B (zh) | 一种分布式资源调度方法及装置 | |
US20120185832A1 (en) | Testing Software Applications with Progress Tracking | |
CN110012062B (zh) | 一种多机房任务调度方法、装置及存储介质 | |
CN110362409A (zh) | 基于多种类型的资源分配方法、装置、设备及存储介质 | |
US11094008B2 (en) | Debt resolution planning platform for accelerating charge off | |
CN106713396A (zh) | 服务器调度方法和系统 | |
CN110083535A (zh) | 一种软件测试方法及装置 | |
CN109739700A (zh) | 一种接口测试方法和装置 | |
CN114327824A (zh) | 一种业务主机的确定方法、装置及电子设备 | |
CN108459906A (zh) | 一种vcpu线程的调度方法及装置 | |
CN109992408A (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
CN109240914B (zh) | 安全测试任务的监控管理方法及终端设备 | |
CN110286961A (zh) | 基于物理主机处理器的进程挂起方法及相关设备 | |
CN109788061A (zh) | 计算任务部署方法及装置 | |
CN111881057B (zh) | 测试方法、测试装置、测试系统及介质 | |
CN115562926A (zh) | 服务器压力测试方法、系统、装置及计算机可读存储介质 | |
CN105930260B (zh) | 一种系统可用性测试方法及装置 | |
CN108519909A (zh) | 一种流数据处理方法和装置 | |
CN114356571A (zh) | 一种处理方法及装置 | |
CN110286949A (zh) | 基于物理主机存储装置读写的进程挂起方法及相关设备 | |
CN110737572A (zh) | 大数据平台资源抢占测试方法、系统、终端及存储介质 | |
CN109345364A (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 |