一种模拟计算机网络应用程序真实运行环境的测试方法和系统与流程

文档序号:12665664阅读:248来源:国知局
一种模拟计算机网络应用程序真实运行环境的测试方法和系统与流程

本发明涉及信息技术领域,尤其涉及一种模拟计算机网络应用程序真实运行环境的测试方法及系统。



背景技术:

随着计算机技术发展,为保证计算机软件质量,软件测试技术也在不断发展,也出现了大量的测试工具。计算机应用程序作为计算机软件的一种,主要为企事业单位及各种机构提供业务或管理的电子化支持和辅助,计算机应用程序的质量直接关系到一个企业或组织能否正常运作,因此,对计算机应用程序的测试工作非常重要。

目前,企业或机构对计算机应用程序的测试工作包括功能测试、性能测试。功能测试则关注所开发的成品对业务需求的实现情况,目前主要依靠人工编写并执行测试案例的方式进行,属黑盒测试的范畴,重点评估应用程序对业务或管理的满足程度;性能测试则关心应用程序上线运行后的健壮程度,能否满足企业或机构大量人员长期使用时的稳定、顺畅性要求,应用程序性能可以通过白盒测试工具进行部分推断和评估,由于运行环境使用场景的复杂性,更多时候还是采取黑盒测试的做法,利用loadrunner工具,利用案例脚本,模拟并发用户进行应用程序性能检测。

测试工作本希望通过模拟方式营造一个近似于应用程序真实运行环境的业务场景,但实际情况是,由于应用程序真实运行环境的复杂性,测试环境根本无法与真实运行环境相比较,加上人工编写案例与实际业务场景的差异,测试环境与真实生产运行环境的差异很大,测试结果对计算机网络应用程序实际运行的指导意义有限。



技术实现要素:

本发明提供一种模拟计算机网络应用程序真实运行环境的测试方法及系统,用以解决目前计算机应用程序测试过程中测试场景与实际运行场景差异较大的问题或缺陷。

为了实现上述目标,本发明提供以下技术方案:

一种模拟计算机网络应用程序真实运行环境的测试方法,其特征在于,利用网络层业务交易报文和背景数据营造接近真实运行环境的测试场景和测试环境。来源于与被测试应用程序业务背景一致的实际生产环境的业务交易报文,反映了实际业务的执行情况,是真实业务场景的数据载体,因此,利用这些业务交易报文,结合一致的背景数据,可以营造出接近真实的应用程序运行环境的测试场景和测试环境。

一种模拟计算机网络应用程序真实运行环境的测试方法,其特征在于,包括如下步骤:

步骤一,对待测试网络应用程序运行真实业务环境的背景数据进行保存;

步骤二,对来自真实业务环境的一段时间内连续的网络层交易数据流进行协议解码和请求响应配对处理,形成原始业务交易请求和响应报文并保存;

步骤三,需要时,对得到的原始业务交易请求报文进行业务要素提取,针对被测试应用程序需要按照一定规则进行相应转换,并将转换好的信息保存到备播请求报文中;

步骤四,准备测试环境,包括待测试网络应用程序和数据库准备,确保数据库中背景数据业务表示一致;

步骤五,根据被测试应用程序通讯模式,建立与被测试应用程序网络通讯链路,

步骤六,按照原始(或调整后的)时间间隔和时间顺序播放原始的或转换过的请求报文,同时接收和保存被测应用程序对这些请求的测试响应结果报文;

步骤七,结合原始业务交易请求和响应报文,对测试响应结果报文进行分析,检查核对每一个请求在测试时的响应情况,判断该业务请求处理的正确性、效率等情况。

所述步骤一中的待测试网络应用程序指与后续需要测试的应用程序业务或管理背景一致的服务于企业业务或管理的计算机程序或软件。

所述步骤一中的真实业务环境指与被测应用程序业务或管理背景一致的生产环境。

所述步骤一中的背景数据指计算机应用程序或软件某个时点时的数据库数据所蕴涵的当时业务或管理状态,这里指在真实业务环境中数据录制开始时与当时业务情况对应的数据库数据。

所述步骤二中的网络层指OSI模型的网络层。

所述步骤二中的交易数据流指被应用程序正确执行和处理了的交易的网络层请求和响应的网络数据包流。

所述步骤二中的一段时间内连续的网络层交易数据流指连续采集一定时间的网络层交易数据流,时间长短可根据需要调整频率的程度适当延长或缩短。

所述步骤二中的交易数据流可以是其他系统或设备在真实环境采集抓取的包含网络数据包流的PCAP文件,也可以是结合其他软件在真实环境实时采集的网络数据包流。

所述步骤二中的协议解码是根据不同网络协议对网络数据包流进行还原,还原结果是请求或响应的原始报文信息,以及相关请求响应时间、端口、IP地址等信息。

所述步骤二中的请求响应配对处理是将对应的请求和响应的协议解码结果组合成一对对应信息。

所述步骤二中的原始业务交易请求和响应报文指配对好的请求和响应的协议解码结果。

所述步骤三中的业务要素指原始业务交易请求报文中组成该业务请求的相关业务或管理的关键字段或信息,业务要素经常是多个。

所述步骤三中的按照一定规则进行相应转换指真实环境和被测应用程序虽然业务或管理背景一致,但是程序的请求报文可能有一定差别,包括业务要素的顺序、多少等都有可能有差异,需要根据被测应用程序的情况,制定相应的规则,对原始业务交易请求报文进行转换处理,使之适应被测应用程序。也可能原始业务交易请求报文不需要做任何转换。

所述步骤三中的备播请求报文指原始的或按照一定规则进行相应转换后的请求报文流,该报文流保持原始业务请求报文的时间顺序。

所述步骤四中的业务表示一致指被测应用程序在测试前其背景数据与备播请求报文对应的原始请求报文采集开始时真实环境的背景数据在业务上是一致的。

所述步骤五中的通讯模式指计算机应用程序或软件服务器接收请求和返回响应结果时的网络通讯协议及工作模式。

所述步骤五中的网络通讯链路指计算机应用程序或软件服务器与客户端之间为了通讯建立的网络虚拟线路。

所述步骤六中的原始(或调整后的)时间间隔和时间顺序播放备播请求报文指在播放备播请求报文时的时间间隔和顺序策略,按照原始业务请求报文在真实环境的时间间隔和顺序进行播放的就是原始的时间间隔和时间顺序,调整频率就是将播放时间间隔压缩或者拉长,播放顺序不变,目的是观察服务器处理正常业务请求和大压力请求的能力。

所述步骤六中的测试响应结果报文指在播放备播请求报文的同时,采集并记录被测应用程序对请求的相应结果,该结果包括结果内容、响应时间等信息。

所述步骤七中的结合原始业务交易请求和响应报文,对测试响应结果报文进行分析,指对照真实环境中获取的原始交易请求和响应报文,判断测试响应结果的正确性和处理效率情况。

一种模拟计算机网络应用程序真实运行环境的测试系统,其特征在于,包括如下模块:

模块一,协议解码和报文还原模块,用以对真实环境的网络层交易数据流进行处理,包括协议解码和请求响应报文配对,处理同时,获取请求响应报文的时间、端口、IP地址等有用信息,形成原始交易请求和响应报文,并保存到数据库中;

模块二,备播报文转换和处理模块,用以根据被测应用程序的需要,对原始交易请求报文的业务要素进行甄别、提取,并按照一定规则转换处理后,按照被测应用程序的需要对报文进行重新装配,形成备播请求报文,并存放在数据库中;

模块三,网络通讯管理模块,用以模拟被测应用程序的请求端,按照被测应用程序的网络工作模式,建立网络通讯链路,以便与被测应用程序正常通讯;

模块四,报文播放模块,用以按照设定的播放频率和播放策略,在与被测应用程序的网络通讯链路建立后,全部或部分播放备拨请求报文,同时采集相应的响应报文并将结果保存在数据库中。

模块五,测试情况查询分析模块,用以查询报文播放测试结果,统计并分析测试情况。

本发明采取利用网络层交易数据流作为测试数据来源,屏蔽了应用程序采取不同结构和使用不同语言的差异,可以对分布式系统不同节点和组件进行单独测试,能够准确定位和发现分布式应用性能瓶颈的真正根源。

本发明采取的模拟计算机网络应用程序真实运行环境的测试方法和系统,利用了真实环境原始业务交易请求和响应报文蕴涵真实业务场景、真实业务复杂性、多样性的特性,使测试场景更加接近真实环境,通过本发明的方法可以测试得到更加接近真实运行场景的被测应用程序质量和性能情况。

附图说明

图1是本发明方法流程图,图2是本发明系统结构图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清晰明白,以下结合附图及实施实例,对本发明进行更加详细说明。

参考图2,本发明系统中各模块的作用及关系如下:

协议解码和报文还原模块Q1,对得到的真实环境网络层交易数据流进行处理,经过协议解码报文还原,在协议解码过程中,利用网络数据包有关信息,获取请求响应报文的时间、端口、IP地址等有用信息,之后,在对请求和响应报文配对后,形成原始交易请求和响应报文,并保存到数据库中。该模块对服务器所有有正常响应的报文都保存其请求响应信息,无论该响应在业务上是否正确,对于服务器没有响应的请求或网络故障的则进行丢弃。

网络通讯管理模块Q2,支持多种常见网络协议,按照参数设置,模拟被测应用程序的请求端,按照被测应用程序的网络工作模式,建立或拆除准备播放报文的网络通讯链路,以便与被测应用程序正常通讯。该模块被报文播放模块所调用,在备播报文播放前建立通讯,在备播报文播放完成后拆除通讯链路。

备播报文转换和处理模块Q3,根据被测应用程序的需要,对原始交易请求报文的业务要素进行甄别、提取,并按照一定规则转换处理后,按照被测应用程序的需要对报文进行重新装配,形成备播请求报文,并存放在数据库中。备播报文准备可以根据参数和设置全量或部分原始报文进行转换,一般情况下,选择一段时间内的报文进行转换备用。

报文播放模块Q4,按照设定的播放频率和播放策略,在与被测应用程序的网络通讯链路建立后,全部或部分播放备拨请求报文,同时采集相应的响应报文并将结果保存在数据库中。该模块根据播放参数设置,对备播报文进行全量或部分播放,播放同时,采集并记录播放情况、结果报文,与播放的报文对应后,保存到数据库中备用。播放频率作为参数,告诉播放程序按照什么节奏进行报文播放,部分报文播放时,根据参数和选择条件,可以播放一段时间、某种特定业务的备播报文。

测试情况查询分析模块Q5,测试情况保存在数据库中,根据需要可以进行相应的汇总统计和分析,该模块提供报文播放测试结果的查询功能。

以某保险公司核心系统优化程序测试为例,结合图1,说明一下该发明的实际使用步骤:

步骤S1,该发明需要处理的真实环境的网络层交易数据流可以从该保险公司原核心系统实际生产环境采集录制,采集开始时同步保存背景数据库的数据。例如在每天业务开始时起连续录制采集20小时的数据,形成PCAP文件备用。

步骤S2,该发明的系统在得到网络层交易数据流PCAP文件后,模块Q1进行协议解码和交易配对,形成原始业务交易请求和响应报文并保存。

步骤S3,该发明的系统针对已经还原出来的请求报文,模块Q3提取关键的业务要素字段,并按照核心系统优化程序的需要和相应规则,对原始请求报文进行转化和装配,形成备播交易请求报文并保存。虽然运行备播报文的核心系统优化程序与原核心系统有差异,但由于业务本身变化不大,所以变动的范围会很有限,对有限的变动,可以采取一定的规则和方法,利用计算机程序自动进行转换处理。

步骤S4,根据测试需要,准备测试环境,包括核心系统优化程序的安装、与备播交易请求报文对应的背景数据准备和数据库就位。该背景数据应该与生产系统采集录制原始报文时的核心系统相应数据库代表相应业务的数据一致。这部分工作是本发明系统之外的准备工作。

步骤S5,该发明的系统开始进行测试时,模块Q4首先调用模块Q2进行通讯准备,建立通讯链路。大部分情况下,保险公司使用的网络协议是TCP/IP,这样,模拟建立通讯就可以采取统一的处理。

步骤S6,该发明的系统模块Q4,在通讯链路准备成功后,按照参数设置的播放频率和播放策略,对备播交易请求报文进行有序播放,播放同时,记录播放结果,保存响应结果报文,播放完成后,调用模块Q2进行通讯链路拆除。

步骤S7,该发明的系统模块Q5,根据保存的测试结果,分析核心系统优化程序的质量和性能情况,并将分析结果保存在数据库中供查询展示。

因为保险公司业务本身基本没有什么变化,所以原核心系统程序与核心系统优化程序大部分是一样的,优化的部分占比不大,而且优化的主要是一些流程、管理或友好性方面的程序代码,这样,使得利用原核心系统的原始交易请求和响应报文作为测试数据成为可能。蕴涵真实业务交易场景的网络交易数据报文,其复杂性、多样性毋庸质疑,使用这样的数据进行应用程序测试,使测试更加接近真实业务场景,不仅可以摆脱传统人工测试的局限,而且可以使测试的结果更具有参考意义。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1