CN110175118A - 软件性能测试方法和装置 - Google Patents

软件性能测试方法和装置 Download PDF

Info

Publication number
CN110175118A
CN110175118A CN201910380535.9A CN201910380535A CN110175118A CN 110175118 A CN110175118 A CN 110175118A CN 201910380535 A CN201910380535 A CN 201910380535A CN 110175118 A CN110175118 A CN 110175118A
Authority
CN
China
Prior art keywords
data
test
software
performance
http
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
CN201910380535.9A
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.)
Chongqing Bajie Electronic Commerce Co Ltd
Original Assignee
Chongqing Bajie Electronic Commerce 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 Chongqing Bajie Electronic Commerce Co Ltd filed Critical Chongqing Bajie Electronic Commerce Co Ltd
Priority to CN201910380535.9A priority Critical patent/CN110175118A/zh
Publication of CN110175118A publication Critical patent/CN110175118A/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/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本申请公开了一种软件性能测试方法和装置,属于软件测试领域,用于软件性能测试,其包括生成单元和执行单元,生成单元通过设置在Nginx环境下的goreplay流量复制工具监听其80端口来实现数据获取并存储至ES中,所述的执行单元在执行性能测试前需要根据测试需求对ES中的数据进行包括cookie数据、时间戳在内的数据修改,并将修改后的数据进行回放以测试软件性能,软件性能测试完成后,执行单元根据测试的结果生成测试报告。在上述技术方案的基础上,本申请能够解决现有测试方法无法通过线上流量来进行真是模拟用户行为、无法有效保证系统运行稳定性的问题。

Description

软件性能测试方法和装置
技术领域
本申请属于软件测试领域,具体地说,尤其涉及一种软件性能测试方法和装置。
背景技术
在软件开发过程中,需要对软件的性能进行测试,而软件性能的测试多采用不同的软件测试方法来进行。传统的性能测试方法,主要是通过压测工具编写脚本后执行测试,并且根据测试过程来搜集整理结果。但是上述的软件压力测试过程不仅耗费大量的人力物力,而且需要在线上获取真是的流量来模拟用户的行为,测试的方法影响着测试结果的准确性和测试过程的稳定性。
发明内容
本申请的目的在于提供一种软件性能测试方法和装置,其主要解决现有测试方法无法通过线上流量来真实模拟用户行为、无法有效保证系统运行稳定性的问题。
为达到上述目的,本申请是通过以下技术方案实现的:
一种软件性能测试方法,该方法包括以下步骤:
S1、在对待测软件进行性能测试之前,在线上部署goreplay流量复制工具;
S2、利用线上部署的goreplay流量复制工具对线上的HTTP流量进行复制;
S3、将复制的HTTP流量保存于ES上;
S4、对存储在ES上的复制的HTTP流量数据进行修改,修改以自然日为单位进行修改;
S5、对修改后的HTTP流量进行回放,对待测软件进行测试;
S6、统计软件在测试过程中的性能指标。
进一步地讲,本申请中所述的线上部署goreplay流量复制工具的环境为Nginx。
进一步地讲,本申请中所述的goreplay流量复制工具是通过监听Nginx的80端口将产生的数据存储至ES。
进一步地讲,本申请中所述的步骤S4中对复制的HTTP流量数据进行修改中的数据包括请求对应的cookie数据、特定参数。
进一步地讲,本申请中所述的特定参数包括时间戳。
进一步地讲,本申请中所述的步骤S5中对修改后的HTTP流量进行回放,对待测软件进行测试,其中测试过程包括所述测试数据配置待测软件,对完成配置的待测软件进行所述性能测试,并且根据性能测试的结果生成测试报告。
进一步地讲,本申请中还包括步骤S7、根据统计的软件在测试过程中的性能指标判断是否需要调整修改后的HTTP流量数据。
进一步地讲,本申请中所述的根据统计的软件在测试过程中的性能指标判断是否需要调整修改后的HTTP流量数据,如果判断结果为是,获取根据所述性能指标确定需要调整的HTTP流量数据,调整完成后,采用重新生成的HTTP流量数据进行再次回放,得到重新统计后的性能指标。
进一步地讲,本申请中所述的测试数据至少包括数据表、参数表、配置表或者其它预设格式文件之一。
一种用于软件性能测试的装置,包括用于生成测试数据的生成单元、用于执行测试数据对所述待测软件执行所述软件性能测试的执行单元,其中所述的生成单元用于对待测软件进行测试前采集所需要的测试数据并对测试数据进行存储与修改。
进一步地讲,本申请中所述的生成单元包括数据获取单元,数据获取单元采用Nginx环境下的goreplay流量复制工具对HTTP流量数据进行获取并存储至ES中。
与现有技术相比,本申请的有益效果是:
本申请能够通过对软件测试方法进行改进,大大减少了软件性能测试中的人力和时间的投入,而且该测试方法和装置还能够模拟线上流量,针对待测软件实现针对性的数据修改,从而更加精确的评估软件性能的稳定性。
附图说明
图1是本申请中软件测试方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
实施例1:一种软件性能测试方法,该方法包括以下步骤
S1、对待测软件进行性能测试之前,需要通过goreplay流量复制工具抓取线上的数据;
S2、通过goreplay流量复制工具对线上的HTTP流量数据进行抓取,HTTP流量数据至少包括时间戳、cookie;
S3、将上述的数据存储至ES服务器上;
S4、对存储在ES上的HTTP数据进行修改,修改以存储的日期为单位进行,修改的数据包括cookie数据以及以时间戳为代表的特定参数;
S5、使用修改后的HTTP数据通过回放的方式对待测软件进行压力测试;
S6、统计软件在测试过程中所产生的性能数据,并且根据上述数据生成性能指标。
实施例2:一种软件性能测试方法,其中所述的goreplay流量复制工具是运行在Nginx环境中的并且通过监听该运行环境下的80端口来实现数据的获取与复制,且存储于ES上。在对HTTP流量进行回访时,对待测软件进行测试,测试过程包括采用测试数据配置待测软件、对完成配置的软件进行所述的压力测试,并且对测试的结果进行统计生成统计报告。在生成统计报告后判断是否需要修改数据进行重新的性能测试,如果判断需要修改数据,则对存储在ES中的数据进行针对性修改,并且将修改后的数据重新进行回放以再次获得待测软件的性能参数,统计并生成性能报告。其余部分的测试流程和测试方法与前述实施例中所述的测试性能和方法相同。
实施例3:一种用于测试软件性能的装置,该装置包括生成单元和执行单元,所述的生成单元用于生成测试用的数据和对数据进行复制、存储。所述的执行单元用于通过上述复制存储的数据对待测软件进行性能测试以获得性能参数、生成性能报告。所述的生成单元至少包括Nginx环境下布置的goreplay流量复制工具以及与上述工具配合的存储数据的ES。在执行单元进行执行性能测试前,需要对存储在ES上的数据进行针对性的修改,包括对复制的流量数据的时间戳修改、cookie数据的修改。该用于软件性能的装置其所采用的测试方法与前述实施例中所述的软件性能的测试方法相同。
在上述技术方案的基础上,本申请继续对其中涉及到的技术特征及该技术特征在本申请中起到的功能、作用进行详细的描述,以帮助本领域的技术人员更好、更充分的理解本申请所述的技术方案。
本申请在对待测软件进行性能测试前,需要对测试用的数据进行准备,该准备工作是通过设置在Nginx环境下的goreplay流量复制工具来实现的。而本申请中所述的goreplay流量复制工具,其工作过程是通过监听Nginx环境下的80端口数据来获取所需的测试数据的。goreplay流量复制工具将上述获取的数据,包括但不限于请求对应的cookie数据、包含时间戳在内的特定参数等,这些数据获取后将以可修改的格式存储至ES中,待后续的测试过程使用。
在执行后续的测试前,操作人员需要对ES中存储的格式数据进行修改,上述格式数据可以是数据表、参数表、配置表或其它预设格式之一,数据表、参数表、配置表等是“表”类文件,“表”类文件可以是预设的数据库表、excel表等,其它预设格式的文件可以是文本文件、xml文件或其它特定格式的文件。上述文件的名字可以是通过goreplay流量复制工具复制并存储至ES时自动生成的也可是通过人为设定的条件而生成的。生成上述文件的同时,测试数据可以包括上述文件的属性。
在分析测试结果后,该方法还可以包括判断是否需要对测试数据进行调整,如果判断结果为是,则需要根据测试结果对存储在ES中的数据进行针对性的修改,修正和调整相应的日期下的参数,包括cookie数据、时间戳等。利用通过调整后的测试数据重新对待测软件进行性能测试,并且重新得到该性能测试下的性能数据,生成性能报告。
本申请中所述的用于软件性能测试的装置,其包括生成单元和执行单元,上述生成单元和执行单元均需要设置在含有处理器和存储器的载体上,所述的存储器可以包括RAM和/或ROM,并且通过处理器来实现对存储在RAM/ROM上的数据进行调取与执行。生成单元是通过设置在Nginx环境下监听80端口的goreplay流量复制工具来实现的,该工具能够获取线上流量数据并且将上述数据复制存储于ES上,执行单元能够调取与修改ES上存储的数据并且将上述数据用于对待测软件的性能测试,以获得所需的性能测试报告。
需要说明的是,上述对于装置的实施例描述仅是示例性的,所述单元的划分仅为一种逻辑功能的划分,但是在实际使用的时候可以通过将多个单元结合集成至另一个系统中,也可以将上述逻辑划分单元中的一些组件进行重新的调整或组合,这些调整与组合之间是通过简介耦合、直接耦合、通讯接口协议连接、电性连接等形式来实现的。当然,上述逻辑功能的划分也可以通过架设于硬件上的软件功能单元的形式来实现。
以上实施例及对实施例的解释说明仅为对本申请的解释说明,对于本领域的技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰应当视为是本申请保护范围的延展,理应落于本申请的保护范围之内。

Claims (10)

1.一种软件性能测试方法,其特征在于,该方法包括以下步骤:
S1、在对待测软件进行性能测试之前,在线上部署goreplay流量复制工具;
S2、利用线上部署的goreplay流量复制工具对线上的HTTP流量进行复制;
S3、将复制的HTTP流量保存于ES上;
S4、对存储在ES上的复制的HTTP流量数据进行修改,修改以自然日为单位进行修改;
S5、对修改后的HTTP流量进行回放,对待测软件进行测试;
S6、统计软件在测试过程中的性能指标。
2.根据权利要求1所述的软件性能测试方法,其特征在于:所述线上部署goreplay流量复制工具的环境为Nginx。
3.根据权利要求2所述的软件性能测试方法,其特征在于:所述goreplay流量复制工具是通过监听Nginx的80端口将产生的数据存储至ES。
4.根据权利要求1所述的软件性能测试方法,其特征在于:所述步骤S4中对复制的HTTP流量数据进行修改中的数据包括请求对应的cookie数据、特定参数。
5.根据权利要求4所述的软件性能测试方法,其特征在于:所述特定参数包括时间戳。
6.根据权利要求1所述的软件性能测试方法,其特征在于:所述步骤S5中对修改后的HTTP流量进行回放,对待测软件进行测试,其中测试过程包括所述测试数据配置待测软件,对完成配置的待测软件进行所述性能测试,并且根据性能测试的结果生成测试报告。
7.根据权利要求1所述的软件性能测试方法,其特征在于:还包括步骤S7、根据统计的软件在测试过程中的性能指标判断是否需要调整修改后的HTTP流量数据。
8.根据权利要求6所述的软件性能测试方法,其特征在于:所述根据统计的软件在测试过程中的性能指标判断是否需要调整修改后的HTTP流量数据,如果判断结果为是,获取根据所述性能指标确定需要调整的HTTP流量数据,调整完成后,采用重新生成的HTTP流量数据进行再次回放,得到重新统计后的性能指标。
9.根据权利要求1所述的软件性能测试方法,其特征在于:所述测试数据至少包括数据表、参数表、配置表或者其它预设格式文件之一。
10.一种用于软件性能测试的装置,其特征在于:包括用于生成测试数据的生成单元、用于执行测试数据对所述待测软件执行所述软件性能测试的执行单元,其中所述的生成单元用于对待测软件进行测试前采集所需要的测试数据并对测试数据进行存储与修改;所述生成单元包括数据获取单元,数据获取单元采用Nginx环境下的goreplay流量复制工具对HTTP流量数据进行获取并存储至ES中。
CN201910380535.9A 2019-05-08 2019-05-08 软件性能测试方法和装置 Pending CN110175118A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910380535.9A CN110175118A (zh) 2019-05-08 2019-05-08 软件性能测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910380535.9A CN110175118A (zh) 2019-05-08 2019-05-08 软件性能测试方法和装置

Publications (1)

Publication Number Publication Date
CN110175118A true CN110175118A (zh) 2019-08-27

Family

ID=67690758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910380535.9A Pending CN110175118A (zh) 2019-05-08 2019-05-08 软件性能测试方法和装置

Country Status (1)

Country Link
CN (1) CN110175118A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110752968A (zh) * 2019-10-16 2020-02-04 北京百度网讯科技有限公司 性能基准测试方法、装置、电子设备及存储介质
CN113094272A (zh) * 2021-04-14 2021-07-09 北京京东振世信息技术有限公司 应用测试方法、装置、电子设备和计算机可读介质
CN113220579A (zh) * 2021-05-18 2021-08-06 京东科技控股股份有限公司 存量测试数据的处理方法、装置、设备及存储介质
CN113220550A (zh) * 2021-05-08 2021-08-06 浪潮电子信息产业股份有限公司 一种流版式软件的性能测试方法和装置
CN117155832A (zh) * 2023-08-30 2023-12-01 广州工程技术职业学院 用于udp传输协议的多端无侵入录制回放测试方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302731A (zh) * 2015-12-10 2016-02-03 北京京东尚科信息技术有限公司 网站架构升级测试系统和方法
CN105429818A (zh) * 2015-10-30 2016-03-23 努比亚技术有限公司 一种实现负载测试的方法和系统
WO2017058738A1 (en) * 2015-09-28 2017-04-06 Schlumberger Technology Corporation Network based simulation workflows
CN108519948A (zh) * 2018-04-04 2018-09-11 上海携程商务有限公司 日志驱动的接口自动化测试方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017058738A1 (en) * 2015-09-28 2017-04-06 Schlumberger Technology Corporation Network based simulation workflows
CN105429818A (zh) * 2015-10-30 2016-03-23 努比亚技术有限公司 一种实现负载测试的方法和系统
CN105302731A (zh) * 2015-12-10 2016-02-03 北京京东尚科信息技术有限公司 网站架构升级测试系统和方法
CN108519948A (zh) * 2018-04-04 2018-09-11 上海携程商务有限公司 日志驱动的接口自动化测试方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110752968A (zh) * 2019-10-16 2020-02-04 北京百度网讯科技有限公司 性能基准测试方法、装置、电子设备及存储介质
CN113094272A (zh) * 2021-04-14 2021-07-09 北京京东振世信息技术有限公司 应用测试方法、装置、电子设备和计算机可读介质
CN113094272B (zh) * 2021-04-14 2023-11-03 北京京东振世信息技术有限公司 应用测试方法、装置、电子设备和计算机可读介质
CN113220550A (zh) * 2021-05-08 2021-08-06 浪潮电子信息产业股份有限公司 一种流版式软件的性能测试方法和装置
CN113220550B (zh) * 2021-05-08 2023-01-17 浪潮电子信息产业股份有限公司 一种流版式软件的性能测试方法和装置
CN113220579A (zh) * 2021-05-18 2021-08-06 京东科技控股股份有限公司 存量测试数据的处理方法、装置、设备及存储介质
CN117155832A (zh) * 2023-08-30 2023-12-01 广州工程技术职业学院 用于udp传输协议的多端无侵入录制回放测试方法及系统

Similar Documents

Publication Publication Date Title
CN110175118A (zh) 软件性能测试方法和装置
CN103729361A (zh) 一种数据库性能测试方法及装置
CN106327055B (zh) 一种基于大数据技术的电力费控方法及系统
CN110502426A (zh) 分布式数据处理系统的测试方法和装置
CN101576844A (zh) 软件系统性能测试方法和系统
CN106021111A (zh) 接口测试方法及系统
CN107733735B (zh) 一种植入于压测宝中的脚本录制系统及方法
CN105721187A (zh) 一种业务故障诊断方法及装置
CN111147322A (zh) 5g核心网微服务架构的测试系统及方法
CN110380922A (zh) 交易系统的全链路压力测试方法及存储介质
CN108509326A (zh) 一种基于nginx日志的服务状态统计方法及系统
CN105141441A (zh) 一种ip网络图形化配置的方法
CN106776102A (zh) 一种应用系统健康检查方法及系统
US7617313B1 (en) Metric transport and database load
CN116962471A (zh) 一种基于物联网的医疗设备管理系统
WO2020238965A1 (zh) 生产环境的性能评估方法、装置及存储介质
CN107634878B (zh) 一种性能测试管理平台
Bertolino et al. TAXI--a tool for XML-based testing
CN109101403A (zh) 一种对移动端产生sql进行实时监控的方法及系统
RU2532714C2 (ru) Способ получения данных при оценке ресурсов сети и устройство для осуществления способа
CN112947939B (zh) 一种数据上报方法、装置、设备及存储介质
CN111382071A (zh) 一种用户行为数据测试方法及系统
CN116319081A (zh) 一种基于大数据云平台的电子签章安全管理系统
CN115496358A (zh) 电能表在线误差远程估计测试数据生成方法、装置和设备
CN115269415A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190827

RJ01 Rejection of invention patent application after publication