CN107179995A - 一种计算机网络应用程序的性能测试方法 - Google Patents
一种计算机网络应用程序的性能测试方法 Download PDFInfo
- Publication number
- CN107179995A CN107179995A CN201710634087.1A CN201710634087A CN107179995A CN 107179995 A CN107179995 A CN 107179995A CN 201710634087 A CN201710634087 A CN 201710634087A CN 107179995 A CN107179995 A CN 107179995A
- Authority
- CN
- China
- Prior art keywords
- application program
- test
- message
- request
- response
- 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.)
- Withdrawn
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
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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
技术领域
本发明涉及信息技术领域,尤其涉及一种计算机应用程序的性能测试方法。
背景技术
随着计算机技术发展,为保证计算机软件质量,软件测试技术也在不断发展,也出现了大量的测试工具。计算机应用程序作为计算机软件的一种,主要为企事业单位及各种机构提供业务或管理的电子化支持和辅助,计算机应用程序的质量直接关系到一个企业或组织能否正常运作,因此,对计算机应用程序的测试工作非常重要。
目前,企业或机构对计算机应用程序的测试工作包括功能测试、性能测试。性能测试主要关心应用程序上线运行后的健壮程度,能否满足企业或机构大量人员长期使用时的稳定、顺畅性要求,应用程序性能可以通过白盒测试工具进行部分推断和评估,由于运行环境使用场景的复杂性,更多时候还是采取黑盒测试的做法,利用loadrunner工具,利用案例脚本,模拟并发用户进行应用程序性能检测。
现有性能测试的做法,只能在客户端模拟应用程序的请求发起和接收处理结果,并在此过程中观察和监测应用程序的性能表现,这种做法有两个方面的问题和不足:
1、对于复杂结构、分布式处理的现代网络应用程序来说,所检测得到的性能情况过于笼统,对于性能缺陷产生的根源难以判断;
2、人工编写案例脚本本身复杂性、多样性、覆盖性等方面的局限,得到的性能测试结果与应用程序在实际环境运行时的真实性能表现差距较大。
发明内容
本发明提供一种计算机网络应用程序的性能测试方法,用以解决目前计算机网络应用程序性能测试过程中存在的问题和不足,使性能测试结果更加接近实际运行情况。具体实现以下目标:
1、对于复杂结构、分布式处理的现代网络应用程序来说,能够检测得到网络应用程序或软件每个节点或组件的性能情况,对于性能缺陷产生的根源能够准确判断;
2、利用从实际业务环境录制的真实业务交易请求报文,结合录制时的背景数据,作为性能测试用的案例数据,因为这些数据来源于实际业务环境,本身包含众多发起终端,复杂性、多样性、覆盖性等方面与实际业务环境一致,这样,得到的性能测试结果与应用程序在实际环境运行时的真实性能表现就会比较接近。
为了实现上述目标,本发明提供以下技术方案:
一种计算机网络应用程序的性能测试方法,其特征在于,利用网络报文播放的方式进行计算机网络应用程序的全部或部分组件进行性能测试。
一种计算机网络应用程序的性能测试方法,其特征在于,利用网络报文播放的方式,通过调整播放频率进行计算机网络应用程序的全部或部分组件的性能测试。
一种计算机网络应用程序的性能测试方法,其特征在于,包括如下步骤:
步骤一,对待测试网络应用程序运行真实业务环境的背景数据进行保存;
步骤二,对来自真实业务环境的一段时间内连续的网络层交易数据流进行协议解码和请求响应配对处理,形成原始业务交易请求和响应报文并保存;
步骤三,需要时,对得到的原始业务交易请求报文进行业务要素提取,针对被测试应用程序需要按照一定规则进行相应转换,并将转换好的信息保存到备播请求报文中;
步骤四,准备测试环境,包括待测试网络应用程序和数据库准备,确保数据库中背景数据业务表示一致;
步骤五,根据被测试应用程序通讯模式,建立与被测试应用程序网络通讯链路,
步骤六,按照原始或调整后的频率(压缩或延长)时间间隔和时间顺序播放原始的或转换过的请求报文,同时接收和保存被测应用程序对这些请求的测试响应结果报文;
步骤七,结合原始业务交易请求和响应报文,对测试响应结果报文进行分析,检查核对每一个请求在测试时的响应情况,判断该业务请求处理的正确性、效率等情况。
所述步骤一中的待测试网络应用程序指与后续需要测试的应用程序业务或管理背景一致的服务于企业业务或管理的计算机程序或软件。
所述步骤一中的真实业务环境指与被测应用程序业务或管理背景一致的生产环境或测试环境。
所述步骤一中的背景数据指计算机应用程序或软件某个时点时的数据库数据所蕴涵的当时业务或管理状态,这里指在真实业务环境中数据录制开始时与当时业务情况对应的数据库数据。
所述步骤二中的网络层指OSI模型的网络层。
所述步骤二中的交易数据流指被应用程序正确执行和处理了的交易的网络层请求和响应的网络数据包流。
所述步骤二中的一段时间内连续的网络层交易数据流指连续采集一定时间的网络层交易数据流,时间长短可根据需要调整频率的程度适当延长或缩短。频率是原来的n倍,则播放时间是原来录制时间的n分之1。
所述步骤二中的交易数据流可以是其他系统或设备在真实环境采集抓取的包含网络数据包流的PCAP文件,也可以是结合其他软件在真实环境实时采集的网络数据包流。
所述步骤二中的协议解码是根据不同网络协议对网络数据包流进行还原,还原结果是请求或响应的原始报文信息,以及相关请求响应时间、端口、IP地址等信息。
所述步骤二中的请求响应配对处理是将对应的请求和响应的协议解码结果组合成一对对应信息。
所述步骤二中的原始业务交易请求和响应报文指配对好的请求和响应的协议解码结果。
所述步骤三中的业务要素指原始业务交易请求报文中组成该业务请求的相关业务或管理的关键字段或信息,业务要素经常是多个。
所述步骤三中的按照一定规则进行相应转换指真实环境和被测应用程序虽然业务或管理背景一致,但是程序的请求报文可能有一定差别,包括业务要素的顺序、多少等都有可能有差异,需要根据被测应用程序的情况,制定相应的规则,对原始业务交易请求报文进行转换处理,使之适应被测应用程序。也可能原始业务交易请求报文不需要做任何转换。
所述步骤三中的备播请求报文指原始的或按照一定规则进行相应转换后的请求报文流,该报文流保持原始业务请求报文的时间顺序。
所述步骤四中的业务表示一致指被测应用程序在测试前其背景数据与备播请求报文对应的原始请求报文采集开始时真实环境的背景数据在业务上是一致的。
所述步骤五中的通讯模式指计算机应用程序或软件服务器接收请求和返回响应结果时的网络通讯协议及工作模式。
所述步骤五中的网络通讯链路指计算机应用程序或软件服务器与客户端之间为了通讯建立的网络虚拟线路。
所述步骤六中的原始或调整后的频率(压缩或延长)时间间隔和时间顺序播放备播请求报文指在播放备播请求报文时的时间间隔和顺序策略,按照原始业务请求报文在真实环境的时间间隔和顺序进行播放的就是原始的时间间隔和时间顺序,调整频率就是将播放时间间隔压缩或者拉长,播放顺序不变,目的是观察服务器处理正常业务请求和大压力请求的能力。
所述步骤六中的测试响应结果报文指在播放备播请求报文的同时,采集并记录被测应用程序对请求的相应结果,该结果包括结果内容、响应时间等信息。
所述步骤七中的结合原始业务交易请求和响应报文,对测试响应结果报文进行分析,指对照真实环境中获取的原始交易请求和响应报文,判断测试响应结果的正确性和处理效率情况。结合播放时的不同频率情况,分析该被测应用程序可能的效率极限。
本发明采取利用网络层交易数据流作为测试数据来源,屏蔽了应用程序采取不筒结构和使用不同语言的差异,可以对分布式系统不同节点和组件进行单独测试,能够准确定位和发现分布式应用性能瓶颈的真正根源。
本发明采取的计算机网络应用程序性能测试方法,利用了真实环境原始业务交易请求和响应报文蕴涵真实业务场景、真实业务复杂性、多样性的特性,解决依赖人工编写案例的不足,同时使测试场景更加接近真实环境,通过调整频率等方法可以测试程序处理极限,得到更加接近真实的被测应用程序性能情况。
附图说明
图1是本发明方法流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清晰明白,以下结合附图及实施实例,对本发明进行更加详细说明。
以已经完成功能测试的某银行核心系统优化程序性能测试为例,结合图1,说明一下该发明的实际使用步骤:
步骤S1,该发明需要处理的真实环境的网络层交易数据流可以从该银行原核心系统实际生产环境采集录制,采集开始时同步保存背景数据库的数据。例如可以在晚间轧帐后对外营业前,备份核心系统数据库作为背景数据,同时连续录制采集一天24小时的系统交易数据,形成PCAP文件备用。
步骤S2,该发明的方法在得到网络层交易数据流PCAP文件后,进行协议解码和交易配对,形成原始业务交易请求和响应报文并保存。
步骤S3,该发明的方法针对已经还原出来的请求报文,提取关键的业务要素字段,并按照核心系统优化程序的需要和相应规则,需要时对原始请求报文进行转化和装配,形成备播交易请求报文并保存。虽然运行备播报文的核心系统优化程序与原核心系统可能有差异,但由于业务本身变化不大,所以变动的范围会很有限,对有限的变动,可以采取一定的规则和方法,利用计算机程序自动进行转换处理。
步骤S4,根据测试需要,准备测试环境,包括核心系统优化程序的安装、与备播交易请求报文对应的背景数据准备和数据库就位。该背景数据应该与生产系统采集录制原始报文时的核心系统相应数据库代表相应业务的数据一致。
步骤S5,该发明的方法在开始进行测试时,首先进行通讯准备,建立通讯链路。大部分情况下,银行使用的网络协议是TCP/IP,这样,模拟建立通讯就可以采取统一的处理。
步骤S6,该发明的方法,在通讯链路准备成功后,按照设置的播放频率和播放策略,对备播交易请求报文进行有序播放,播放同时,记录播放结果,保存响应结果报文,播放完成后进行通讯链路拆除。
实际测试时,步骤S4、步骤S5和步骤S6会被多次执行,每次执行时采取不同的频率。例如可以先按照原始频率播放一遍,用时将是24小时;之后执行步骤S4,重新准备测试环境,按照2倍的频率播放,用时将是12小时;依次类推,按照24倍的频率播放,用时将是1小时。
步骤S7,该发明的方法根据保存的测试结果,分析核心系统优化程序的性能情况,并将分析结果保存在数据库中供查询展示。在分析时,不同的频率代表了相对于录制时业务的不同压力:原始频率相当于实际环境一样的压力,2倍频率相当于实际环境2倍的压力,依次类推,24倍的频率就相当于实际环境24倍的压力,这样,很容易就知道被测试的应用程序或节点能够承受的压力极限所在,对于银行规划IT系统对业务的支撑具有量化的指导。
因为银行业务本身基本没有什么变化,所以原核心系统程序与核心系统优化程序大部分是一样的,优化的部分占比不大,而且优化的主要是一些流程、管理或友好性方面的程序代码,这样,使得利用原核心系统的原始交易请求和响应报文作为测试数据成为可能。蕴涵真实业务交易场景的网络交易数据报文,其复杂性、多样性毋庸质疑,在完成了功能测试,核心系统优化程序基本没有功能缺陷的情况下,使用这样的数据和本发明的方法进行应用程序性能测试,不仅可以摆脱人工编写测试案例的局限,而且可以使测试更加有效。对于银行分布式系统的各个节点均采用本发明的发法进行测试,一方面,能够明晰各节点的性能情况,同时,在测试时,通过时间压缩方式,可以寻找各节点的性能极限,通过分析综合,便能够了解系统真实的性能情况,相比以前的性能测试,其实际指导意义更大。
Claims (1)
1.一种计算机网络应用程序的性能测试方法,其特征在于,包括如下步骤:
步骤一,对待测试网络应用程序运行真实业务环境的背景数据进行保存;
步骤二,对来自真实业务环境的一段时间内连续的网络层交易数据流进行协议解码和请求响应配对处理,形成原始业务交易请求和响应报文并保存;
步骤三,需要时,对得到的原始业务交易请求报文进行业务要素提取,针对被测试应用程序需要按照一定规则进行相应转换,并将转换好的信息保存到备播请求报文中;
步骤四,准备测试环境,包括待测试网络应用程序和数据库准备,确保数据库中背景数据业务表示一致;
步骤五,根据被测试应用程序通讯模式,建立与被测试应用程序网络通讯链路,
步骤六,按照原始或调整后的频率(压缩或延长)时间间隔和时间顺序播放原始的或转换过的请求报文,同时接收和保存被测应用程序对这些请求的测试响应结果报文;
步骤七,结合原始业务交易请求和响应报文,对测试响应结果报文进行分析,检查核对每一个请求在测试时的响应情况,判断该业务请求处理的正确性、效率等情况。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710134874 | 2017-03-09 | ||
CN201710134874X | 2017-03-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107179995A true CN107179995A (zh) | 2017-09-19 |
Family
ID=59837789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710634087.1A Withdrawn CN107179995A (zh) | 2017-03-09 | 2017-07-30 | 一种计算机网络应用程序的性能测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107179995A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844220A (zh) * | 2017-03-09 | 2017-06-13 | 北京融信易安信息技术有限公司 | 一种模拟计算机网络应用程序真实运行环境的测试方法和系统 |
CN107957945A (zh) * | 2017-11-29 | 2018-04-24 | 平安科技(深圳)有限公司 | 货币基金系统自动性能测试方法、装置、设备及存储介质 |
CN108628742A (zh) * | 2018-04-17 | 2018-10-09 | 四川斐讯信息技术有限公司 | 系统性能测试方法和装置 |
CN108829581A (zh) * | 2018-05-22 | 2018-11-16 | 平安科技(深圳)有限公司 | 应用程序测试方法、装置、计算机设备及存储介质 |
CN109359034A (zh) * | 2018-09-07 | 2019-02-19 | 平安科技(深圳)有限公司 | 一种业务系统测试方法、计算机可读存储介质及终端设备 |
CN109510735A (zh) * | 2018-11-28 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种报文测试的方法及装置 |
CN111737133A (zh) * | 2020-06-24 | 2020-10-02 | 中国银行股份有限公司 | 测试方法及装置、计算机设备及计算机可读存储介质 |
CN111752849A (zh) * | 2020-07-06 | 2020-10-09 | 中国工商银行股份有限公司 | 针对应用程序的验证方法和装置 |
CN112134764A (zh) * | 2020-09-27 | 2020-12-25 | 中国银行股份有限公司 | 测试环境连通性的确定方法及装置 |
CN112967035A (zh) * | 2021-03-15 | 2021-06-15 | 深圳市长亮科技股份有限公司 | 跨数据库进行业务系统追账/测评方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975694A (zh) * | 2006-12-22 | 2007-06-06 | 中国建设银行股份有限公司 | 银行主机压力测试方法及测试机 |
CN102053872A (zh) * | 2009-11-06 | 2011-05-11 | 中国银联股份有限公司 | 一种终端交易性能测试方法 |
CN103580945A (zh) * | 2012-08-07 | 2014-02-12 | 百度在线网络技术(北京)有限公司 | 一种针对复杂业务系统产生测试数据的方法和装置 |
CN106844220A (zh) * | 2017-03-09 | 2017-06-13 | 北京融信易安信息技术有限公司 | 一种模拟计算机网络应用程序真实运行环境的测试方法和系统 |
-
2017
- 2017-07-30 CN CN201710634087.1A patent/CN107179995A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975694A (zh) * | 2006-12-22 | 2007-06-06 | 中国建设银行股份有限公司 | 银行主机压力测试方法及测试机 |
CN102053872A (zh) * | 2009-11-06 | 2011-05-11 | 中国银联股份有限公司 | 一种终端交易性能测试方法 |
CN103580945A (zh) * | 2012-08-07 | 2014-02-12 | 百度在线网络技术(北京)有限公司 | 一种针对复杂业务系统产生测试数据的方法和装置 |
CN106844220A (zh) * | 2017-03-09 | 2017-06-13 | 北京融信易安信息技术有限公司 | 一种模拟计算机网络应用程序真实运行环境的测试方法和系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844220A (zh) * | 2017-03-09 | 2017-06-13 | 北京融信易安信息技术有限公司 | 一种模拟计算机网络应用程序真实运行环境的测试方法和系统 |
CN107957945B (zh) * | 2017-11-29 | 2019-06-25 | 平安科技(深圳)有限公司 | 货币基金系统自动性能测试方法、装置、设备及存储介质 |
CN107957945A (zh) * | 2017-11-29 | 2018-04-24 | 平安科技(深圳)有限公司 | 货币基金系统自动性能测试方法、装置、设备及存储介质 |
CN108628742A (zh) * | 2018-04-17 | 2018-10-09 | 四川斐讯信息技术有限公司 | 系统性能测试方法和装置 |
CN108829581A (zh) * | 2018-05-22 | 2018-11-16 | 平安科技(深圳)有限公司 | 应用程序测试方法、装置、计算机设备及存储介质 |
WO2019223142A1 (zh) * | 2018-05-22 | 2019-11-28 | 平安科技(深圳)有限公司 | 应用程序测试方法、装置、计算机设备及存储介质 |
CN109359034A (zh) * | 2018-09-07 | 2019-02-19 | 平安科技(深圳)有限公司 | 一种业务系统测试方法、计算机可读存储介质及终端设备 |
CN109510735A (zh) * | 2018-11-28 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种报文测试的方法及装置 |
CN111737133A (zh) * | 2020-06-24 | 2020-10-02 | 中国银行股份有限公司 | 测试方法及装置、计算机设备及计算机可读存储介质 |
CN111752849A (zh) * | 2020-07-06 | 2020-10-09 | 中国工商银行股份有限公司 | 针对应用程序的验证方法和装置 |
CN111752849B (zh) * | 2020-07-06 | 2023-09-05 | 中国工商银行股份有限公司 | 针对应用程序的验证方法和装置 |
CN112134764A (zh) * | 2020-09-27 | 2020-12-25 | 中国银行股份有限公司 | 测试环境连通性的确定方法及装置 |
CN112134764B (zh) * | 2020-09-27 | 2022-08-09 | 中国银行股份有限公司 | 测试环境连通性的确定方法及装置 |
CN112967035A (zh) * | 2021-03-15 | 2021-06-15 | 深圳市长亮科技股份有限公司 | 跨数据库进行业务系统追账/测评方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107179995A (zh) | 一种计算机网络应用程序的性能测试方法 | |
CN106844220A (zh) | 一种模拟计算机网络应用程序真实运行环境的测试方法和系统 | |
US10997063B1 (en) | System testing from production transactions | |
US10193772B1 (en) | User behavior analyzer | |
CN105005521B (zh) | 测试方法及装置 | |
CN107645562A (zh) | 数据传输处理方法、装置、设备及系统 | |
CN112040501B (zh) | 移动网络质量的检测预警方法、装置、设备及存储介质 | |
CN109831357B (zh) | 一种服务验证方法、装置、存储介质及服务器 | |
CN107168844B (zh) | 一种性能监控的方法及装置 | |
CN112860569A (zh) | 一种自动化测试方法、装置、电子设备和存储介质 | |
CN109462490B (zh) | 视频监控系统及故障分析方法 | |
CN112350854B (zh) | 一种流量故障定位方法、装置、设备及存储介质 | |
CN109949069A (zh) | 可疑用户筛选方法、装置、计算机设备及存储介质 | |
CN107085549A (zh) | 故障信息生成的方法和装置 | |
US20220103442A1 (en) | Internet of things operations monitoring system | |
CN106559498A (zh) | 风控数据收集平台及其收集方法 | |
CN110503982A (zh) | 一种语音质量检测的方法以及相关装置 | |
CN104333584B (zh) | Cdn文件分发系统及方法 | |
CN106919508A (zh) | 一种计算机网络应用程序测试案例的生成方法 | |
CN107948015B (zh) | 一种服务质量分析方法、装置及网络系统 | |
CN115086140A (zh) | 宽带业务的质量评估方法、装置、电子设备及存储介质 | |
JP5768722B2 (ja) | 検証試験のためのプログラム、情報処理方法及び情報処理装置 | |
CN107517237A (zh) | 一种视频识别方法和装置 | |
CN109214189B (zh) | 识别程序漏洞的方法、装置、存储介质和电子设备 | |
CN104516970B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170919 |
|
WW01 | Invention patent application withdrawn after publication |