CN112968806A - 业务场景的测试方法及装置、存储介质、电子设备 - Google Patents

业务场景的测试方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN112968806A
CN112968806A CN202110113815.0A CN202110113815A CN112968806A CN 112968806 A CN112968806 A CN 112968806A CN 202110113815 A CN202110113815 A CN 202110113815A CN 112968806 A CN112968806 A CN 112968806A
Authority
CN
China
Prior art keywords
scene
interface
current
tested
performance
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
Application number
CN202110113815.0A
Other languages
English (en)
Other versions
CN112968806B (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.)
Hangzhou Netease Shuzhifan Technology Co ltd
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110113815.0A priority Critical patent/CN112968806B/zh
Publication of CN112968806A publication Critical patent/CN112968806A/zh
Application granted granted Critical
Publication of CN112968806B publication Critical patent/CN112968806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开是关于一种业务场景的测试方法及装置、存储介质、电子设备,涉及场景性能测试技术领域,该方法包括:从当前业务场景的历史测试数据中获取当前业务场景中所包括的待测试接口的平均响应时间;根据待测试接口的平均响应时间,以及待测试接口的每秒钟的请求事务数量的目标值,计算待测试接口的接口当前性能总值;根据接口当前性能总值,计算当前业务场景的场景当前性能总值,并根据场景当前性能总值计算当前业务场景的场景基日性能总值;根据场景当前性能总值、场景基日性能总值以及预设的基期指数,计算当前业务场景的场景性能指数,并根据场景性能指数,对当前业务场景的稳定性进行测试。本公开提高了测试效率以及测试结果的准确率。

Description

业务场景的测试方法及装置、存储介质、电子设备
技术领域
本发明的实施方式涉及场景性能测试领域,更具体地,本发明的实施方式涉及一种业务场景的测试方法、业务场景的测试装置、计算机可读存储介质以及电子设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在一些在对业务场景以及业务场景中所包括的网络接口的性能进行评估的方法中,可以通过对通过执行压力测试所收集以及采样到的数据进行分析,进而得到具体的评估结果。
具体的,可以通过网络接口绘制每秒钟请求事务数的变化曲线以及接口响应时间的变化曲线,进而对业务场景以及接口在压力测试过程的变化曲线进行直观的展示,使得测试人员可以通过展示结果对网络接口的稳定性进行测试,并根据网络接口的稳定性测试结果对业务场景的稳定性进行测试。
但是,对业务性能的评判仅仅通过测试数据无法进行客观测试。
发明内容
但是,在现有技术中,一方面,通过测试人员人工的根据变化曲线对网络接口的稳定性进行测试,进而根据网络接口的稳定对业务场景的稳定性进行测试,会浪费大量的人力成本;同时,人工的是难以避免的会存在主观错误,进而导致测试结果的准确率较低;另一方面,仅通过每秒钟请求事务数的变化曲线或者接口响应时间的变化曲线等单一维度对网络接口的稳定性进行测试,会使得网络接口的测试结果较为单一,进而使得业务场景的测试结果也较为单一;再一方面,每秒钟请求事务数的变化曲线或者接口响应时间的变化曲线是通过当前压力测试执行的过程中所得到的数据进行绘制的,因此不能测试同一个接口或场景的性能在历史执行过程中的变化趋势。
因此在现有技术中,不能自动的对前业务场景的稳定性进行测试,这是非常令人烦恼的过程。
为此,非常需要一种改进的业务场景的测试方法,以使可以自动的对业务场景的稳定性进行测试,并从多个维度对业务场景的稳定性进行测试,进而提高测试结果的准确性。
在本上下文中,本发明的实施方式期望提供一种业务场景的测试方法、业务场景的测试装置、计算机可读存储介质以及电子设备。
根据本公开的一个方面,提供一种业务场景的测试方法,包括:
从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间;
根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值;
根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值;
根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
在本公开的一种示例性实施例中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
确定所述场景性能指数与所述预设的基期指数之间的第一差值是否大于第一预设阈值;
如果第一差值大于所述第一预设阈值,则确定所述当前业务场景的稳定性处于不稳定状态;
如果第一差值小于等于所述第一预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
在本公开的一种示例性实施例中,在确定所述当前业务场景的稳定性处于不稳定状态时,所述业务场景的测试方法还包括:
根据所述接口当前性能总值,计算所述待测试接口的接口基日性能总值,并根据所述接口当前性能总值、接口基日性能总值以及所述预设的基期指数,计算所述待测试接口的接口性能指数;
计算所述接口性能指数与所述预设的基期指数之间的第二差值,并对所述第二差值进行排序;
根据排序结果确定引起所述当前业务场景的稳定性处于不稳定状态的待测试接口,并对引起所述当前业务场景的稳定性处于不稳定状态的待测试接口进行调试。
在本公开的一种示例性实施例中,所述业务场景的测试方法还包括:
在检测到所述待测试接口发生变更时,根据变更后的待测试接口的接口当前性能总值,计算变更后的业务场景的场景当前性能总值;
根据变更前的所述场景性能指数、场景基日性能总值、场景当前性能总值,以及变更后的业务场景的场景当前性能总值,计算变更后的业务场景的场景基日性能总值;
根据所述变更后的业务场景的场景当前性能总值以及变更后的业务场景的场景基日性能总值,计算变更后的业务场景的场景性能指数。
在本公开的一种示例性实施例中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
从所述历史测试数据中获取所述待测试接口的平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量;
分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率;
根据所述第一波动率确定所述当前业务场景的第二波动率,并根据所述第二波动率以及所述场景性能指数,对所述当前业务场景的稳定性进行测试;
其中,如果所述第一差值不大于所述第一预设阈值,且所述第二波动率小于第二预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
在本公开的一种示例性实施例中,分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率,包括:
分别计算所述待测试接口在每一次测试过程中的平均响应时间的第一平均值、平均响应时间的最大值的第二平均值、接口请求失败的比率的第三平均值以及每秒钟的请求事务数量的第四平均值;
根据所述第一平均值以及所述平均响应时间、所述第二平均值以及平均响应时间的最大值、所述第三平均值以及接口请求失败的比率、所述第四平均值以及每秒钟的请求事务数量,计算所述平均响应时间的第一标准差、所述平均响应时间的最大值的第二标准差、所述接口请求失败的比率的第三标准差以及每秒钟的请求事务数量的第四标准差;
根据所述第一平均值以及所述第一标准差、第二平均值以及第二标准差、第三平均值以及第三标准差、第四平均值以及第四标准差,计算所述待测试接口在平均响应时间维度的波动率、在平均响应时间的最大值维度的波动率、在接口请求失败的比率维度的波动率以及每秒钟的请求事务数量维度的波动率;
根据所述待测试接口在平均响应时间维度的波动率,和/或在平均响应时间的最大值维度的波动率,和/或在接口请求失败的比率维度的波动率,和/或每秒钟的请求事务数量维度的波动率,得到所述第一波动率。
在本公开的一种示例性实施例中,在计算所述待测试接口的波动率之前,所述业务场景的测试方法还包括:
基于预设的过滤规则,对所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量进行过滤;
其中,所述预设的过滤规则至少包括以下过滤规则中的一种:
对所述当前业务场景的测试任务在开始时间节点产生的数据进行过滤,所述在开始时间节点产生的数据为响应于所述测试任务的开启,执行所述测试任务的并发线程全部被触发之前所产生的数据;
对所述当前业务场景的测试任务在终止节点产生的数据进行过滤,所述在终止节点产生的数据包括响应于所述测试任务的停止,所述并发线程被全部被停止之前所产生的数据。
根据本公开的一个方面,提供一种业务场景的测试装置,包括:
响应时间获取模块,用于从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间;
第一计算模块,用于根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值;
第二计算模块,用于根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值;
稳定性测试模块,用于根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
在本公开的一种示例性实施例中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
确定所述场景性能指数与所述预设的基期指数之间的第一差值是否大于第一预设阈值;
如果第一差值大于所述第一预设阈值,则确定所述当前业务场景的稳定性处于不稳定状态;
如果第一差值小于等于所述第一预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
在本公开的一种示例性实施例中,在确定所述当前业务场景的稳定性处于不稳定状态时,所述业务场景的测试装置还包括:
根据所述接口当前性能总值,计算所述待测试接口的接口基日性能总值,并根据所述接口当前性能总值、接口基日性能总值以及所述预设的基期指数,计算所述待测试接口的接口性能指数;
计算所述接口性能指数与所述预设的基期指数之间的第二差值,并对所述第二差值进行排序;
根据排序结果确定引起所述当前业务场景的稳定性处于不稳定状态的待测试接口,并对引起所述当前业务场景的稳定性处于不稳定状态的待测试接口进行调试。
在本公开的一种示例性实施例中,所述业务场景的测试装置还包括:
第三计算模块,用于在检测到所述待测试接口发生变更时,根据变更后的待测试接口的接口当前性能总值,计算变更后的业务场景的场景当前性能总值;
第四计算模块,用于根据变更前的所述场景性能指数、场景基日性能总值、场景当前性能总值,以及变更后的业务场景的场景当前性能总值,计算变更后的业务场景的场景基日性能总值;
第五计算模块,用于根据所述变更后的业务场景的场景基日性能总值以及变更后的业务场景的场景基日性能总值,计算变更后的业务场景的场景性能指数。
在本公开的一种示例性实施例中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
从所述历史测试数据中获取所述待测试接口的平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量;
分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率;
根据所述第一波动率确定所述当前业务场景的第二波动率,并根据所述第二波动率以及所述场景性能指数,对所述当前业务场景的稳定性进行测试;
其中,如果所述第一差值不大于所述第一预设阈值,且所述第二波动率小于第二预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
在本公开的一种示例性实施例中,分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率,包括:
分别计算所述待测试接口在每一次测试过程中的平均响应时间的第一平均值、平均响应时间的最大值的第二平均值、接口请求失败的比率的第三平均值以及每秒钟的请求事务数量的第四平均值;
根据所述第一平均值以及所述平均响应时间、所述第二平均值以及平均响应时间的最大值、所述第三平均值以及接口请求失败的比率、所述第四平均值以及每秒钟的请求事务数量,计算所述平均响应时间的第一标准差、所述平均响应时间的最大值的第二标准差、所述接口请求失败的比率的第三标准差以及每秒钟的请求事务数量的第四标准差;
根据所述第一平均值以及所述第一标准差、第二平均值以及第二标准差、第三平均值以及第三标准差、第四平均值以及第四标准差,计算所述待测试接口在平均响应时间维度的波动率、在平均响应时间的最大值维度的波动率、在接口请求失败的比率维度的波动率以及每秒钟的请求事务数量维度的波动率;
根据所述待测试接口在平均响应时间维度的波动率,和/或在平均响应时间的最大值维度的波动率,和/或在接口请求失败的比率维度的波动率,和/或每秒钟的请求事务数量维度的波动率,得到所述第一波动率。
在本公开的一种示例性实施例中,所述业务场景的测试装置还包括:
数据过滤模块,用于基于预设的过滤规则,对所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量进行过滤;
其中,所述预设的过滤规则至少包括以下过滤规则中的一种:
对所述当前业务场景的测试任务在开始时间节点产生的数据进行过滤,所述在开始时间节点产生的数据为响应于所述测试任务的开启,执行所述测试任务的并发线程全部被触发之前所产生的数据;
对所述当前业务场景的测试任务在终止节点产生的数据进行过滤,所述在终止节点产生的数据包括响应于所述测试任务的停止,所述并发线程被全部被停止之前所产生的数据。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的业务场景的测试方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的业务场景的测试方法。
根据本发明实施方式的业务场景的测试方法和业务场景的测试装置,可以从当前业务场景的历史测试数据中获取当前业务场景中所包括的待测试接口的平均响应时间;并根据待测试接口的平均响应时间,以及待测试接口的每秒钟的请求事务数量的目标值,计算待测试接口的接口当前性能总值;再根据接口当前性能总值,计算当前业务场景的场景当前性能总值,并根据场景当前性能总值计算当前业务场景的场景基日性能总值;最后根据场景当前性能总值、场景基日性能总值以及预设的基期指数,计算当前业务场景的场景性能指数,并根据场景性能指数,对当前业务场景的稳定性进行测试,而无需通过测试人员人工的根据变化曲线对业务场景的稳定性进行测试,从而显著地降低了人力成本,并且减少了人工评估难以避免的会存在主观评估错误,进而导致评估结果的准确率较低的问题,同时,还可以从多个维度对业务场景的稳定性进行测试,提高了测试结果的准确率,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了一种网络接口的每秒钟请求事务数的变化趋势示例图;
图2示意性地示出了一种网络接口的接口平均响应时间的变化趋势示例图;
图3示意性地示出了根据本发明示例实施例的一种业务场景的测试方法的流程图;
图4示意性地示出了根据本发明示例实施例的一种业务场景的测试方法的应用场景的示例图;
图5示意性地示出了根据本发明示例实施例的一种当前业务场景的场景性能指数的变化示例图;
图6示意性地示出了根据本发明示例实施例的一种对待测试接口进行调试的方法流程图;
图7示意性地示出了根据本发明示例实施例的一种待测试接口的接口性能指数的变化示例图;
图8示意性地示出了根据本发明示例实施例的一种在待测试接口发生变更时的场景性能指数的计算方法的示例图;
图9示意性地示出了根据本发明示例实施例的一种在同时考虑场景性能指数以及当前业务场景的第二波动率的情况下,对当前业务场景的稳定性进行测试的方法流程图;
图10示意性地示出了根据本发明示例实施例的一种在对当前业务场景进行测试的过程中,所采集到的待测试接口的每秒钟请求事务数的示例图;
图11示意性地示出了根据本发明示例实施例的一种在对当前业务场景测试的过程中,对每秒钟请求事务数进行过滤前以及过滤后所得到的在每秒钟请求事务数维度的波动率的示例图;
图12示意性地示出了根据本发明示例实施例的一种业务场景的测试装置的框图;
图13示意性地示出了根据本发明示例实施例的一种用于对上述业务场景的测试方法进行存储的计算机可读存储介质;
图14示意性地示出了根据本发明示例实施例的一种用于实现上述业务场景的测试方法的电子设备。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种业务场景的测试方法、业务场景的测试装置、计算机可读存储介质以及电子设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,在对业务场景以及接口测试的过程中,比如压力测试,经常需要对测试收集、采样到的数据进行分析。比如,绘制每秒钟请求事务数(Transactions PerSecond,TPS)的变化曲线(具体可以参考图1所示)、响应时间(ResponseTime,RT)的变化曲线(具体可以参考图2所示)等,目的在于直观地展示在压力测试过程中,接口或场景的业务指标的变化趋势。
但是,对业务指标的评判仅仅通过这些测试数据无法进行客观评估,目前大多的方法是通过监控资源指标、应用指标等做进一步分析,分析的维度较为单一,会使得评估结果的准确率较低。同时,这些测试数据也不能评估同一个接口或场景的性能在历史执行过程中的变化趋势。
基于此,本公开提供了一种业务场景的测试方法,一方面,通过从当前业务场景的历史测试数据中获取当前业务场景中所包括的待测试接口的平均响应时间;然后根据待测试接口的平均响应时间,以及待测试接口的每秒钟的请求事务数量的目标值,计算待测试接口的接口当前性能总值;再根据接口当前性能总值,计算当前业务场景的场景当前性能总值,并根据场景当前性能总值计算当前业务场景的场景基日性能总值;最后根据场景当前性能总值、场景基日性能总值以及预设的基期指数,计算当前业务场景的场景性能指数,并根据场景性能指数,对当前业务场景的稳定性进行测试,实现了对业务场景的稳定性的自动测试;另一方面,可以根据场景当前性能总值、场景基日性能总值以及预设的基期指数,计算当前业务场景的场景性能指数,并根据场景性能指数,对当前业务场景的稳定性进行测试,实现了从多个维度对当前业务场景的稳定性进行测试,提高了测试结果的准确率;再一方面,待测试接口的平均响应时间是从历史测试数据中提取的,且在每一次测试的过程中,每秒钟的请求事务数量的目标值不会发生变化,进而避免了不能对同一个接口或场景的性能在历史执行过程中的变化趋势进行测试的问题。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
示例性方法
下面结合图3来描述根据本发明示例性实施方式的业务场景的测试方法,该方法可以运行于服务器、服务器集群或云服务器等;当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例性实施例中对此不做特殊限定。参考图3所示,该业务场景的测试可以包括以下步骤:
步骤S310.从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间;
步骤S320.根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值;
步骤S330.根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值;
步骤S340.根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
上述业务场景的测试方法中,从当前业务场景的历史测试数据中获取当前业务场景中所包括的待测试接口的平均响应时间;并根据待测试接口的平均响应时间,以及待测试接口的每秒钟的请求事务数量的目标值,计算待测试接口的接口当前性能总值;再根据接口当前性能总值,计算当前业务场景的场景当前性能总值,并根据场景当前性能总值计算当前业务场景的场景基日性能总值;最后根据场景当前性能总值、场景基日性能总值以及预设的基期指数,计算当前业务场景的场景性能指数,并根据场景性能指数,对当前业务场景的稳定性进行测试,而无需通过测试人员人工的根据变化曲线对业务场景的稳定性进行测试,从而显著地降低了人力成本,并且减少了人工评估难以避免的会存在主观评估错误,进而导致评估结果的准确率较低的问题,同时,还可以从多个维度对业务场景的稳定性进行测试,提高了测试结果的准确率,为用户带来了更好的体验。
下面,将结合附图对本公开业务场景的测试方法中涉及的各步骤进行详细的解释以及说明。
首先,对本公开所涉及到的名词进行解释以及说明。
接口,或者是网络接口,是提供给第三方服务用于访问本服务器资源或业务逻辑的协定方式。
业务场景,或者场景,是业务环境中真实动作的集合。其中,真实动作可以由接口进行表达,动作之间的关系可能是并列关系,也可能存在上下游依赖关系。
任务,执行一个业务场景产生的数据、需要的执行器配置等。
TPS,Transactions Per Second,每秒钟请求事务数。
MRT,Mean ResidenceTime,接口的平均响应时间。
MaxRT,接口平均响应时间的最大值。
FailRate,失败率,在接口中是指接口请求失败的比率,在场景中是指场景中所有接口请求失败的比率。
波动率,测度接口TPS等指标离散程度的相对统计量,主要是用于比较不同样本数据的离散程度。
其次,对本公开的发明目的进行解释以及说明。具体的,接口性能测试帮助开发人员了解提供的接口的性能瓶颈,通过系统吞吐量、并发处理能力、响应延迟等性能指标,分析系统出现的问题,在压测过程中及时定位性能问题并给出解决方案。接口的性能测试是一个持续的过程,每一次日常迭代、系统升级都需要进行回归测试,每一次回归测试的场景可能达几十甚至上百个,除了对系统资源进行监控,测试人员还需要过滤、分析不同场景中接口的性能表现,以保证系统常态化的稳定。因此,本公开提出一种接口性能评估的分析技术,自动检测和评估接口的性能情况。
通常,一个业务场景可以包含几十到上百个业务接口,在系统常态化迭代过程中,同一个业务场景一般来说性能指数变化很小,场景性能的稳定要求场景的性能指数变化不影响该业务的性能水平,场景中的接口在一个合理范围内保持整体的稳定,允许存在小范围的波动。因此,本公开提出了性能指数(Performance Index,PI)的概念来衡量业务场景、接口的变化趋势,设计了性能指数计算方法和性能曲线波动判定方法,其具体的应用场景示例图可以参考图4所示。
具体的,在图4中,假设场景A中可以包括接口1、接口2、接口3、……、以及接口m等m个接口,在系统迭代的过程中,进行了n次任务(任务1、任务、,任务3、……、任务n),在每一次任务的过程中,均可以进行性能指数的计算,其中,该性能指数既可以包括各接口的性能指数,也可以包括场景的性能指数,本示例对此不做特殊限制;同时,还可以计算性能指数的波动率以及TPS的波动率等等。
以下,将结合图4对步骤S310-步骤S340进行解释以及说明。
在步骤S310中,从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间。
具体的,首先,获取当前业务场景在执行历史测试任务过程中所生成的历史测试数据;然后,再从历史测试数据中获取当前业务场景所包括的待测试接口的平均响应时间MRT。此处需要补充说明的是,由于一个业务场景可以包含几十到上百个业务接口,且业务场景的迭代比较频繁,因此为了提高待测试接口的接口当前性能总值的准确性,可以获取一段时间内的历史测试数据,例如当天、或者前三天等等,本示例对此不做特殊限制。
在步骤S320中,根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值。
具体的,待测试接口的接口当前性能总值(InterfaceiPV)可以由当前业务场景中该接口TPS的目标值(IiTargetTPS)以及场景实际测试中每个待测试接口的平均响应时间(IiMRT)共同决定,具体可以如下公式(1)所示:
InterfaceiPV=IiTargetTPS*IiMRT; 公式(1)
在步骤S330中,根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值。
具体的,首先,计算当前业务场景的场景当前性能总值(ScenePV),具体可以根据当前业务场景中每个待测试接口的接口当前性能总值(InterfaceiPV)求和得到,具体可以如下公式(2)所示:
Figure BDA0002920016750000141
进一步的,当得到场景当前性能总值(Scene Performance Value,ScenePV)以后,可以根据该场景当前性能总值计算场景基日性能总值(Scene Base Performance Value,Scene BPV)。具体的,场景基日性能总值的初始值与场景当前性能总值的相同,在当前业务场景或者待测试接口未发生变更之前,其是固定不变的。
在步骤S340中,根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
具体的,场景性能指数计算公式由场景当前性能总值、场景基日性能总值和基期指数(Base Index,BI)共同决定,具体可以如下公式(3)所示:
Figure BDA0002920016750000142
其中,基期指数BI(Base Index)可以根据需要自行设定,例如可以设置为100,当然也可以是其他值,例如可以是50,本示例对此不做特殊限制。进一步的,场景性能指数的曲线图具体可以参考图5所示。在图5中,横坐标是每次系统迭代时执行该当前业务场景生成的任务(用taskId表示),纵坐标是该场景每次迭代时计算的场景性能指数ScenePI。
进一步的,在得到场景性能指数以后,即可根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。具体的可以包括:首先,确定所述场景性能指数与所述预设的基期指数之间的第一差值是否大于第一预设阈值;其次,如果第一差值大于所述第一预设阈值,则确定所述当前业务场景的稳定性处于不稳定状态;如果第一差值小于等于所述第一预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。举例来说,如果场景性能指数一直维持在与基期指数相差很小的范围内,则可以确定其处于稳定的状态;如果场景性能指数与基期指数差值较大,则可以确定其处于不稳定的状态;其中,该第一预设阈值可以根据需要自行选定,例如10或者5或者15等等,本示例对此不做特殊限定。通过该方法,实现了对当前业务场景的稳定性的自动测试。
进一步的,当当前业务场景的稳定性处于不稳定状态时,为了可以尽快的对引起当前业务场景的不稳定性的待测试接口进行定位,参考图6所示,该业务场景的测试方法还包括步骤S610-步骤S630。其中:
在步骤S610中,根据所述接口当前性能总值,计算所述待测试接口的接口基日性能总值,并根据所述接口当前性能总值、接口基日性能总值以及所述预设的基期指数,计算所述待测试接口的接口性能指数;
在步骤S620中,计算所述接口性能指数与所述预设的基期指数之间的第二差值,并对所述第二差值进行排序;
在步骤S630中,根据排序结果确定引起所述当前业务场景的稳定性处于不稳定状态的待测试接口,并对引起所述当前业务场景的稳定性处于不稳定状态的待测试接口进行调试。
以下,将对步骤S610-步骤S630进行解释以及说明。具体的,接口性能指数的具体计算方法与场景性能指数的计算方法类似,此处不再赘述;同时需要说明的是,在对接口性能指数计算的过程中,基期指数可以与前述的基期指数相同,也可以不同,此处以基期指数为50为例进行计算,所得到的接口性能指数的曲线图具体可以参考图7所示。进一步的,当得到接口性能指数以后,可以计算其与基期指数之间的差值,进而找到差值较大的接口性能指数对应的待测试接口,并对其进行调试,进而使得当前业务场景可以处于稳定状态。通过该方法,可以提高待测试接口的定位效率,进而提高当前业务场景的测试效率。
图8示意性示出一种在待测试接口发生变更时的场景性能指数的计算方法的示例图。具体的,参考图8所示,当待测试接口发生变更时,该业务场景的测试方法还可以包括步骤S810-步骤S830。其中:
在步骤S810中,在检测到所述待测试接口发生变更时,根据变更后的待测试接口的接口当前性能总值,计算变更后的业务场景的场景当前性能总值;
在步骤S820中,根据变更前的所述场景性能指数、场景基日性能总值、场景当前性能总值,以及变更后的业务场景的场景当前性能总值,计算变更后的业务场景的场景基日性能总值;
在步骤S830中,根据所述变更后的业务场景的场景基日性能总值以及变更后的业务场景的场景基日性能总值,计算变更后的业务场景的场景性能指数。
以下,将对步骤S810-步骤S830进行解释以及说明。具体的,在检测到待测试接口发生变更时,由于变更后的待测试接口的平均响应时间以及TPS的目标值是已知的,进而可以得到变更后的接口当前性能总值,进而可以计算变更后的当前业务场景的场景当前性能总值;进一步的,在对待测试接口变更后的当前业务场景进行第一次测试后,可以认为该次的场景性能指数与变更前最后一次测试的场景性能指数相同,进而可以根据变更前的场景性能指数、场景基日性能总值、场景当前性能总值,以及变更后的业务场景的场景当前性能总值,计算变更后的业务场景的场景基日性能总值;再计算变更后的业务场景的场景性能指数。通过该方法,可以进一步的提高当前业务场景的稳定性的计算效率。
当然,变更后的场景基日性能总值也可以通过如下公式(4)确定:
Figure BDA0002920016750000171
其中,NewBPV为变更后的场景基日性能总值,PVj+1为变更后的场景当前性能总值,PVj为变更前最后一次测试的场景当前性能总值,OldBPV为变更前最后一次测试的场景基日性能总值,j为测试的次数。
图9示意性示出一种在同时考虑场景性能指数以及当前业务场景的第二波动率的情况下,对当前业务场景的稳定性进行测试的方法流程图。具体的,参考图9所示,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,还可以包括步骤S910-步骤S930。其中:
在步骤S910中,从所述历史测试数据中获取所述待测试接口的平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量;
在步骤S920中,分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率;
在本示例实施例中,首先,分别计算所述待测试接口在每一次测试过程中的平均响应时间的第一平均值、平均响应时间的最大值的第二平均值、接口请求失败的比率的第三平均值以及每秒钟的请求事务数量的第四平均值;其次,根据所述第一平均值以及所述平均响应时间、所述第二平均值以及平均响应时间的最大值、所述第三平均值以及接口请求失败的比率、所述第四平均值以及每秒钟的请求事务数量,计算所述平均响应时间的第一标准差、所述平均响应时间的最大值的第二标准差、所述接口请求失败的比率的第三标准差以及每秒钟的请求事务数量的第四标准差;然后,根据所述第一平均值以及所述第一标准差、第二平均值以及第二标准差、第三平均值以及第三标准差、第四平均值以及第四标准差,计算所述待测试接口在平均响应时间维度的波动率、在平均响应时间的最大值维度的波动率、在接口请求失败的比率维度的波动率以及每秒钟的请求事务数量维度的波动率;最后,根据所述待测试接口在平均响应时间维度的波动率,和/或在平均响应时间的最大值维度的波动率,和/或在接口请求失败的比率维度的波动率,和/或每秒钟的请求事务数量维度的波动率,得到所述第一波动率。
进一步的,为了可以提高第一波动率的准确率,在计算所述待测试接口的波动率之前,还需要基于预设的过滤规则,对所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量进行过滤;其中,所述预设的过滤规则至少包括以下过滤规则中的一种:对所述当前业务场景的测试任务在开始时间节点产生的数据进行过滤,所述在开始时间节点产生的数据为响应于所述测试任务的开启,执行所述测试任务的并发线程全部被触发之前所产生的数据;对所述当前业务场景的测试任务在终止节点产生的数据进行过滤,所述在终止节点产生的数据包括响应于所述测试任务的停止,所述并发线程被全部被停止之前所产生的数据。
在步骤S930中,根据所述第一波动率确定所述当前业务场景的第二波动率,并根据所述第二波动率以及所述场景性能指数,对所述当前业务场景的稳定性进行测试;其中,如果所述第一差值不大于所述第一预设阈值,且所述第二波动率小于第二预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
以下,将对步骤S910-步骤S930进行解释以及说明。具体的,每一次系统迭代过程中,待测试接口的TPS、MRT、最长响应时间(MaxRT)、90分位响应时间(90%RT)、错误率(FailRate,FR)、接口性能指数等评价指标对测试当前业务场景的性能情况(稳定情况)起到了很大的作用。但是,依靠人为的方式评估大量的指标数据会非常耗时,除了借助对服务软硬件的监控之外,本公开还提出了一种性能曲线波动计算方法,波动率(Volatility,V),用来帮助开发和测试人员汇总大量的业务数据,辅助开发和测试人员判定此次迭代出现问题的风险概率。
其中,波动率的提出思路来自离散系数,以当前业务场景的一次任务执行为例,该业务场景的TPS波动率受到该场景每个采样点的TPS的离散程度的影响,并与该场景执行时间内的TPS平均值、TPS标准差相关,具体的计算方法可以如下公式(5)、公式(6)以及公式(7)所示:
Figure BDA0002920016750000181
Figure BDA0002920016750000191
Figure BDA0002920016750000192
其中,x为TPS平均值,当然也可以是平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,或者接口性能指数等等,本示例对此不做特殊限制。此处需要补充说明的是,在对第一波动率计算的过程中,可以只考虑单一维度的波动率,也可以同时考虑多个或者所有维度的波动率,本示例对此不做特殊限制。
进一步的,为了降低其他因素对任务数据采集时造成的误差,从而影响相关指标的波动率的计算,计算波动率时需要做有一些数据清洗的工作;其中,过滤规则可以包括:对当前业务场景的测试任务在开始时间节点产生的数据进行过滤,在开始时间节点产生的数据为响应于测试任务的开启,执行测试任务的并发线程全部被触发之前所产生的数据;当然还可以包括:对当前业务场景的测试任务在终止节点产生的数据进行过滤,在终止节点产生的数据包括响应于所述测试任务的停止,并发线程被全部被停止之前所产生的数据;也即:采集数据时需要过滤任务刚启动时并发线程还未完全启动时的数据,以及任务发送停止命令直到线程完全停止前的数据。进一步的,图10展示了某个当前业务场景在某次任务执行过程中采集的TPS-RT的曲线图,其中,方框圈出的部分为有效数据。同时,在系统的不断迭代过程中,每次迭代都需要进行场景回归,进而采集TPS等指标数据,每次任务可计算出TPS的波动率(其他指标同样道理),绘制出场景每次任务的指标的波动率可以帮助直观地判断该指标离散程度的变化趋势,并对指标性能风险的初步判断提供依据。其中,图11展示了某一当前业务场景的系统迭代过程中TPS波动率的变化情况,图11中的每一个测试id中对应的左侧的柱状图为数据清洗前的波动率,右侧的柱状图为数据清洗后的波动率。基于此可以得知,在对数据清洗后,可以进一步的提高波动率的精确度,进而提高当前业务场景的测试结果的精确度。
至此可以得知,本公开所提供的业务场景的测试方法,结合了业务场景的相关指标、历史数据等因素,对业务场景的性能瓶颈进行预判,既考虑了业务场景变量因素,又不会受到恒定指标的限制,帮助软件开发工程师、软件测试开发工程师、测试工程师、测试管理人员在系统或服务常态化保障过程中,更方便、准确、直观地监控、评估业务场景执行情况、业务性能变化趋势提供了很好的实践。同时,也解决了现有技术中由于系统有很多业务,每种业务逻辑和业务量是不一样的,消耗的系统资源也不一样,不同的业务场景在测试中的评价标准也不一样;比如,业务场景A和业务场景B对CPU资源的利用率可能分别是20%和80%,如果同样50%的报警阈值可能导致业务场景B一直处于报警状态中这显然不符合事实的问题。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图12对本发明示例性实施方式的业务场景的测试装置进行解释。
参考图12所示,该业务场景的测试装置可以包括响应时间获取模块1210、第一计算模块1220、第二计算模块1230以及稳定性测试模块1240。其中:
响应时间获取模块1210可以用于从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间;
第一计算模块1220可以用于根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值;
第二计算模块1230可以用于根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值;
稳定性测试模块1240可以用于根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
在本公开的一种示例性实施例中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
确定所述场景性能指数与所述预设的基期指数之间的第一差值是否大于第一预设阈值;
如果第一差值大于所述第一预设阈值,则确定所述当前业务场景的稳定性处于不稳定状态;
如果第一差值小于等于所述第一预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
在本公开的一种示例性实施例中,在确定所述当前业务场景的稳定性处于不稳定状态时,所述业务场景的测试装置还包括:
根据所述接口当前性能总值,计算所述待测试接口的接口基日性能总值,并根据所述接口当前性能总值、接口基日性能总值以及所述预设的基期指数,计算所述待测试接口的接口性能指数;
计算所述接口性能指数与所述预设的基期指数之间的第二差值,并对所述第二差值进行排序;
根据排序结果确定引起所述当前业务场景的稳定性处于不稳定状态的待测试接口,并对引起所述当前业务场景的稳定性处于不稳定状态的待测试接口进行调试。
在本公开的一种示例性实施例中,所述业务场景的测试装置还包括:
第三计算模块,用于在检测到所述待测试接口发生变更时,根据变更后的待测试接口的接口当前性能总值,计算变更后的业务场景的场景当前性能总值;
第四计算模块,用于根据变更前的所述场景性能指数、场景基日性能总值、场景当前性能总值,以及变更后的业务场景的场景当前性能总值,计算变更后的业务场景的场景基日性能总值;
第五计算模块,用于根据所述变更后的业务场景的场景当前性能总值以及变更后的业务场景的场景基日性能总值,计算变更后的业务场景的场景性能指数。
在本公开的一种示例性实施例中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
从所述历史测试数据中获取所述待测试接口的平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量;
分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率;
根据所述第一波动率确定所述当前业务场景的第二波动率,并根据所述第二波动率以及所述场景性能指数,对所述当前业务场景的稳定性进行测试;
其中,如果所述第一差值不大于所述第一预设阈值,且所述第二波动率小于第二预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
在本公开的一种示例性实施例中,分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率,包括:
分别计算所述待测试接口在每一次测试过程中的平均响应时间的第一平均值、平均响应时间的最大值的第二平均值、接口请求失败的比率的第三平均值以及每秒钟的请求事务数量的第四平均值;
根据所述第一平均值以及所述平均响应时间、所述第二平均值以及平均响应时间的最大值、所述第三平均值以及接口请求失败的比率、所述第四平均值以及每秒钟的请求事务数量,计算所述平均响应时间的第一标准差、所述平均响应时间的最大值的第二标准差、所述接口请求失败的比率的第三标准差以及每秒钟的请求事务数量的第四标准差;
根据所述第一平均值以及所述第一标准差、第二平均值以及第二标准差、第三平均值以及第三标准差、第四平均值以及第四标准差,计算所述待测试接口在平均响应时间维度的波动率、在平均响应时间的最大值维度的波动率、在接口请求失败的比率维度的波动率以及每秒钟的请求事务数量维度的波动率;
根据所述待测试接口在平均响应时间维度的波动率,和/或在平均响应时间的最大值维度的波动率,和/或在接口请求失败的比率维度的波动率,和/或每秒钟的请求事务数量维度的波动率,得到所述第一波动率。
在本公开的一种示例性实施例中,所述业务场景的测试装置还包括:
数据过滤模块,用于基于预设的过滤规则,对所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量进行过滤;
其中,所述预设的过滤规则至少包括以下过滤规则中的一种:
对所述当前业务场景的测试任务在开始时间节点产生的数据进行过滤,所述在开始时间节点产生的数据为响应于所述测试任务的开启,执行所述测试任务的并发线程全部被触发之前所产生的数据;
对所述当前业务场景的测试任务在终止节点产生的数据进行过滤,所述在终止节点产生的数据包括响应于所述测试任务的停止,所述并发线程被全部被停止之前所产生的数据。
示例性存储介质
在介绍了本发明示例性实施方式的业务场景的测试方法以及业务场景的测试装置之后,接下来,参考图13对本发明示例性实施方式的存储介质进行说明。
参考图13所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1300,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性电子设备
在介绍了本发明示例性实施方式的存储介质之后,接下来,参考图14对本发明示例性实施方式的电子设备进行说明。
图14显示的电子设备1400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图14所示,电子设备1400以通用计算设备的形式表现。电子设备1400的组件可以包括但不限于:上述至少一个处理单元1410、上述至少一个存储单元1420、连接不同系统组件(包括存储单元1420和处理单元1410)的总线1430、显示单元1440。
其中,所述存储单元1420存储有程序代码,所述程序代码可以被所述处理单元1410执行,使得所述处理单元1410执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1410可以执行如图3中所示的步骤S310:从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间;步骤S320:根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值;步骤S330:根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值;步骤S340:根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
存储单元1420可以包括易失性存储单元,例如随机存取存储单元(RAM)14201和/或高速缓存存储单元14202,还可以进一步包括只读存储单元(ROM)14203。
存储单元1420还可以包括具有一组(至少一个)程序模块14205的程序/实用工具14204,这样的程序模块14205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1430可以包括数据总线、地址总线和控制总线。
电子设备1400也可以通过输入/输出(I/O)接口1450,与一个或多个外部设备1500(例如键盘、指向设备、蓝牙设备等)通信。并且,电子设备1400还可以通过网络适配器1460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1460通过总线1430与电子设备1400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了弹窗处理装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种业务场景的测试方法,包括:
从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间;
根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值;
根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值;
根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
2.根据权利要求1所述的业务场景的测试方法,其中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
确定所述场景性能指数与所述预设的基期指数之间的第一差值是否大于第一预设阈值;
如果第一差值大于所述第一预设阈值,则确定所述当前业务场景的稳定性处于不稳定状态;
如果第一差值小于等于所述第一预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
3.根据权利要求2所述的业务场景的测试方法,其中,在确定所述当前业务场景的稳定性处于不稳定状态时,所述业务场景的测试方法还包括:
根据所述接口当前性能总值,计算所述待测试接口的接口基日性能总值,并根据所述接口当前性能总值、接口基日性能总值以及所述预设的基期指数,计算所述待测试接口的接口性能指数;
计算所述接口性能指数与所述预设的基期指数之间的第二差值,并对所述第二差值进行排序;
根据排序结果确定引起所述当前业务场景的稳定性处于不稳定状态的待测试接口,并对引起所述当前业务场景的稳定性处于不稳定状态的待测试接口进行调试。
4.根据权利要求1所述的业务场景的测试方法,其中,所述业务场景的测试方法还包括:
在检测到所述待测试接口发生变更时,根据变更后的待测试接口的接口当前性能总值,计算变更后的业务场景的场景当前性能总值;
根据变更前的所述场景性能指数、场景基日性能总值、场景当前性能总值,以及变更后的业务场景的场景当前性能总值,计算变更后的业务场景的场景基日性能总值;
根据所述变更后的业务场景的场景当前性能总值以及变更后的业务场景的场景基日性能总值,计算变更后的业务场景的场景性能指数。
5.根据权利要求2所述的业务场景的测试方法,其中,根据所述场景性能指数,对所述当前业务场景的稳定性进行测试,包括:
从所述历史测试数据中获取所述待测试接口的平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量;
分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率;
根据所述第一波动率确定所述当前业务场景的第二波动率,并根据所述第二波动率以及所述场景性能指数,对所述当前业务场景的稳定性进行测试;
其中,如果所述第一差值不大于所述第一预设阈值,且所述第二波动率小于第二预设阈值,则确定所述当前业务场景的稳定性处于稳定状态。
6.根据权利要求5所述的业务场景的测试方法,其中,分别根据所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量,计算所述待测试接口的第一波动率,包括:
分别计算所述待测试接口在每一次测试过程中的平均响应时间的第一平均值、平均响应时间的最大值的第二平均值、接口请求失败的比率的第三平均值以及每秒钟的请求事务数量的第四平均值;
根据所述第一平均值以及所述平均响应时间、所述第二平均值以及平均响应时间的最大值、所述第三平均值以及接口请求失败的比率、所述第四平均值以及每秒钟的请求事务数量,计算所述平均响应时间的第一标准差、所述平均响应时间的最大值的第二标准差、所述接口请求失败的比率的第三标准差以及每秒钟的请求事务数量的第四标准差;
根据所述第一平均值以及所述第一标准差、第二平均值以及第二标准差、第三平均值以及第三标准差、第四平均值以及第四标准差,计算所述待测试接口在平均响应时间维度的波动率、在平均响应时间的最大值维度的波动率、在接口请求失败的比率维度的波动率以及每秒钟的请求事务数量维度的波动率;
根据所述待测试接口在平均响应时间维度的波动率,和/或在平均响应时间的最大值维度的波动率,和/或在接口请求失败的比率维度的波动率,和/或每秒钟的请求事务数量维度的波动率,得到所述第一波动率。
7.根据权利要求5所述的业务场景的测试方法,其中,在计算所述待测试接口的波动率之前,所述业务场景的测试方法还包括:
基于预设的过滤规则,对所述待测试接口的平均响应时间、平均响应时间的最大值、接口请求失败的比率以及每秒钟的请求事务数量进行过滤;
其中,所述预设的过滤规则至少包括以下过滤规则中的一种:
对所述当前业务场景的测试任务在开始时间节点产生的数据进行过滤,所述在开始时间节点产生的数据为响应于所述测试任务的开启,执行所述测试任务的并发线程全部被触发之前所产生的数据;
对所述当前业务场景的测试任务在终止节点产生的数据进行过滤,所述在终止节点产生的数据包括响应于所述测试任务的停止,所述并发线程被全部被停止之前所产生的数据。
8.一种业务场景的测试装置,包括:
响应时间获取模块,用于从当前业务场景的历史测试数据中获取所述当前业务场景中所包括的待测试接口的平均响应时间;
第一计算模块,用于根据所述待测试接口的平均响应时间,以及所述待测试接口的每秒钟的请求事务数量的目标值,计算所述待测试接口的接口当前性能总值;
第二计算模块,用于根据所述接口当前性能总值,计算所述当前业务场景的场景当前性能总值,并根据所述场景当前性能总值计算所述当前业务场景的场景基日性能总值;
稳定性测试模块,用于根据所述场景当前性能总值、所述场景基日性能总值以及预设的基期指数,计算所述当前业务场景的场景性能指数,并根据所述场景性能指数,对所述当前业务场景的稳定性进行测试。
9.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的业务场景的测试方法。
10.一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的业务场景的测试方法。
CN202110113815.0A 2021-01-27 2021-01-27 业务场景的测试方法及装置、存储介质、电子设备 Active CN112968806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110113815.0A CN112968806B (zh) 2021-01-27 2021-01-27 业务场景的测试方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110113815.0A CN112968806B (zh) 2021-01-27 2021-01-27 业务场景的测试方法及装置、存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN112968806A true CN112968806A (zh) 2021-06-15
CN112968806B CN112968806B (zh) 2022-09-02

Family

ID=76273168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110113815.0A Active CN112968806B (zh) 2021-01-27 2021-01-27 业务场景的测试方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN112968806B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170244604A1 (en) * 2014-12-04 2017-08-24 Amazon Technologies, Inc. Automated determination of maximum service throughput
CN110046093A (zh) * 2019-03-14 2019-07-23 平安信托有限责任公司 接口测试方法、装置、计算机设备和存储介质
CN110865913A (zh) * 2019-11-05 2020-03-06 深圳前海微众银行股份有限公司 一种压力测试的方法及装置
CN111162934A (zh) * 2019-12-13 2020-05-15 微民保险代理有限公司 业务服务的测试方法和装置、存储介质、电子装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170244604A1 (en) * 2014-12-04 2017-08-24 Amazon Technologies, Inc. Automated determination of maximum service throughput
CN110046093A (zh) * 2019-03-14 2019-07-23 平安信托有限责任公司 接口测试方法、装置、计算机设备和存储介质
CN110865913A (zh) * 2019-11-05 2020-03-06 深圳前海微众银行股份有限公司 一种压力测试的方法及装置
CN111162934A (zh) * 2019-12-13 2020-05-15 微民保险代理有限公司 业务服务的测试方法和装置、存储介质、电子装置

Also Published As

Publication number Publication date
CN112968806B (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
CN109271325B (zh) 应用的测试方法、系统、电子设备和存储介质
US9038030B2 (en) Methods for predicting one or more defects in a computer program and devices thereof
US20130111267A1 (en) Optimizing regression testing based on code coverage analysis
US8495430B2 (en) Generate diagnostic data for overdue thread in a data processing system
CN111563014A (zh) 接口服务性能测试方法、装置、设备和存储介质
CN110647447A (zh) 用于分布式系统的异常实例检测方法、装置、设备和介质
US20230086361A1 (en) Automatic performance evaluation in continuous integration and continuous delivery pipeline
CN115878394A (zh) 内存测试方法、装置、电子设备及存储介质
US10742535B2 (en) Monitoring a resource consumption of an application
CN110597704A (zh) 应用程序的压力测试方法、装置、服务器和介质
US11228511B2 (en) Smart sampling of discrete monitoring data
CN112968806B (zh) 业务场景的测试方法及装置、存储介质、电子设备
CN116405412B (zh) 基于混沌工程故障模拟服务端集群有效性验证方法和系统
US20180314774A1 (en) System Performance Measurement of Stochastic Workloads
US20230179501A1 (en) Health index of a service
CN114328127A (zh) 软件性能异常情况的检测方法及检测装置
CN114661571A (zh) 模型评测方法、装置、电子设备和存储介质
US20210342208A1 (en) Cognitive control of runtime resource monitoring scope
KR20230016896A (ko) 통신 시스템에서 응용 서비스 응답 시간 예측 방법 및 장치
CN110442508B (zh) 测试任务处理方法、装置、设备和介质
CN112416727A (zh) 批处理作业的检核方法、装置、设备及介质
US11182269B2 (en) Proactive change verification
CN116737554B (zh) 一种基于大数据的智能分析处理系统及方法
CN116541270B (zh) 一种操作系统的适配验证测试方法及装置
CN116048975A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211014

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: HANGZHOU LANGHE TECHNOLOGY Ltd.

Applicant after: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

Address before: 310052 Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province, 4, 7 stories

Applicant before: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Patentee after: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU LANGHE TECHNOLOGY Ltd.

Patentee before: NETEASE (HANGZHOU) NETWORK Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231110

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Patentee before: NETEASE (HANGZHOU) NETWORK Co.,Ltd.