CN110377503A - 压力测试方法、装置、计算机设备及存储介质 - Google Patents

压力测试方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110377503A
CN110377503A CN201910532656.0A CN201910532656A CN110377503A CN 110377503 A CN110377503 A CN 110377503A CN 201910532656 A CN201910532656 A CN 201910532656A CN 110377503 A CN110377503 A CN 110377503A
Authority
CN
China
Prior art keywords
interface
test
pressure
data
testing
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
Application number
CN201910532656.0A
Other languages
English (en)
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN201910532656.0A priority Critical patent/CN110377503A/zh
Publication of CN110377503A publication Critical patent/CN110377503A/zh
Pending legal-status Critical Current

Links

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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis

Abstract

本发明实施例公开了一种压力测试方法、装置、计算机设备及存储介质,包括下述步骤:获取待测试软件的应用数据;通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,其中,所述接口配置开关的状态信息用于表示所述测试接口的通断状态;通过所述目标测试接口对所述应用数据进行压力测试,并按照预先设置的场景参数监测测试过程中产生的压力数据以得到软件在不同的场景中的压力测试结果。该方法不完全依赖与第三方接口,不仅测试方便,还能确保测试正常进行。此外,该方法可以确定该软件使用的用户群体,便于开发人员后续对软件的维护和开发。

Description

压力测试方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其是一种压力测试方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的发展,开发了多种框架应用于各种系统测试中,例如,远程过程调用协议等。一般情况下,这些协议通过描述性语言进行定义,变异成对应的序列化和反序列接口,在进行后台测试时,对这些接口进行压力测试非常重要。压力测试是指模拟接口实际使用过程的情况,通过压力测试逻辑来测试接口的性能、可靠性、稳定性等。
目前,大部分应用压力测试以来第三方接口,一旦第三方接口不能使用,或者无法满足压力测试提供的条件时,该应用将无法进行测试,从而影响了正常的测试进程。
发明内容
本发明实施例提供一种压力测试方法、装置、计算机设备及存储介质。
为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:提供一种压力测试方法,包括下述步骤:
获取待测试软件的应用数据;
通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,其中,所述接口配置开关的状态信息用于表示所述测试接口的通断状态;
通过所述目标测试接口对所述应用数据进行压力测试,并按照预先设置的场景参数监测测试过程中产生的压力数据以得到所述软件在不同的场景中的压力测试结果。
可选地,所述测试接口包括:第三方测试接口和系统测试接口;所述通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口之前,包括:
获取所述第三方测试接口和所述系统测试接口的通断信息;
按照所述通断信息更新所述接口配置开关的状态信息;
根据测试请求获取所述接口配置开关的状态信息,其中,所述测试请求用于请求对所述应用数据进行压力测试。
可选地,所述按照所述通断信息更新所述接口配置开关的状态信息,包括:
判断所述第三方测试接口是否为连通状态;
当所述第三方测试接口为连通状态时,确定所述接口配置开关的状态信息表示为连通状态。
可选地,所述接口配置开关的状态信息包括:连通和断开;所述通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,包括:
判断所述接口配置开关的状态信息表示的通断状态;
当所述接口配置开关的状态信息表示为连通状态时,确定所述第三方测试接口为所述目标测试接口;
当所述接口配置开关的状态表示断开时,确定所述系统测试接口为所述目标测试接口。
可选地,所述第三方测试接口为所述目标测试接口时,所述通过所述目标测试接口对所述应用数据进行压力测试,包括:
获取待测试的应用软件的测试数据;
将所述测试数据填入到预设格式的数据文本中,得到待测试的应用数据;
通过所述第三方测试接口调用预设的压力测试指标对所述待测试的应用数据进行压力测试。
可选地,所述场景参数为时间参数,所述按照预先设置的场景参数监测测试过程中产生的压力数据包括:
从所述压力数据文件中实时获取新增的压力数据;
将所述新增的压力数据与历史性能数据合并得到当前的压力数据;
按照所述时间参数从所述当前的压力数据中提取所述时间参数表征的时间段内增加的压力数据以确定所述软件在各个时间段内的压力。
可选地,所述场景参数为功能场景参数,所述按照预先设置的压力参数监测测试过程中产生的压力数据包括:
从所述当前的压力数据中获取与所述功能场景参数相匹配的压力数据以确定所述软件各个功能场景的压力。
为解决上述技术问题,本发明实施例还提供一种压力测试装置,包括:
获取模块,用于获取待测试软件的应用数据;
处理模块,用于通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,其中,所述接口配置开关的状态信息用于表示所述测试接口的通断状态;
执行模块,用于通过所述目标测试接口对所述应用数据进行压力测试,并按照预先设置的场景参数监测测试过程中产生的压力数据以得到所述软件在不同的场景中的压力测试结果。
可选地,所述测试接口包括:第三方测试接口和系统测试接口;还包括:
第一获取子模块,用于获取所述第三方测试接口和所述系统测试接口的通断信息;
第一处理子模块,用于按照所述通断信息更新所述接口配置开关的状态信息;
第一执行子模块,用于根据测试请求获取所述接口配置开关的状态信息,其中,所述测试请求用于请求对所述应用数据进行压力测试。
可选地,所述第一处理子模块,包括:
第二处理子模块,用于判断所述第三方测试接口是否为连通状态;
第二执行子模块,用于当所述第三方测试接口为连通状态时,确定所述接口配置开关的状态信息表示为连通状态。
可选地,所述接口配置开关的状态信息包括:连通状态和断开状态;所述处理模块包括:
第三处理子模块,用于判断所述接口配置开关的状态信息表示的通断状态;
第三执行子模块,用于当所述接口配置开关的状态信息表示为连通状态时,确定所述第三方测试接口为所述目标测试接口;
第四执行子模块,用于当所述接口配置开关的状态表示断开时,确定所述系统测试接口为所述目标测试接口。
可选地,所述第三方测试接口为所述目标测试接口时,所述通执行模块包括:
第一获取子模块,用于获取待测试的应用软件的测试数据;
第四处理子模块,用于将所述测试数据填入到预设格式的数据文本中,得到待测试的应用数据;
第五执行子模块,用于通过所述第三方测试接口调用预设的压力测试指标对所述待测试的应用数据进行压力测试。
可选地,所述场景参数为时间参数,所述按照预先设置的场景参数监测测试过程中产生的压力数据包括:
从所述压力数据文件中实时获取新增的压力数据;
将所述新增的压力数据与历史性能数据合并得到当前的压力数据;
按照所述时间参数从所述当前的压力数据中提取所述时间参数表征的时间段内增加的压力数据以确定所述软件在各个时间段内的压力。
可选地,所述场景参数为功能场景参数,所述按照预先设置的压力参数监测测试过程中产生的压力数据包括:
从所述当前的压力数据中获取与所述功能场景参数相匹配的压力数据以确定所述软件各个功能场景的压力。
为解决上述技术问题,本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述压力测试方法的步骤。
为解决上述技术问题,本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述压力测试方法的步骤。
本发明实施例的有益效果是:通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口,并利用目标测试接口对应用数据进行压力测试,该方法不完全依赖与第三方接口,当第三方接口不能正常使用时,还可以通过预设的接口配置开关选取真实的接口,不仅测试方便,还能确保测试正常进行。此外,通过预设的场景参数监测测试过程中产生的压力数据以得到软件在不同的场景中的压力测试结果,从而可以确定该软件使用的用户群体,便于开发人员后续对软件的维护和开发。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种压力测试方法的基本流程示意图;
图2为本发明实施例提供的一种获取接口配置开关的状态信息的方法的基本流程示意图;
图3为本发明实施例提供的一种按照通道信息更新接口配置开关的状态信息的方法的基本流程示意图;
图4为本发明实施例提供的一种通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口的方法的基本流程示意图;
图5为本发明实施例提供的一种通过目标测试接口对应用数据进行压力测试的方法的基本流程示意图;
图6为本发明实施例提供的一种按照预先设置的场景参数监测测试过程中产生的压力数据的方法的基本流程示意图;
图7为本发明实施例提供的一种压力测试装置基本结构框图;
图8为本发明实施例提供的计算机设备基本结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本实施方式中的客户终端即为上述的终端。
具体地,请参阅图1,图1为本实施例压力测试方法的基本流程示意图。
如图1所示,压力测试方法包括下述步骤:
S1100、获取待测试软件的应用数据;
压力测试是应用软件测试的一部分,即在计算机数量较小或者系统资源匮乏的条件下运行的测试,例如,在低内存、小硬盘、慢CPU上运行,考验程序直至程序无法运行,从而发现软件的缺陷。例如,在一个场景中需要了解AUT(被测应用程序)可以承受的压力,同时能够承受的用户访问量,最多支持有多少用户同时访问某个功能。
其中,待测试的应用数据为应用软件中需要进行压力测试的数据,即应用开发、定义应用前后台接口所适用的接口定义文件,例如超文本传输协议超文本传输协议(HyperText Transfer Protocol,HTTP)接口的数据。其中,待测试的应用数据还可以为预先设置好的数据,或者在启动接口测试时手动输入的数据等。
S1200、通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口,其中,接口配置开关的状态信息用于表示测试接口的通断状态;
在实际应用中,在进行接口的压力测试时通常需要利用第三方接口进行测试,但是在通常情况下,当应用软件的流量较多时,会对接口的压力测试造成严重的干扰,为此,本实施例中配置多个测试接口以分担第三方测试接口的压力。其中,多个测试接口可以为多个第三方接口、可以为多个真实的系统接口,还可以为第三方接口和真实的系统接口,在此不作限定。
接口配置开关为预设于系统中用来表示多个测试接口通断状态的开关,例如,接口配置开关中可以配置有多个通断指示标记,分别用来表示多个测试接口的通断状态,接口配置开关还可以配置一个通断指示标记用来表示多个测试接口的通断状态。
举例说明,当多个测试接口中包含第三方测试接口和系统测试接口时,配置开关配置一个通断指示标记,当通断指示标记表示为连通状态时,可以表示第三方测试接口断开,系统测试接口连通,当配置开关配置多个通断指示标记时,当指示第三方测试接口的通断指示标记为连通状态时,表示该第三方测试接口连通。当多个测试接口中包含多个第三方测试接口时,配置开关配置多个通断指示标记,当通断指示标记表示为连通状态时,连通状态所表示的第三方测试接口连通。
目标测试接口为对所述应用数据进行压力测试的接口。本实施例中,在选取目标测试接口时,通过接口配置开关的状态来选取,即,当接口配置开关的状态信息表示为连通状态,则选取连通的测试接口作为目标测试接口。例如,当多个测试接口中包含多个第三方测试接口和系统测试接口时,配置开关配置多个通断指示标记,则选取通断指示标记表示为连通状态的第三方测试接口作为目标测试接口。
在一些实施方式中,当出现多个通断指示标记均指示连通状态时,即存在多个连通的测试接口时,判断多个测试接口中是否有第三方测试接口,当有第三方测试接口时,将第三方测试接口作为目标测试接口。由于第三方测试接口为专门用来进行压力测试的接口,而系统测试接口仅仅是作为辅助,避免出现第三方测试接口断开之后影响压力测试的进行。
需要说明的是,在压力测试过程中,当出现第三方测试接口断开时,可以直接调用系统测试接口进行补救,如此,可以最大程度的避免压力测试的中断。
S1300、通过目标测试接口对应用数据进行压力测试,并按照预先设置的场景参数监测测试过程中产生的压力数据以得到软件在不同的场景中的压力测试结果。
在进行压力测试时,本实施例可以从系统中调取压力测试指标,并输入到系统中,利用预设的应用程序进行测试,其中,应用程序可以为JMeter,LoadRunner等。需要解释的是,压力测试指标表示有进行压力测试时所使用到的指标,例如,每秒查询率(Query PerSecond,QPS)、测试进程数量,测试时间等。
需要说明的是,当将第三方测试接口作为目标测试接口时,从应用软件中获取待测试应用数据,即待测试的描述文本和目标测试接口内容转换为预设格式的数据文本。其中,预设格式为相对于用户来说易于进行数据配置的格式,因此,将应用数据转换为该种数据接口可以简单的根据预设的数据格式进行测试内容的配置,方便进行压力测试。
需要说明的是,预设格式可以是JSON(Javascript Object Nation)格式,可扩展标记语言(Extensible Markup Language)。需要说明的是,json是一种轻量级数据交换语言以文字为基础,易于让人阅读,同时可以方便机器进行解析和生成,json以JavaScript中的对象和数组进行结合转换为字符串,并在函数中进行传递,该语言完全独立于程序语言,并使用了C语言的习惯,使其成为理想的数据交换语言。
在实际应用中,为了分析不同场景下软件的压力确定压力最大的时间段或者功能场景,场景参数为时间参数和功能场景参数,从压力数据文件中实时获取新增的压力数据,将新增的压力数据与历史性能数据合并得到当前的压力数据,按照时间参数从当前的压力数据中提取时间参数表征的时间段内增加的压力数据以确定软件在各个时间段内的压力,从当前的压力数据中获取与功能场景参数相匹配的压力数据以确定软件各个功能场景的压力。
其中,压力数据文件为本发明实施例中第三方测试接口或者系统测试接口中预设的文件,用来记录压力数据,其中,压力数据可以为获取到的数据请求通信次数等。时间参数用来表示需要分析提取压力数据的时间段。通过设置时间参数可以分析该软件在其涉及的应用领域中被使用的次数,进而对该软件进行升级或更新。功能场景参数为用于表示软件各个功能场景的参数,
本实施例中,随着该软件用户量的增加,数据请求量的增多,会生成大量的压力数据。在实际应用中,由于用户习惯、该软件涉及的应用领域,以及该软件受欢迎程度的影响,该软件通常会存在数据压力最大的时间段或者场景。因此为了分析该软件的各类功能场景中受欢迎的程度,以及每个功能场景数据压力最大的时间段,以便使维护人员对该软件进行及时升级或者改进。
例如,通过分析用户在线量来确定该软件针对的人群,进而对该软件进行精确定位。例如,通过分析,该软件在工作时间的数据通信是最多的,说明该软件的使用群体主要是上班族。因此,可以在该软件中针对上班族群体投放适合的广告,培训课程等。例如,软件通常包括多个功能板块,例如,社交软件可以包括聊天通讯功能,咨询功能,理财功能等等,功能参数可以表示通讯功能场景中的数据请求,可以表示咨询功能场景的数据请求。通过功能场景参数提取的压力数据可以反映该软件中各个功能场景的用户使用量,进而通过用户量的数量确定该软件的重点功能,开发人员可以将该咨询功能作为重点开发对象,也可以通过该功能场景确定用户群体,更好的为用户群体服务。
在一些实施方式中,可以将时间参数和功能场景参数在当前的压力数据中获取与上述两个参数匹配压力数据,以对筛选到的压力数据进行分析。
上述压力测试方法,通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口,并利用目标测试接口对应用数据进行压力测试,该方法不完全依赖与第三方接口,当第三方接口不能正常使用时,还可以通过预设的接口配置开关选取真实的接口,不仅测试方便,还能确保测试正常进行。此外,通过预设的场景参数监测测试过程中产生的压力数据以得到软件在不同的场景中的压力测试结果,从而可以确定该软件使用的用户群体,便于开发人员后续对软件的维护和开发。
在实际应用中,在进行接口的压力测试时通常需要利用第三方接口进行测试,但是,当应用软件的流量较多时,会对接口的压力测试造成严重的干扰,为此本实施例中配置多个测试接口,包括:第三方接口和真实的系统接口,本发明实施例提供一种获取接口配置开关的状态信息的方法,如图2所示,图2为本发明实施例提供的获取接口配置开关的状态信息的方法的基本流程示意图。
具体地,如图2所示,步骤S1200之前还包括下述步骤:
S1210、获取第三方测试接口和系统测试接口的通断信息;
本实施例中,第三方测试接口与系统测试接口均与系统连接,因此,可以通过在系统中访问接口来获取接口的通断信息,例如可以通过内置的cookie文件来访问接口。在一些实施方式中,可以采用setheader中插入的fiddler或者Chrome中抓取cookie。
需要说明的是,由于第三方测试接口是专门配置来进行压力测试的,因此,当第三方测试接口为断开状态时,系统测试接口为连通状态,当第三方测试接口为连通状态时,系统测试接口为断开状态,如此,可以优先确保第三方测试接口为进行压力测试的首选接口。
S1220、按照通断信息更新接口配置开关的状态信息;
接口配置开关为预设于系统中用来表示多个测试接口通断状态的开关,例如,接口配置开关中可以配置有多个通断指示标记,分别用来表示多个测试接口的通断状态,接口配置开关还可以配置一个通断指示标记用来表示多个测试接口的通断状态。
在一些实施方式中,当第三方测试接口为断开状态时,将接口配置开关的通断指示标记更新为断开状态,当第三方测试接口为连接状态时,将接口配置开关的通断指示标记更新为连接状态。
本发明实施例提供一种按照通断信息更新接口配置开关的状态信息的方法,如图3所示,图3为本发明实施例提供的一种按照通道信息更新接口配置开关的状态信息的方法的基本流程示意图。
具体地,如图3所示,步骤S1220包括下述步骤:
S1221、判断第三方测试接口是否为连通状态;
本实施例中,可以通过接口配置开关中的通断指示标记来判断第三方测试接口是否连通。其中,配置开关配置的个数不作限定,例如,配置开关配置一个通断指示标记,当通断指示标记表示为连通状态时,可以表示第三方测试接口断开,系统测试接口连通,当配置开关配置多个通断指示标记时,当指示第三方测试接口的通断指示标记为连通状态时,表示该第三方测试接口连通。
S1222、当第三方测试接口为连通状态时,确定接口配置开关的状态信息表示为连通状态。
在一些实施方式中,当第三方测试接口为断开状态时,确定接口配置开关的状态信息表示为断开状态。
S1230、根据测试请求获取接口配置开关的状态信息,其中,测试请求用于请求对应用数据进行压力测试。
本实施例中,在获取接口配置开关的状态信息时,获取通断指示标记当前的指示状态,并按照预设的规则来确定接口配置开关的状态信息。例如,当通断指示标记表示为连通状态时,可以表示第三方测试接口断开,系统测试接口连通,也可以表示第三方测试接口连通,系统测试接口断开。预设的规则可以按照自定义在测试代码中进行设置。
本发明实施例中,通过上述方法判断第三方测试接口的通断状态,当第三方测试接口为连通时,确定接口配置开关为连通状态,系统测试接口为断开状态。
在实际应用中,接口配置开关的状态信息包括:连通状态和断开状态。本发明实施例提供一种通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口的方法,如图4所示,图4为本发明实施例提供一种通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口的方法的基本流程示意图。
具体地,如图4所示,步骤S1200包括下述步骤:
S1241、判断接口配置开关的状态信息表示的通断状态;
本实施例中判断接口配置开关的状态信息表示的通断状态可以参照以上实施例,在此不再赘述。
S1242、当接口配置开关的状态信息表示为连通状态时,确定第三方测试接口为目标测试接口;
目标测试接口为对所述应用数据进行压力测试的接口。本实施例中,在选取目标测试接口时,通过接口配置开关的状态来选取,即,当接口配置开关的状态信息表示为连通状态,则选取连通的测试接口作为目标测试接口。例如,当多个测试接口中包含多个第三方测试接口和系统测试接口时,配置开关配置多个通断指示标记,则选取通断指示标记表示为连通状态的第三方测试接口作为目标测试接口。
在一些实施方式中,当出现多个通断指示标记均指示连通状态时,即存在多个连通的测试接口时,判断多个测试接口中是否有第三方测试接口,当有第三方测试接口时,将第三方测试接口作为目标测试接口。由于第三方测试接口为专门用来进行压力测试的接口,而系统测试接口仅仅是作为辅助,避免出现第三方测试接口断开之后影响压力测试的进行。
S1243、当接口配置开关的状态表示断开时,确定系统测试接口为目标测试接口。
当第三方测试接口为目标测试接口时,本发明实施例提供一种通过目标测试接口对应用数据进行压力测试的方法,如图5所示,图5为本发明实施例提供一种通过目标测试接口对应用数据进行压力测试的方法的基本流程示意图。
具体地,如图5所示,步骤S1300包括下述步骤:
S1310、获取待测试的应用软件的测试数据;
本实施例中,通过将应用软件与运行系统进行连接,并打开应用软件来对应用软件进行运行,此时,即可获取到测试数据。其中,待测试的应用软件为银行系统中用于各种业务的软件。在一些实施方式中,应用软件还包括其它类型的软件,例如,购物软件、服务软件等等。其中,测试数据为待测试的描述文本和目标测试接口内容转换为预设格式的数据文本。
S1320、将测试数据填入到预设格式的数据文本中,得到待测试的应用数据;
预设格式为相对于用户来说易于进行数据配置的格式,本实施例中,将应用数据转换为该种数据接口可以简单的根据预设的数据格式进行测试内容的配置,方便进行压力测试。
需要说明的是,预设格式可以是json格式,可扩展标记语言格式。需要说明的是,json是一种轻量级数据交换语言以文字为基础,易于让人阅读,同时可以方便机器进行解析和生成,json以JavaScript中的对象和数组进行结合转换为字符串,并在函数中进行传递,该语言完全独立于程序语言,并使用了C语言的习惯,使其成为理想的数据交换语言。
S1330、通过第三方测试接口调用预设的压力测试指标对待测试的应用数据进行压力测试。
压力测试指标表示有进行压力测试时所使用到的指标,例如,QPS、测试进程数量,测试时间等。本实施例中,调用压力测试指标之后,运行该待测试的软件,并对其中的运行数据进行采集,以得到上述压力测试指标。
在实际应用中,为了分析不同场景下软件的压力确定压力最大的时间段或者功能场景,所述场景参数为时间参数和功能场景参数,本发明实施例提供一种按照预先设置的场景参数监测测试过程中产生的压力数据的方法,如图6所示,图6为本发明实施例提供的一种按照预先设置的场景参数监测测试过程中产生的压力数据的方法的基本流程示意图。
具体地如图6所示,步骤S1300包括下述步骤:
S1301、从压力数据文件中实时获取新增的压力数据;
本实施例中,随着该软件用户量的增加,数据请求量的增多,会生成大量的压力数据。在实际应用中,由于用户习惯、该软件涉及的应用领域,以及该软件受欢迎程度的影响,该软件通常会存在数据压力最大的时间段或者场景。因此为了分析该软件的各类功能场景中受欢迎的程度,以及每个功能场景数据压力最大的时间段,以便使维护人员对该软件进行及时升级或者改进,本发明实施例中,可以从压力数据文件中实时获取新增的压力数据。其中,本发明实施例也可以按照预设的时间段来获取,例如,每隔1分钟或者30秒。
压力数据文件为本发明实施例中第三方测试接口或者系统测试接口中预设的文件,用来记录压力数据,其中,压力数据可以为获取到的数据请求通信次数等。
S1302、将新增的压力数据与历史性能数据合并得到当前的压力数据;
本实施例中,为了确保获取到的压力数据的完整和准确,可以实时或者按照预设的时间间隔将新增的压力数据与历史性能数据进行合并,即将新增的压力数据添加到压力数据文件中,得到当前完整的压力数据,并以此作为压力数据分析的基础数据。
S1303、按照时间参数从当前的压力数据中提取时间参数表征的时间段内增加的压力数据以确定软件在各个时间段内的压力;
时间参数用来表示需要分析提取压力数据的时间段。通过设置时间参数可以分析该软件在其涉及的应用领域中被使用的次数,进而对该软件进行升级或更新。例如,对于社交软件可以设置多个时间参数,工作时间或休息时间,工作时间可以选取8:00-12:00,14:00-18:00,休息时间可以选取12:00-14:00,18:00-21:00,22:00-0:00等多个时间段,并提取各个时间段内的压力数据,通过分析压力数据,例如通过分析用户在线量来确定该软件针对的人群,进而对该软件进行精确定位。例如,通过分析,该软件在工作时间的数据通信是最多的,说明该软件的使用群体主要是上班族。因此,可以在该软件中针对上班族群体投放适合的广告,培训课程等。
S1304、从当前的压力数据中获取与功能场景参数相匹配的压力数据以确定软件各个功能场景的压力。
一般情况下,一个软件通常包括多个功能板块,例如,社交软件可以包括聊天通讯功能,咨询功能,理财功能等等。功能场景参数为用于表示软件各个功能场景的参数,即功能参数可以表示通讯功能场景中的数据请求,可以表示咨询功能场景的数据请求。本发明实施例通过功能场景参数在当前的压力数据中提取与该功能场景参数匹配的压力数据,即该压力数据可以反映该软件中各个功能场景的用户使用量,进而通过用户量的数量确定该软件的重点功能。例如,该社交软件中咨询功能场景的用户量最多,开发人员可以将该咨询功能作为重点开发对象,也可以通过该功能场景确定用户群体,更好的为用户群体服务。
在一些实施方式中,可以将时间参数和功能场景参数进行捆绑,在当前的压力数据中获取与上述两个参数匹配压力数据,以对筛选到的压力数据进行分析,如此可以得到每个功能场景中用户在线量最多的时间段。
为解决上述技术问题本发明实施例还提供一种压力测试装置。具体请参阅图7,图7为本实施例压力测试装置基本结构框图。
如图7所示,一种压力测试装置,包括:获取模块2100、处理模块2200和执行模块2300。其中,获取模块2100,用于获取待测试的应用数据;处理模块2200,用于通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,其中,所述接口配置开关的状态信息用于表示所述测试接口的通断状态;执行模块2300,用于通过所述目标测试接口对所述应用数据进行压力测试。
上述接口配置装置,通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口,并利用目标测试接口对应用数据进行压力测试,该方法不完全依赖与第三方接口,当第三方接口不能正常使用时,还可以通过预设的接口配置开关选取真实的接口,不仅测试方便,还能确保测试正常进行。此外,通过预设的场景参数监测测试过程中产生的压力数据以得到软件在不同的场景中的压力测试结果,从而可以确定该软件使用的用户群体,便于开发人员后续对软件的维护和开发。
在一些实施方式中,所述测试接口包括:第三方测试接口和系统测试接口;还包括:第一获取子模块,用于获取所述第三方测试接口和所述系统测试接口的通断信息;第一处理子模块,用于按照所述通断信息更新所述接口配置开关的状态信息;第一执行子模块,用于根据测试请求获取所述接口配置开关的状态信息,其中,所述测试请求用于请求对所述应用数据进行压力测试。
在一些实施方式中,所述第一处理子模块,包括:第二处理子模块,用于判断所述第三方测试接口是否为连通状态;第二执行子模块,用于当所述第三方测试接口为连通状态时,确定所述接口配置开关的状态信息表示为连通状态。
在一些实施方式中,所述接口配置开关的状态信息包括:连通状态和断开状态;所述处理模块包括:第三处理子模块,用于判断所述接口配置开关的状态信息表示的通断状态;第三执行子模块,用于当所述接口配置开关的状态信息表示为连通状态时,确定所述第三方测试接口为所述目标测试接口;第四执行子模块,用于当所述接口配置开关的状态表示断开时,确定所述系统测试接口为所述目标测试接口。
在一些实施方式中,所述第三方测试接口为所述目标测试接口时,所述通执行模块包括:第一获取子模块,用于获取待测试的应用软件的测试数据;第四处理子模块,用于将所述测试数据填入到预设格式的数据文本中,得到待测试的应用数据;第五执行子模块,用于通过所述第三方测试接口调用预设的压力测试指标对所述待测试的应用数据进行压力测试。
在一些实施方式中,所述预设格式为json格式。
为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图8,图8为本实施例计算机设备基本结构框图。
如图7所示,计算机设备的内部结构示意图。如图7所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种压力测试方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种压力测试方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图7中获取模块2100、处理模块2200和执行模块2300的具体内容,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有压力测试方法中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
计算机设备通过预设的接口配置开关的状态信息从多个测试接口中选取对应用数据进行压力测试的目标测试接口,并利用目标测试接口对应用数据进行压力测试,该方法不完全依赖与第三方接口,当第三方接口不能正常使用时,还可以通过预设的接口配置开关选取真实的接口,不仅测试方便,还能确保测试正常进行。此外,通过预设的场景参数监测测试过程中产生的压力数据以得到软件在不同的场景中的压力测试结果,从而可以确定该软件使用的用户群体,便于开发人员后续对软件的维护和开发。
本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述压力测试方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种压力测试方法,其特征在于,包括下述步骤:
获取待测试软件的应用数据;
通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,其中,所述接口配置开关的状态信息用于表示所述测试接口的通断状态;
通过所述目标测试接口对所述应用数据进行压力测试,并按照预先设置的场景参数监测测试过程中产生的压力数据以得到所述软件在不同的场景中的压力测试结果。
2.根据权利要求1所述的压力测试方法,其特征在于,所述测试接口包括:第三方测试接口和系统测试接口;所述通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口之前,包括:
获取所述第三方测试接口和所述系统测试接口的通断信息;
按照所述通断信息更新所述接口配置开关的状态信息;
根据测试请求获取所述接口配置开关的状态信息,其中,所述测试请求用于请求对所述应用数据进行压力测试。
3.根据权利要求2所述的压力测试方法,其特征在于,所述按照所述通断信息更新所述接口配置开关的状态信息,包括:
判断所述第三方测试接口是否为连通状态;
当所述第三方测试接口为连通状态时,确定所述接口配置开关的状态信息表示为连通状态。
4.根据权利要求2所述的压力测试方法,其特征在于,所述接口配置开关的状态信息包括:连通和断开;所述通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,包括:
判断所述接口配置开关的状态信息表示的通断状态;
当所述接口配置开关的状态信息表示为连通状态时,确定所述第三方测试接口为所述目标测试接口;
当所述接口配置开关的状态表示断开时,确定所述系统测试接口为所述目标测试接口。
5.根据权利要求2至4任一项所述的压力测试方法,其特征在于,所述第三方测试接口为所述目标测试接口时,所述通过所述目标测试接口对所述应用数据进行压力测试,包括:
获取待测试的应用软件的测试数据;
将所述测试数据填入到预设格式的数据文本中,得到待测试的应用数据;
通过所述第三方测试接口调用预设的压力测试指标对所述待测试的应用数据进行压力测试。
6.根据权利要求1至5任一项所述的压力测试方法,其特征在于,所述场景参数为时间参数,所述按照预先设置的场景参数监测测试过程中产生的压力数据包括:
从所述压力数据文件中实时获取新增的压力数据;
将所述新增的压力数据与历史性能数据合并得到当前的压力数据;
按照所述时间参数从所述当前的压力数据中提取所述时间参数表征的时间段内增加的压力数据以确定所述软件在各个时间段内的压力。
7.根据权利要求6所述的压力测试方法,其特征在于,所述场景参数为功能场景参数,所述按照预先设置的压力参数监测测试过程中产生的压力数据包括:
从所述当前的压力数据中获取与所述功能场景参数相匹配的压力数据以确定所述软件各个功能场景的压力。
8.一种压力测试装置,其特征在于,包括:
获取模块,用于获取待测试软件的应用数据;
处理模块,用于通过预设的接口配置开关的状态信息从多个测试接口中选取对所述应用数据进行压力测试的目标测试接口,其中,所述接口配置开关的状态信息用于表示所述测试接口的通断状态;
执行模块,用于通过所述目标测试接口对所述应用数据进行压力测试,并按照预先设置的场景参数监测测试过程中产生的压力数据以得到所述软件在不同的场景中的压力测试结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述压力测试方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述压力测试方法的步骤。
CN201910532656.0A 2019-06-19 2019-06-19 压力测试方法、装置、计算机设备及存储介质 Pending CN110377503A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910532656.0A CN110377503A (zh) 2019-06-19 2019-06-19 压力测试方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910532656.0A CN110377503A (zh) 2019-06-19 2019-06-19 压力测试方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN110377503A true CN110377503A (zh) 2019-10-25

Family

ID=68248990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910532656.0A Pending CN110377503A (zh) 2019-06-19 2019-06-19 压力测试方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110377503A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143209A (zh) * 2019-12-23 2020-05-12 五八有限公司 分层压力测试方法、装置、电子设备及存储介质
CN111209201A (zh) * 2020-01-03 2020-05-29 恩亿科(北京)数据科技有限公司 一种广告投放测试方法及装置
CN111949537A (zh) * 2020-08-14 2020-11-17 北京锐安科技有限公司 接口的测试方法、装置、设备和介质
CN114003482A (zh) * 2020-07-28 2022-02-01 苏州沈苏自动化技术开发有限公司 一种无编码型软件系统压力测试方法及系统
CN115102879A (zh) * 2022-07-21 2022-09-23 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质
CN115952100A (zh) * 2023-01-10 2023-04-11 北京百度网讯科技有限公司 接口测试方法、装置、系统、电子设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978261A (zh) * 2014-04-03 2015-10-14 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统
CN106168970A (zh) * 2016-07-08 2016-11-30 北京光年无限科技有限公司 面向问答机器人的功能模块检测方法及系统
CN107368410A (zh) * 2017-06-14 2017-11-21 腾讯科技(深圳)有限公司 游戏引擎的性能测试方法和装置、存储介质及电子装置
CN107436844A (zh) * 2017-07-07 2017-12-05 北京奇安信科技有限公司 一种接口用例合集的生成方法及装置
CN108446210A (zh) * 2018-02-07 2018-08-24 平安科技(深圳)有限公司 系统性能的度量方法、存储介质和服务器
CN109614310A (zh) * 2018-10-22 2019-04-12 中国平安财产保险股份有限公司 测试接口的管理方法、装置、计算机设备以及存储介质
CN109901831A (zh) * 2019-01-22 2019-06-18 成都随安保网络技术有限公司 软件的多平台兼容运行方法及兼容运行装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978261A (zh) * 2014-04-03 2015-10-14 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统
CN106168970A (zh) * 2016-07-08 2016-11-30 北京光年无限科技有限公司 面向问答机器人的功能模块检测方法及系统
CN107368410A (zh) * 2017-06-14 2017-11-21 腾讯科技(深圳)有限公司 游戏引擎的性能测试方法和装置、存储介质及电子装置
CN107436844A (zh) * 2017-07-07 2017-12-05 北京奇安信科技有限公司 一种接口用例合集的生成方法及装置
CN108446210A (zh) * 2018-02-07 2018-08-24 平安科技(深圳)有限公司 系统性能的度量方法、存储介质和服务器
CN109614310A (zh) * 2018-10-22 2019-04-12 中国平安财产保险股份有限公司 测试接口的管理方法、装置、计算机设备以及存储介质
CN109901831A (zh) * 2019-01-22 2019-06-18 成都随安保网络技术有限公司 软件的多平台兼容运行方法及兼容运行装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143209A (zh) * 2019-12-23 2020-05-12 五八有限公司 分层压力测试方法、装置、电子设备及存储介质
CN111143209B (zh) * 2019-12-23 2023-10-17 五八有限公司 分层压力测试方法、装置、电子设备及存储介质
CN111209201A (zh) * 2020-01-03 2020-05-29 恩亿科(北京)数据科技有限公司 一种广告投放测试方法及装置
CN111209201B (zh) * 2020-01-03 2023-08-25 恩亿科(北京)数据科技有限公司 一种广告投放测试方法及装置
CN114003482A (zh) * 2020-07-28 2022-02-01 苏州沈苏自动化技术开发有限公司 一种无编码型软件系统压力测试方法及系统
CN114003482B (zh) * 2020-07-28 2024-02-13 沈苏科技(苏州)股份有限公司 一种无编码型软件系统压力测试方法及系统
CN111949537A (zh) * 2020-08-14 2020-11-17 北京锐安科技有限公司 接口的测试方法、装置、设备和介质
CN115102879A (zh) * 2022-07-21 2022-09-23 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质
CN115102879B (zh) * 2022-07-21 2023-11-21 身边云(北京)信息服务有限公司 一种共享服务平台的测试方法、电子设备及存储介质
CN115952100A (zh) * 2023-01-10 2023-04-11 北京百度网讯科技有限公司 接口测试方法、装置、系统、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN110377503A (zh) 压力测试方法、装置、计算机设备及存储介质
US11580179B2 (en) Method and system for service agent assistance of article recommendations to a customer in an app session
US9161238B2 (en) Mobile device monitoring and testing
US10146560B2 (en) Method and apparatus for automatic processing of service requests on an electronic device
CN109656806A (zh) 一种接口数据的回放测试方法及装置
CN105183630B (zh) 应用程序测试方法及装置
CN106357719A (zh) 用于网络应用的基于页面的事件相关
CN109800101A (zh) 小程序异常情况的上报方法、装置、终端设备和存储介质
CN108345543A (zh) 一种数据处理方法、装置、设备及存储介质
CN105867714A (zh) 应用程序下载方法、装置及系统
CN107608801A (zh) 原生页面与html5页面通信方法、装置、介质和设备
CN108960587A (zh) 置业顾问服务质量的评价方法、装置及可读存储介质
CN108491188A (zh) 语音对话产品的开发资源的管理方法及装置
US20220171011A1 (en) Positioning method and device, server, storage medium and terminal
CN107818046A (zh) 应用程序页面的a/b测试方法及装置
CN107894891A (zh) 程序打包方法及装置与程序安装方法及装置
CN107515903A (zh) 一种加载展示情景网页的方法和装置
CN109960450A (zh) 应用的启动方法和装置
CN109815079A (zh) 问题反馈方法、装置、计算机设备及存储介质
CN109828920A (zh) 一种日志分析方法、装置及计算机可读存储介质
CN111385152B (zh) 一种基于vr设备的硬件管理和内容分发系统
KR20010039743A (ko) 흐름을 디스플레이들 내로 분할하기 위한 방법 및 장치
CN110069186B (zh) 显示应用的操作界面的方法和设备
CN107038201A (zh) 个人主页的显示方法、装置、终端及服务器
CN109698774A (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