CN110865938A - 一种软件性能测试方法 - Google Patents
一种软件性能测试方法 Download PDFInfo
- Publication number
- CN110865938A CN110865938A CN201911085437.9A CN201911085437A CN110865938A CN 110865938 A CN110865938 A CN 110865938A CN 201911085437 A CN201911085437 A CN 201911085437A CN 110865938 A CN110865938 A CN 110865938A
- Authority
- CN
- China
- Prior art keywords
- software
- tcpcopy
- tested
- copied
- testing method
- 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/3668—Software testing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于计算机软件技术领域,特别涉及一种软件性能测试方法,包括如下步骤:S1、在对待测软件进行性能测试之前,在线上部署TCPCopy;S2、利用线上部署的TCPCopy对线上的HTTP流量进行复制;S3、将复制的HTTP流量保存于ES上;S4、对存储在ES上的复制的HTTP流量数据进行修改,修改以自然日为单位进行修改;S5、对修改后的HTTP流量进行回放,对待测软件进行测试;S6、统计软件在测试过程中的性能指标,通过对软件测试方法进行改进,大大减少了软件性能测试中的人力和时间的投入,而且该测试方法和装置还能够模拟线上流量,针对待测软件实现针对性的数据修改,从而更加精确的评估软件性能的稳定性。
Description
技术领域
本发明属于计算机软件技术领域,特别涉及一种软件性能测试方法。
背景技术
在软件开发过程中,需要对软件的性能进行测试,而软件性能的测试多采用不同的软件测试方法来进行。传统的性能测试方法,主要是通过压测工具编写脚本后执行测试,并且根据测试过程来搜集整理结果。但是上述的软件压力测试过程不仅耗费大量的人力物力,而且需要在线上获取真是的流量来模拟用户的行为,测试的方法影响着测试结果的准确性和测试过程的稳定性。
发明内容
本发明为了解决上述问题,提供一种软件性能测试方法,通过对软件测试方法进行改进,大大减少了软件性能测试中的人力和时间的投入,而且该测试方法和装置还能够模拟线上流量,针对待测软件实现针对性的数据修改,从而更加精确的评估软件性能的稳定性。
本发明采用以下技术方案来实现:
一种软件性能测试方法,包括如下步骤:
S1、在对待测软件进行性能测试之前,在线上部署TCPCopy;
S2、利用线上部署的TCPCopy对线上的HTTP流量进行复制;
S3、将复制的HTTP流量保存于ES上;
S4、对存储在ES上的复制的HTTP流量数据进行修改,修改以自然日为单位进行修改;
S5、对修改后的HTTP流量进行回放,对待测软件进行测试;
S6、统计软件在测试过程中的性能指标。
优选的,步骤S2中,所述复制的操作流程为,一个访问到达线上前端机;socket数据包在ip层被拷贝了一份传给tcpcopy进程;tcpcopy修改包的目的及源地址,发给目标测试机;拷贝的包到达目标测试机;目标测试机的nginx处理访问,并返回结果;返回结果在ip层被截获、丢弃,由intercpet进程拷贝返回结果的ip header并返回;intercept会通过tcpcopy与intercept之间的套接字来发送tcpcopy重放报文中的IP+TCP数据给tcpcopy,可以参考intercept中的函数tc_socket_sndip header被发送给线上前端机的tcpcopy进程。
优选的,所述步骤S4中对复制的HTTP流量数据进行修改中的数据包括请求对应的cookie数据、特定参数。
优选的,所述特定参数包括时间戳。
优选的,所述步骤S5中对修改后的HTTP流量进行回放,对待测软件进行测试,其中测试过程包括所述测试数据配置待测软件,对完成配置的待测软件进行所述性能测试,并且根据性能测试的结果生成测试报告。
本发明的有益效果是:本发明通过对软件测试方法进行改进,大大减少了软件性能测试中的人力和时间的投入,而且该测试方法和装置还能够模拟线上流量,针对待测软件实现针对性的数据修改,从而更加精确的评估软件性能的稳定性。
具体实施方式
下面将对实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种软件性能测试方法,包括如下步骤:
S1、在对待测软件进行性能测试之前,在线上部署TCPCopy;
S2、利用线上部署的TCPCopy对线上的HTTP流量进行复制;
S3、将复制的HTTP流量保存于ES上;
S4、对存储在ES上的复制的HTTP流量数据进行修改,修改以自然日为单位进行修改;
S5、对修改后的HTTP流量进行回放,对待测软件进行测试;
S6、统计软件在测试过程中的性能指标。
优选的,步骤S2中,所述复制的操作流程为,一个访问到达线上前端机;socket数据包在ip层被拷贝了一份传给tcpcopy进程;tcpcopy修改包的目的及源地址,发给目标测试机;拷贝的包到达目标测试机;目标测试机的nginx处理访问,并返回结果;返回结果在ip层被截获、丢弃,由intercpet进程拷贝返回结果的ip header并返回;intercept会通过tcpcopy与intercept之间的套接字来发送tcpcopy重放报文中的IP+TCP数据给tcpcopy,可以参考intercept中的函数tc_socket_sndip header被发送给线上前端机的tcpcopy进程。
优选的,所述步骤S4中对复制的HTTP流量数据进行修改中的数据包括请求对应的cookie数据、特定参数。
优选的,所述特定参数包括时间戳。
优选的,所述步骤S5中对修改后的HTTP流量进行回放,对待测软件进行测试,其中测试过程包括所述测试数据配置待测软件,对完成配置的待测软件进行所述性能测试,并且根据性能测试的结果生成测试报告。
本发明并不限于上述实例,在本发明的权利要求书所限定的范围内,本领域技术人员不经创造性劳动即可做出的各种变形或修改均受本专利的保护。
Claims (5)
1.一种软件性能测试方法,其特征在于,包括如下步骤:
S1、在对待测软件进行性能测试之前,在线上部署TCPCopy;
S2、利用线上部署的TCPCopy对线上的HTTP流量进行复制;
S3、将复制的HTTP流量保存于ES上;
S4、对存储在ES上的复制的HTTP流量数据进行修改,修改以自然日为单位进行修改;
S5、对修改后的HTTP流量进行回放,对待测软件进行测试;
S6、统计软件在测试过程中的性能指标。
2.根据权利要求1所述的软件性能测试方法,其特征在于:步骤S2中,所述复制的操作流程为,一个访问到达线上前端机;socket数据包在ip层被拷贝了一份传给tcpcopy进程;tcpcopy修改包的目的及源地址,发给目标测试机;拷贝的包到达目标测试机;目标测试机的nginx处理访问,并返回结果;返回结果在ip层被截获、丢弃,由intercpet进程拷贝返回结果的ip header并返回;intercept会通过tcpcopy与intercept之间的套接字来发送tcpcopy重放报文中的IP+TCP数据给tcpcopy,可以参考intercept中的函数tc_socket_sndip header被发送给线上前端机的tcpcopy进程。
3.根据权利要求1所述的软件性能测试方法,其特征在于:所述步骤S4中对复制的HTTP流量数据进行修改中的数据包括请求对应的cookie数据、特定参数。
4.根据权利要求3所述的软件性能测试方法,其特征在于:所述特定参数包括时间戳。
5.根据权利要求1所述的软件性能测试方法,其特征在于:所述步骤S5中对修改后的HTTP流量进行回放,对待测软件进行测试,其中测试过程包括所述测试数据配置待测软件,对完成配置的待测软件进行所述性能测试,并且根据性能测试的结果生成测试报告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911085437.9A CN110865938A (zh) | 2019-11-08 | 2019-11-08 | 一种软件性能测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911085437.9A CN110865938A (zh) | 2019-11-08 | 2019-11-08 | 一种软件性能测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110865938A true CN110865938A (zh) | 2020-03-06 |
Family
ID=69654474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911085437.9A Pending CN110865938A (zh) | 2019-11-08 | 2019-11-08 | 一种软件性能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110865938A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954621A (zh) * | 2021-02-02 | 2021-06-11 | 浙江百应科技有限公司 | 一种短信发送回调后线上回放方法、装置及电子设备 |
CN113220579A (zh) * | 2021-05-18 | 2021-08-06 | 京东科技控股股份有限公司 | 存量测试数据的处理方法、装置、设备及存储介质 |
-
2019
- 2019-11-08 CN CN201911085437.9A patent/CN110865938A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954621A (zh) * | 2021-02-02 | 2021-06-11 | 浙江百应科技有限公司 | 一种短信发送回调后线上回放方法、装置及电子设备 |
CN113220579A (zh) * | 2021-05-18 | 2021-08-06 | 京东科技控股股份有限公司 | 存量测试数据的处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Neudecker et al. | A simulation model for analysis of attacks on the bitcoin peer-to-peer network | |
US10204035B1 (en) | Systems, methods and devices for AI-driven automatic test generation | |
CN110865938A (zh) | 一种软件性能测试方法 | |
CN101605348B (zh) | 一种数据业务模拟方法及应用系统 | |
US9497100B2 (en) | Methods, systems, and computer readable media for providing fuzz testing functionality | |
CN105512036A (zh) | 根据预置规则自动生成测试用例的测试模板及测试方法 | |
CN107659455B (zh) | 一种iOS端Mock数据的方法、存储介质、设备及系统 | |
CN104572422A (zh) | 一种基于Linux系统开关机下内存监测实现方法 | |
CN107066390A (zh) | 一种动态内存泄漏检测方法及系统 | |
CN107179995A (zh) | 一种计算机网络应用程序的性能测试方法 | |
CN107346285A (zh) | 一种内存泄露检测方法及装置 | |
CN107819611B (zh) | 基于iec61850多服务端仿真的客户端测试方法 | |
CN103268289A (zh) | 在移动终端上录制应用测试脚本的方法和系统 | |
CN113010392B (zh) | 大数据平台的测试方法、装置、设备、存储介质和系统 | |
CN110688313A (zh) | 一种VxWorks操作系统下软件测试的故障注入方法 | |
CN110704314A (zh) | 一种嵌入式软件测试的故障注入方法 | |
Šandi et al. | pypmu—open source python package for synchrophasor data transfer | |
CN111367803A (zh) | 一种客户端软件测试效率提高方法及系统 | |
Lin et al. | Low-storage capture and loss recovery selective replay of real flows | |
CN102611590A (zh) | Ims大网环境下模拟丢包、延迟、抖动的语音测试方法 | |
CN105446867B (zh) | 一种测试数据的生成方法及装置 | |
JP2005216078A (ja) | 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム | |
Elsner et al. | Challenges in regression test selection for end-to-end testing of microservice-based software systems | |
Wenzel-Benner et al. | XBX: eXternal Benchmarking eXtension for the SUPERCOP crypto benchmarking framework | |
Rybowski et al. | Evaluating OSPF Convergence with ns-3 DCE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200306 |