CN111552626A - 使用真实事务数据测试被开发系统的方法和系统 - Google Patents
使用真实事务数据测试被开发系统的方法和系统 Download PDFInfo
- Publication number
- CN111552626A CN111552626A CN201911274968.2A CN201911274968A CN111552626A CN 111552626 A CN111552626 A CN 111552626A CN 201911274968 A CN201911274968 A CN 201911274968A CN 111552626 A CN111552626 A CN 111552626A
- Authority
- CN
- China
- Prior art keywords
- transaction message
- transaction
- data
- response data
- request data
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 100
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000006243 chemical reaction Methods 0.000 claims description 41
- 238000013507 mapping Methods 0.000 claims description 39
- 238000012795 verification Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 17
- 238000010200 validation analysis Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- 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
-
- 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
- G06F11/3672—Test management
-
- 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/3604—Software analysis for verifying properties of programs
-
- 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
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
根据本发明的实施例,提供了一种用于自动测试IT系统的方法,在基于真实事务数据进行测试时,所述方法包括:(a)通过捕获在用户系统与事务处理系统之间传输和接收的网络数据包来获得事务消息;(b)将包括在所述事务消息中的请求数据传输到被测系统;(c)从所述被测系统接收响应数据;(d)比较从被测系统接收的所述响应数据和包括在所述事务消息中的响应数据,并确定成功或失败。
Description
技术领域
本发明的实施例涉及一种用于对信息技术(IT)系统进行测试的方法和系统,并且更具体地,涉及一种通过使用在真实环境中实际发生的场景或用例来对被开发系统进行测试的方法和系统。
背景技术
通常,当开发信息系统时,进行单独的测试程序以确认该系统是否具有缺陷或混乱。
然而,用于测试被开发系统(system under development,SUD)的常规技术具有许多缺点。开发人员或设计人员必须使用随机或人为数据或少量实际数据来人工创建测试用例。因此,只能执行有限的测试,或者甚至在使用大量真实数据时,必须为每项工作开发多个额外的转换程序。
此外,当执行集成测试时,多个业务和IT人员必须聚集在一起以人工执行相互测试,因此,为了通过测试保证被开发系统的质量,需要花费大量的时间和成本。但是,能够进行测试的人力非常有限。
因此,对于开发一种用于测试被开发系统的技术的需求正在逐步增加,该技术能够通过使用大量的真实用户作为被开发系统的测试者并使用真实用户的事务(transaction)数据作为测试数据被开发系统来主动管理在真实环境中可能发生的大量用例,并且用于解决上述缺点的手段在迫切需要当中。
发明内容
本发明的实施例旨在解决现有技术的上述缺点,并且本发明的目的是通过使用在真实环境中实际发生的场景或用例在一定时期内进行大量的自动测试,来解决测试所需的人力动员问题并节省测试所需的时间。
本发明的目的不限于上述目的,并且从以下描述中将清楚地理解未提及的其他目的。
为了实现上述目的,根据本发明的实施例,提供了一种用于自动测试IT系统的方法,在基于真实事务数据进行测试时,所述方法包括:(a)通过捕获在用户系统与事务处理系统之间传输(transmit)和接收的网络数据包来获得事务消息;(b)将包括在事务消息中的请求数据传输到被测系统;(c)从被测系统接收响应数据;(d)将从被测系统接收的响应数据和包括在事务消息中的响应数据进行比较,并确定成功或失败。
步骤(a)可以包括:在网络数据包被加密的情况下,通过包括用于解密的信息作为可变数据来获得事务消息。
事务消息可以包括请求数据和对应于所述请求数据的响应数据,并且可以以流为单位(in a flow unit)创建。
步骤(a)可以包括:将作为唯一标识符的通用唯一标识符(UUID)授予事务消息,以确保跟踪的便利性。
步骤(b)可以包括:根据验证系统的转换规则,将包括在事务消息中的请求数据转换为由被测系统定义的结构或格式,并其传输至被测系统。
步骤(d)可以包括:将比较确定结果及从被测系统接收的响应数据与事务消息进行映射并将其存储。
步骤(d)可以包括:在因比较和确定的结果而确定为失败结果的情况下,分析错误原因,并且将所分析的错误信息与事务消息进行映射并将其存储。
步骤(d)可以在测试系统中基于预定义的映射规则进行映射和存储。
步骤(d)可以包括:根据预定义的规则,在从被测系统接收的响应数据中提取会话ID和进程ID,并注册所述会话ID和所述进程ID,以将该信息用作以后的事务消息的映射信息。
同时,根据本发明的另一个实施例,提供了一种用于测试的系统,包括:捕获单元,所述捕获单元通过捕获在用户系统与事务处理系统之间传输和接收的网络数据包来获得事务消息;转换单元,所述转换单元将包括在事务消息中的请求数据传输到被测系统;以及结果处理单元,所述结果处理单元将从被测系统接收的响应数据与包括在事务消息中的响应数据进行比较,并确定成功或失败。
在网络数据包被加密的情况下,捕获单元可以通过包括用于解密的信息作为可变数据来获得事务消息。
事务消息可以包括请求数据和对应于所述请求数据的响应数据,并且可以以流为单位创建。
捕获单元可以将作为唯一标识符的UUID授予事务消息,以确保跟踪的便利性。
转换单元可以根据验证系统的转换规则,将包括在事务消息中的请求数据转换为由被测系统定义的结构或格式,并将其传输给被测系统。
结果处理单元可以将比较确定结果及从被测系统接收的响应数据与事务消息进行映射,并将其存储。
在因比较和确定的结果而确定为失败结果的情况下,结果处理单元可以分析错误原因,并将所分析的错误信息与事务消息进行映射并存储。
结果处理单元可以在测试系统中基于预定义的映射规则进行映射和存储。
结果处理单元可以根据预定义的规则,在从被测系统接收的响应数据中提取会话ID和进程ID,并注册所述会话ID和所述进程ID,以将所述信息用作以后的事务消息的映射信息。
所述系统还可以包括:记录单元,所述记录单元存储事务消息;重放单元,所述重放单元对存储在记录单元中的事务消息进行编码,并将其传输到转换单元;以及管理单元,所述管理单元管理捕获单元、记录单元、重放单元、转换单元和结果处理单元的操作条件。
根据本发明的实施例,本发明通过使用实际操作环境的事务数据,而不是通过使用开发人员定义的有限测试,通过连续且重复地处理真实事务,因此具有提前使虚拟(virtual)系统上线而实际用户却不能识别他或她在使用被开发系统的效果,从而改善了在实际上线时间的被开发系统的质量。
根据本发明的另一实施例,与对已经开发的系统进行相互测试的现有技术相比,本发明使用在真实环境中发生的各种情况的大量事务数据来执行自动测试,从而能够节省测试所需的时间、成本和人力。
本发明的实施例的效果不限于上述效果,并且应该理解,本发明的效果包括可以从本发明的详细描述中所述的本发明的配置或所附权利要求中推断出的所有效果。
附图说明
图1示出根据本发明实施例的用于自动测试IT系统的系统;
图2示出根据本发明实施例的验证系统;
图3是示出根据本发明实施例的用于IT系统的自动测试过程的流程图;以及
图4示出根据本发明的另一实施例的用于自动测试IT系统的系统。
具体实施方式
在下文中,将参考附图解释本发明的实施例。然而,本发明可以以各种不同的方式或形式来实现,并且不应该被解释为限于在此阐述的实施例。此外,为了清楚地解释本发明的实施例,将省略与本发明无关的部分,并且全文相同的附图标记用于表示相同的元件。
在整个说明书中,将理解为,当一部分被称为“连接”到另一部分时,它可以“直接连接到”该另一部分,或者可以存在介于中间的部分而“间接连接到”该另一部分。此外,当组件“包括”一个元件时,除非另外有相反的描述,否则应当理解为,该组件不排除另外的元件,而还可以包括另外的元件。
图1示出根据本发明实施例的基于真实事务数据自动测试IT系统的系统。在下文中,用于自动测试IT系统的系统将被称为“自动测试系统”,而被测试的IT系统将被称为“被开发系统”。
参考图1,自动测试系统可以包括用户系统100、事务处理系统200、验证(validation)系统300和被开发系统400。
用户系统100、事务处理系统200、验证系统300和被开发系统400可以通过通信网络彼此连接。在本文中,通信网络可以被配置成不考虑其例如像有线或无线那样的通信类型,并且可以被配置为包括局域网(LAN)、城域网(MAN)、广域网(WAN)等各种通信网络中的任一个。
用户系统100可以将第一请求数据传输到事务处理系统200,这对应于用户请求的工作。可以以文本或二进制及明文的或编码的或加密的格式的形式传输第一请求数据。
事务处理系统200可以响应于第一请求数据产生第一响应数据,并将第一响应数据传输到用户系统100,并且可以将第一请求数据和第一响应数据存储在事务处理系统200中。
验证系统300可以通过捕获在用户系统100与事务处理系统200之间传输的网络数据包(network packet)来获得事务数据包(transaction packet)。
特别地,验证系统300可以通过捕获一种网络数据包来获得事务数据,所述网络数据包(通常,一个事务数据需要至少两个网络数据包)包括在用户系统100与事务处理系统200之间传输的第一请求数据和第一响应数据。
验证系统300可以通过将第一请求数据和第一响应数据合并为一个消息来创建事务消息,并且可以向所创建的事务消息授予作为唯一标识符的通用唯一标识符(UUID)以确保将来跟踪的便利性。
换句话说,事务消息可以基本包括第一请求数据和第一响应数据,并且可以以流为单位(in a flow unit)创建。根据本发明的实施例,除了第一请求数据和第一响应数据之外,事务消息还可以包括通用报头信息(common header information),例如来源和目的地IP地址、TCP端口、消息协议(message protocol)、数据长度等。此外,在事务消息中,可以根据数据长度将请求数据与响应数据区分开。
根据本发明的实施例,在网络数据包包括加密信息的情况下,验证系统300可以通过包括用于解密所述加密信息的信息作为可变数据来创建事务消息。
验证系统300可以以流为单位对创建的事务消息进行解码,并将被解码的事务消息存储在验证系统300中。
验证系统300可以根据预定义的转换规则转换事务消息的第一请求数据。在本文中,预定义的转换规则可以是这样的规则,即,所述规则根据事务处理系统200与被开发系统400之间的调用方法的差异来定义转换方法。
特别地,验证系统300可以从事务消息中提取第一请求数据,对第一请求数据进行解码,然后根据预定义的转换规则将被解码的第一请求数据转换为第二请求数据。当转换完成时,验证系统300可以对第二请求数据进行编码,将被编码的第二请求数据传输到被开发系统400。
也就是说,第二请求数据可以是根据验证系统300的预定义的转换规则的对第一请求数据的转换,并且第一请求数据被转换成由被开发系统400定义的结构或格式。与第一请求数据类似,可以以文本或二进制及明文的或编码的或加密的格式的形式传输第二请求数据。
另一方面,如果事务处理系统200与被开发系统400之间的调用方法没有差异,则验证系统300可以将第一请求数据传输到被开发系统400,而并不转换第一请求数据。
之后,验证系统300可以从被开发系统400接收针对第二请求数据的第二响应数据,将第二响应数据与包括在事务消息中的第一响应数据进行映射(map),并存储映射结果。
此外,可以基于在验证系统300中预定义的规则来执行映射和存储。
验证系统300可以分析从被开发系统400接收到的第二响应数据,将分析结果与预先接收的第一响应数据进行比较,并确定测试是成功的还是失败的。
根据本发明的实施例,由于分析第二响应数据并将分析结果与第一响应数据进行比较,当确定测试失败时,验证系统300可以存储错误信息。在这种情况下,验证系统300可以将失败结果及错误信息与事务消息进行映射,并基于预定义的映射规则来存储映射结果。
此外,验证系统300可以根据预定义的规则从第二响应数据中提取特定信息例如会话(session)ID、进程(processing)ID等,并注册该特定信息,从而将该特定信息用作以后的事务消息的映射信息。
被开发系统400可以从验证系统300接收根据预定义的转换规则转换的第二请求数据,响应于该第二请求数据产生第二响应数据,并且将第二响应数据传输到验证系统300。
图2示出了根据本发明实施例的图1的验证系统300。
参考图2,验证系统300可以包括捕获单元310、记录单元320、重放(replaying)单元330、转换单元340、结果处理单元350和管理单元360。
在一个实施例中,可以使用一个或多个过程(processes)来实现捕获单元310、重放单元330、转换单元340、结果处理单元350和管理单元360。可以使用存储元件例如硬盘、存储器等来实现记录单元320。
将参考图1所示的自动测试系统来描述图2的验证系统300。
捕获单元310可以通过捕获在用户系统100与事务处理系统200之间传输的网络数据包来获得事务数据包。
特别地,捕获单元310可以通过捕获一种网络数据包来获得事务数据,所述网络数据包包括在用户系统100与事务处理系统200之间传输的第一请求数据和第一响应数据。因此,第一请求数据和第一响应数据可以包括在事务数据中。
捕获单元310可以通过将第一请求数据和第一响应数据合并为一个消息来创建事务消息,并且可以将作为唯一标识符的UUID授予被创建的事务消息。在本文中,事务消息可以包括第一请求数据和对应于所述第一请求数据的第一响应数据,并且可以以流为单位创建。
根据本发明的实施例,在捕获的网络数据包被加密的情况下,捕获单元310还可以向事务消息添加用于解密网络数据包的信息作为可变数据。
换句话说,捕获单元310可以通过捕获网络数据包来获得在用户系统100与事务处理系统200之间传输的第一请求数据和第一响应数据,并通过将第一请求数据和第一响应数据合并成一条消息来创建事务消息。在这种情况下,除了第一请求数据和第一响应数据之外,事务消息还可以包括:通用报头信息,例如来源和目的地IP地址、TCP端口、消息协议、数据长度等;以及可变数据,所述可变数据包括用于解密所述加密的数据的信息。
记录单元320可以在事务单元中对由捕获单元310创建的事务消息进行解码,并存储被解码的事务消息。每个所存储的事务消息的位置信息可以被分别存储为具有固定大小的索引信息。
当存储被解码的事务消息时,记录单元320执行永久存储,而不是临时存储,使得以后可以通过实时方法或分批处理(batch)方法来再现事务消息。在一个实施例中,被解码的事务消息可以被存储在物理光盘文件中。
重放单元330可以对存储在记录单元320中的被解码的事务消息进行编码,并且将编码的事务消息传输到转换单元340。所传输的事务消息的位置信息可以分别存储。
根据本发明的实施例,在指定了记录在记录单元320中的事务消息的开始索引和结束索引的情况下,重放单元330可以仅将一部分事务消息进行编码并传输到转换单元340。该一部分事务消息可以是指从开始索引至结束索引的事务消息。
转换单元340可以将包括在事务消息中的第一请求数据转换为第二请求数据,并且将第二请求数据传输到被开发系统400。第二请求数据可以是这样的数据,即,是根据验证系统300的预定义转换规则来被转换为由被开发系统400定义的结构或格式的数据。
具体地,转换单元340可以根据由事务处理系统200和被开发系统400所使用的诸如HTML、XML、JSON、专有TCP消息(proprietary TCP message)等协议来进行转换的预处理工作。预处理工作可以包括以事务消息的第一请求数据和第一响应数据为基础执行的解码、字符集转换、会话提取和cookie信息等。
根据本发明的实施例,在第一请求数据被加密的情况下,转换单元340可以根据加密方法另外进行对第一请求数据进行解密的处理。
在完成对第一请求数据的预处理工作后,转换单元340可以根据预定义的转换规则将第一请求数据转换为第二请求数据。
预定义的转换规则是事务处理系统200与被开发系统400之间的映射规则的定义。管理单元360管理预定义的转换规则。因此,第一请求数据可以转换为符合被开发系统400的协议的第二请求数据。
此外,转换单元340可以掩蔽或编码第二请求数据的一部分,并且将被编码的第二请求数据传输到被开发系统400。
结果处理单元350可以从被开发系统400接收针对第二请求数据的第二响应数据,并分析所接收到的第二响应数据。
结果处理单元350可以通过分析将已经预先接收和存储的第一响应数据与第二响应数据进行比较,并基于比较结果确定测试是成功的还是失败的。
此外,结果处理单元350可以将比较和确定结果以及第二响应数据与预先接收的事务消息进行映射,并存储该映射结果。作为比较和确定的结果,在确定测试失败的情况下,可以将关于测试失败的错误信息与事务消息映射并存储。
在本文中,可以基于预定义的映射规则来进行映射和存储。
此外,结果处理单元350可以根据预定义的规则来分析第二响应数据,以便从第二响应数据中提取像会话ID和进程ID那样的特定信息,并存储该特定信息,由此使用该特定信息作为后续事务消息的映射信息。
根据本发明的实施例,结果处理单元350可以映射和存储每一个事务处理系统200和被开发系统400中的会话信息,以便维持事务处理系统200和被开发系统400的会话,并基于映射结果更新会话信息。
换句话说,结果处理单元350可以基于第二请求数据来映射包括由事务处理系统200处理的第一请求数据的事务消息的会话信息、以及由被开发系统400执行的事务的会话信息,并存储映射结果。此外,结果处理单元350可以将包括在事务处理系统200的第一响应数据中的会话信息与包括在被开发系统400的第二响应数据中的会话信息进行关联(correlate)并存储。映射会话信息的过程可以基于由管理单元360预定义的映射规则来执行。
此外,根据本发明的实施例,结果处理单元350分析从被开发系统400接收的第二响应数据,并且在第二响应数据中存在新创建的工作的键值(key value)的情况下,可以将该键值与包括在事务消息中的事务处理系统200的事务数据的键值进行映射并存储。
此外,根据本发明的实施例,结果处理单元350将包括在事务处理系统200和被开发系统400的第一和第二响应数据中的键值进行关联并存储。换句话说,结果处理单元350可以将从事务处理系统200接收的包括第一请求数据(或第一响应数据)的事务数据的键值与从被开发系统400接收的包括第二请求数据(或第二响应数据)的事务数据的键值进行映射,并存储映射结果。同样,可以基于由管理单元360预定义的映射规则来执行映射可变数据的处理并存储。
在这种情况下,为了映射键值,结果处理单元350可以提供各种搜索方法用于在从被开发系统400接收的第二响应数据中查找键值,例如LEFT BOUND/RIGHT BOUND,JSONPATH,XPATH等。
此外,结果处理单元350可以分别存储被开发系统400的日志信息和原始响应数据。
因此,结果处理单元350可以存储和管理整体性能结果、统计数据、有关个别事务消息的详细信息以及错误信息,并在管理者请求时提供相应的信息。
管理单元360可以预定义映射规则和转换规则,并且可以管理和控制捕获单元310、记录单元320、重放单元330、转换单元340和结果处理单元350的操作,并且改变它们的配置项。
图3是示出根据本发明实施例的基于真实事务数据对被开发系统进行自动测试的流程图。将参考图1所示的自动测试系统来描述图3的自动测试。
首先,在从用户系统100接收到用于工作的第一请求数据时(S301),事务处理系统200可以将与第一请求数据相对应的第一响应数据传输到用户系统100(S302)。传输和接收第一请求数据和第一响应数据可以意指一次事务(transaction)。
验证系统300可以通过捕获包括第一请求数据和第一响应数据的网络数据包来获得事务消息,所述第一请求数据和第一响应数据是当用户系统100与事务处理系统200之间发生事务时在用户系统100与事务处理系统200之间传输的事务数据(S303)。也就是说,事务消息可以包括第一请求数据和第一响应数据,并且可以以流为单位创建。
特别地,验证系统300可以将第一请求数据和第一响应数据合并为一个事务消息,并将该事务消息存储在事务单元中。通过向事务消息分配或授予作为唯一标识符的UUID,可以使用UUID来跟踪事务消息,从而为跟踪提供便利。
根据本发明的实施例,在捕获的网络数据包被加密的情况下,验证系统300可以通过包括用于将网络数据包解密的信息作为可变数据来创建事务消息。
此外,验证系统300可以将事务消息永久地存储在验证系统300中。
验证系统300可以对第一请求数据进行解码并根据预定义的转换规则将被解码的第一请求数据转换为第二请求数据(S304)。
换句话说,由于预定义的转换规则定义了如何映射事务处理系统200和被开发系统400,因此转换包括将针对在事务处理系统200中使用的协议的第一请求数据转换为针对在被开发系统400中使用的协议的第二请求数据,并且因此,第二请求数据可以转换为由被开发系统400定义的请求结构或格式。
根据本发明的实施例,在事务消息的第一请求数据被加密的情况下,验证系统300可以根据加密方法对第一请求数据执行解密,然后根据预定义的转换规则将被解密的第一请求数据转换成第二请求数据。
在转换完成之后,验证系统300可以将第二请求数据传输到被开发系统400(S305),并且从被开发系统400接收针对第二请求数据的第二响应数据(S306)。
然后,验证系统300可以存储和分析接收到的第二响应数据(S307)。
特别地,在从被开发系统400接收第二响应数据时,验证系统300可以将第二响应数据与包括在从事务处理系统200接收的事务消息中的第一响应数据进行映射,并存储映射结果。在这种情况下,可以基于预定义的映射规则来进行映射。
验证系统300可以基于分析结果将第二响应数据与第一响应数据进行比较,并确定测试是成功的还是失败的(S308)。
当确定测试失败时,验证系统300可以进一步分析与测试失败的原因相对应的错误信息,并存储分析结果。还可以基于预定义的映射规则将错误信息与事务消息进行映射并存储。
验证系统300可以根据预定义的规则另外执行从第二响应数据中提取特定信息(例如会话ID、进程ID等)的过程,以便将该特定信息用作后续事务消息的映射信息。
此外,由于对所有被映射的信息都根据给事务消息授予的UUID进行分类并存储在验证系统300中,因此将来更容易跟踪或搜索数据,并且可以管理测试数据。此外,由于在验证系统300中所有事务消息都用UUID标记,因此事务消息本身以后也容易被跟踪或追溯。
图4示出根据本发明的另一实施例的基于真实事务数据自动测试IT系统的系统。
参考图4,自动测试系统可以包括用户系统100、事务处理系统200、第一验证系统301、第二验证系统302、被测试的被开发系统400和外部系统500。
用户系统100、事务处理系统200、第一验证系统301、第二验证系统302、被开发系统400和外部系统500可以通过通信网络彼此连接。在本文中,通信网络可以被配置成不考虑其通信类型(例如有线或无线),并且可以被配置为各种通信网络中的任一个,包括局域网(LAN)、城域网(MAN)、广域网(WAN)等。
特别地,与图1中所示的自动测试系统相比,在图4所示的自动测试系统中,事务处理系统200需要与外部系统500连接。由于在用户系统100请求时通过在用户系统100与事务处理系统200之间传输和接收第一请求数据和第一响应数据来进行事务,因此第一验证系统301通过捕获包括第一请求数据和第一响应数据的网络数据包来创建事务消息,根据预定义的转换规则将所创建的事务消息的第一请求数据转换为第二请求数据,将第二请求数据传输到被开发系统400,从被开发系统400接收针对第二请求数据的第二响应数据,并将第一响应数据和第二响应数据进行比较以确定测试是成功的还是失败的。第一验证系统301的操作与图1中的验证系统300的操作基本相同。
同时,在事务处理系统200与外部系统500连接的情况下,存在多个验证系统,例如,第一验证系统301和第二验证系统302,使得在用户系统100与事务处理系统200之间的事务的网络数据包被第一验证系统301捕获,并且在事务处理系统200与外部系统500之间的事务的网络数据包被第二验证系统302捕获。
因此,类似于第一验证系统301,第二验证系统302可以通过捕获包括第三请求数据和第三响应数据的网络数据包来创建事务消息,其中,所述第三请求数据和所述第三响应数据在事务处理系统200与外部系统500之间传输和接收,基于预定义的转换规则将所创建的事务消息的第三请求数据转换为符合被开发系统400的协议的第四请求数据。
此外,当将第四请求数据传输到被开发系统400时,第二验证系统302从被开发系统400接收针对第四请求数据的第四响应数据,将预先存储的第三响应数据与第四响应数据进行比较,并基于比较结果确定测试是成功的还是失败的。
此外,在被开发系统400不与外部系统500直接连接的情况下,代替外部系统500,被开发系统400与第二验证系统302连接以获得存储在第二验证系统302中的真实交换的数据。
因此,根据本发明的实施例,本发明通过使用实际操作环境的事务数据,而不是通过使用开发人员定义的有限测试数据,通过连续且重复地处理真实事务,因此具有提前使虚拟(virtual)系统上线而实际用户却不能识别他或她在使用被开发系统的效果,从而改善了在实际上线时间的被开发系统的质量。
此外,根据本发明的实施例,与在系统开发后进行相互测试的现有技术相比,本发明使用在真实环境中发生的各种情况的大量事务数据来执行自动测试,从而能够节省测试所需的时间、成本和人力。
本发明的效果不限于上述效果,并且应当理解,本发明的效果包括可以从本发明的详细描述中所述的本发明的实施例或所附权利要求中可以推断出的所有效果。
出于例示性目的,已经给出了本发明的前述描述,并且对于本领域的普通技术人员显而易见的是,在不改变本发明的技术思想或实质特征的情况下,可以容易地将本发明修改或调整为不同的形式。因此,应当理解,上述实施例仅作为示例,并不意图限制本发明。例如,已经被描述为整体部分的每个组件可以作为分散部件进行实施。同样,已经被描述为分散部件的每个组件也可以作为组合部件进行实施。
本发明的范围由所附权利要求书呈现,并且应该理解,从权利要求书的定义和范围及其等同物得出的所有改变或修改都落入本发明的范围内。
Claims (20)
1.一种用于测试被开发系统的验证系统的方法,所述方法包括:
通过捕获在用户系统与事务处理系统之间传输的网络数据包来获得事务消息,所述事务消息包括请求数据和对应于所述请求数据的第一响应数据;
将包括在所述事务消息中的所述请求数据传输至所述被开发系统;
从所述被开发系统接收第二响应数据,所述第二响应数据对应于所述请求数据;
对所述第二响应数据和所述第一响应数据进行比较;以及
基于比较结果确定测试是成功的还是失败的。
2.根据权利要求1所述的方法,其中,当所述网络数据包被加密时,获得的所述事务消息包括用于解密所述网络数据包的信息。
3.根据权利要求1所述的方法,其中,所述事务消息是以流为单位创建的。
4.根据权利要求1所述的方法,还包括向所述事务消息授予通用唯一标识符。
5.根据权利要求1所述的方法,还包括:
根据所述验证系统的转换规则,将包括在所述事务消息中的所述请求数据转换为具有由所述被开发系统定义的结构或格式的第二请求数据;以及
将所述第二请求数据传输到所述被开发系统。
6.根据权利要求1所述的方法,还包括:
将所述比较和确定结果以及所述第二响应数据与所述事务消息进行映射,并存储映射结果。
7.根据权利要求6所述的方法,还包括:
当所述测试失败时分析产生错误的原因而产生错误信息;以及
将所述错误信息与所述事务消息进行映射,并存储映射结果。
8.根据权利要求6所述的方法,其中,在所述验证系统中基于预定义的映射规则来进行所述映射和存储。
9.根据权利要求1所述的方法,还包括:
根据预定义的规则从所述第二响应数据中提取会话ID和进程ID;以及
注册所述会话ID和所述进程ID,以用作后续事务消息的映射信息。
10.一种用于测试被开发系统的系统,包括:
捕获单元,所述捕获单元通过使用处理器捕获在用户系统与事务处理系统之间传输的网络数据包来获得事务消息;
转换单元,所述转换单元使用处理器来转换包括在所述事务消息中的请求数据,并将被转换的请求数据传输到所述被开发系统;以及
结果处理单元,所述结果处理单元使用处理器将从所述被开发系统接收的第二响应数据与包括在所述事务消息中的第一响应数据进行比较,并基于比较结果确定测试是成功的还是失败的,所述第二响应数据是响应于所述被转换的请求数据由所述被开发系统产生的。
11.根据权利要求10所述的系统,其中,当所述网络数据包被加密时,所述捕获单元通过包括用于解密所述网络数据包的信息来获得所述事务消息。
12.根据权利要求10所述的系统,其中,所述事务消息包括所述请求数据和对应于所述请求数据的所述第一响应数据,并且是以流为单位创建的。
13.根据权利要求10所述的系统,其中,所述捕获单元向所述事务消息授予作为唯一标识符的通用唯一标识符。
14.根据权利要求10所述的系统,其中,所述转换单元根据所述系统的转换规则,将包括在所述事务消息中的所述请求数据转换成由所述被开发系统定义的结构或格式。
15.根据权利要求10所述的系统,其中,所述结果处理单元将所述比较和确定结果以及所述第二响应数据与所述事务消息进行映射,并存储映射结果。
16.根据权利要求15所述的系统,其中,当所述测试失败时,所述结果处理单元分析产生错误的原因而产生错误信息,并且将所述错误信息与所述事务消息进行映射并存储映射结果。
17.根据权利要求15所述的系统,其中,所述结果处理单元在所述系统中基于预定义的映射规则来进行所述映射和存储。
18.根据权利要求10所述的系统,其中,所述结果处理单元根据预定义的规则从所述第二响应数据中提取会话ID和进程ID,并注册所述会话ID和所述进程ID以用作后续事务消息的映射信息。
19.根据权利要求10所述的系统,还包括:
记录单元,所述记录单元使用存储器来存储所述事务消息;
重放单元,所述重放单元使用处理器对存储在所述记录单元中的所述事务消息进行编码,并将被编码的事务消息传输到所述转换单元;以及
管理单元,所述管理单元使用处理器来管理所述捕获单元、所述记录单元、所述重放单元、所述转换单元和所述结果处理单元的操作条件。
20.一种非暂时性计算机可读介质,在所述非暂时性计算机可读介质上已经存储有计算机可执行指令,在由处理器执行时所述指令执行一种方法,所述方法包括:
通过捕获在用户系统与事务处理系统之间传输的网络数据包来获得事务消息,所述事务消息包括请求数据和对应于所述请求数据的第一响应数据;
将包括在所述事务消息中的所述请求数据传输到被开发系统;
从所述被开发系统接收第二响应数据,所述第二响应数据对应于所述请求数据;
比较所述第二响应数据和所述第一响应数据;以及
基于比较结果确定测试是成功的还是失败的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0162283 | 2018-12-14 | ||
KR1020180162283A KR102180592B1 (ko) | 2018-12-14 | 2018-12-14 | It 시스템 검증 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552626A true CN111552626A (zh) | 2020-08-18 |
Family
ID=70859514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911274968.2A Pending CN111552626A (zh) | 2018-12-14 | 2019-12-12 | 使用真实事务数据测试被开发系统的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11093367B2 (zh) |
KR (1) | KR102180592B1 (zh) |
CN (1) | CN111552626A (zh) |
DE (1) | DE102019219586A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11361371B2 (en) * | 2019-01-31 | 2022-06-14 | KlickTrack, Inc. | Method, system, and non-transitory computer-readable medium for retail |
US11586533B2 (en) * | 2020-09-21 | 2023-02-21 | International Business Machines Corporation | Creating a mock for an integration flow |
KR102453610B1 (ko) * | 2020-12-30 | 2022-10-11 | 주식회사 엘지씨엔에스 | 테스트 정보를 제공하는 방법, 가상 연계 디바이스 및 시스템 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2258648A1 (en) * | 1996-06-17 | 1997-12-24 | Verifone, Inc. | A system, method and article of manufacture for managing transactions in a high availability system |
CA2336608A1 (en) * | 1998-07-07 | 2000-01-13 | Tenfold Corporation | Method for defining durable data for regression testing |
US20100058366A1 (en) * | 2008-08-27 | 2010-03-04 | Eric Sven-Johan Swildens | Method and system for testing interactions between web clients and networked servers |
US8984490B1 (en) * | 2010-10-26 | 2015-03-17 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US20160277510A1 (en) * | 2015-03-18 | 2016-09-22 | Ca, Inc. | Response prototypes with robust substitution rules for service virtualization |
US20170286150A1 (en) * | 2014-12-24 | 2017-10-05 | Huawei Technologies Co., Ltd. | Transaction Processing Method and Apparatus, and Computer System |
CA3042448A1 (en) * | 2016-11-01 | 2018-05-11 | Huawei Technologies Co., Ltd. | Resource allocation method, terminal, apparatus and system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4803683A (en) * | 1985-08-30 | 1989-02-07 | Hitachi, Ltd. | Method and apparatus for testing a distributed computer system |
US6112085A (en) * | 1995-11-30 | 2000-08-29 | Amsc Subsidiary Corporation | Virtual network configuration and management system for satellite communication system |
US5949999A (en) * | 1996-11-25 | 1999-09-07 | Siemens Corporate Research, Inc. | Software testing and requirements tracking |
KR19980073886A (ko) * | 1997-03-20 | 1998-11-05 | 윤종용 | 교환기의 신호 테스트 장치 |
US6353896B1 (en) * | 1998-12-15 | 2002-03-05 | Lucent Technologies Inc. | Method and apparatus for testing event driven software |
US6640244B1 (en) * | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
US6708327B1 (en) * | 1999-10-14 | 2004-03-16 | Techonline, Inc. | System for accessing and testing evaluation modules via a global computer network |
US6701514B1 (en) * | 2000-03-27 | 2004-03-02 | Accenture Llp | System, method, and article of manufacture for test maintenance in an automated scripting framework |
US6671874B1 (en) * | 2000-04-03 | 2003-12-30 | Sofia Passova | Universal verification and validation system and method of computer-aided software quality assurance and testing |
US7072935B2 (en) * | 2000-04-28 | 2006-07-04 | Agilent Technologies, Inc. | Filtering web proxy for recording web-based transactions that supports secure HTTP steps |
US6505364B2 (en) * | 2001-03-27 | 2003-01-14 | Ge Medical Systems Global Technology Company, Llc | Method and apparatus for covering an adjustable patient table |
KR100503291B1 (ko) * | 2003-09-05 | 2005-07-22 | 신원정보기술주식회사 | 실시간 트랜잭션 처리요청 메시지의 분석과 업무처리를계층구조로 구성한 트랜잭션 통합메시지 처리시스템 |
US7016800B1 (en) * | 2003-12-16 | 2006-03-21 | Adaptec, Inc. | Centralized console API testing architecture |
EP3598304A1 (en) * | 2006-02-09 | 2020-01-22 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
US7958497B1 (en) * | 2006-06-07 | 2011-06-07 | Replay Solutions, Inc. | State synchronization in recording and replaying computer programs |
KR101004082B1 (ko) * | 2007-05-29 | 2010-12-27 | 주식회사 신한은행 | 금융시스템 자동 테스트 방법 및 시스템과 이를 위한프로그램 기록매체 |
US8997061B1 (en) * | 2007-12-31 | 2015-03-31 | Teradata Us, Inc. | Test scheduling based on historical test information |
US7930597B2 (en) * | 2008-09-18 | 2011-04-19 | Alcatel-Lucent Usa Inc. | Method and apparatus for validating system properties exhibited in execution traces |
US8645140B2 (en) * | 2009-02-25 | 2014-02-04 | Blackberry Limited | Electronic device and method of associating a voice font with a contact for text-to-speech conversion at the electronic device |
JP5767471B2 (ja) * | 2010-12-24 | 2015-08-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テストの網羅性を評価する装置及び方法 |
US9575873B2 (en) * | 2013-09-13 | 2017-02-21 | Sap Se | Software testing system and method |
WO2015062003A1 (en) * | 2013-10-31 | 2015-05-07 | Hewlett-Packard Development Company, L.P. | User interface tester |
-
2018
- 2018-12-14 KR KR1020180162283A patent/KR102180592B1/ko active IP Right Grant
-
2019
- 2019-12-12 CN CN201911274968.2A patent/CN111552626A/zh active Pending
- 2019-12-13 US US16/714,475 patent/US11093367B2/en active Active
- 2019-12-13 DE DE102019219586.5A patent/DE102019219586A1/de active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2258648A1 (en) * | 1996-06-17 | 1997-12-24 | Verifone, Inc. | A system, method and article of manufacture for managing transactions in a high availability system |
CA2336608A1 (en) * | 1998-07-07 | 2000-01-13 | Tenfold Corporation | Method for defining durable data for regression testing |
US20100058366A1 (en) * | 2008-08-27 | 2010-03-04 | Eric Sven-Johan Swildens | Method and system for testing interactions between web clients and networked servers |
US8984490B1 (en) * | 2010-10-26 | 2015-03-17 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US20170286150A1 (en) * | 2014-12-24 | 2017-10-05 | Huawei Technologies Co., Ltd. | Transaction Processing Method and Apparatus, and Computer System |
US20160277510A1 (en) * | 2015-03-18 | 2016-09-22 | Ca, Inc. | Response prototypes with robust substitution rules for service virtualization |
CA3042448A1 (en) * | 2016-11-01 | 2018-05-11 | Huawei Technologies Co., Ltd. | Resource allocation method, terminal, apparatus and system |
Non-Patent Citations (1)
Title |
---|
余金山;谭庆平;李暾;: "利用UML-RT序列图支持基于事务的SoC系统级功能验证", 计算机工程与科学, no. 03, 30 March 2007 (2007-03-30) * |
Also Published As
Publication number | Publication date |
---|---|
KR102180592B1 (ko) | 2020-11-18 |
US11093367B2 (en) | 2021-08-17 |
DE102019219586A1 (de) | 2020-06-18 |
KR20200073749A (ko) | 2020-06-24 |
US20200192786A1 (en) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11425047B2 (en) | Traffic analysis method, common service traffic attribution method, and corresponding computer system | |
CN109471865B (zh) | 一种离线数据管理方法、系统、服务器及存储介质 | |
CN101114237B (zh) | 转换鉴权令牌以促进应用程序之间的交互的方法和装置 | |
CN111552626A (zh) | 使用真实事务数据测试被开发系统的方法和系统 | |
US9781109B2 (en) | Method, terminal device, and network device for improving information security | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
CN109698753B (zh) | 基于区块链的上链共识算法匹配方法及装置 | |
CN107992771B (zh) | 一种数据脱敏方法和装置 | |
CN110830442A (zh) | 报文处理方法、装置及网关 | |
CN110222085B (zh) | 一种存证数据的处理方法、装置及存储介质 | |
JP2018537921A (ja) | Skypeの異なる機能の通信フローに基づく識別方法及び装置 | |
KR102125784B1 (ko) | 블록체인을 활용한 음성 녹취 데이터 검증 방법 | |
CN113225339A (zh) | 网络安全监测方法、装置、计算机设备及存储介质 | |
CN111625837A (zh) | 识别系统漏洞的方法、装置和服务器 | |
CN105207829B (zh) | 一种入侵检测数据处理方法、装置,及系统 | |
CN117201601A (zh) | 物联网设备接入方法、装置、设备及存储介质 | |
US11693750B2 (en) | Virtual device for providing test data | |
US20220368622A1 (en) | Systems and methods for network optimization using end user telemetry | |
CN111722943B (zh) | 基于边缘计算的大数据处理方法及中心云服务器 | |
JP7069500B2 (ja) | Itシステム検証方法およびシステム | |
Zhang et al. | Applying Software Transformation Techniques to Security Testing | |
CN109743188A (zh) | 日志数据处理方法和装置 | |
US20230229786A1 (en) | Systems and methods for federated model validation and data verification | |
KR20230089364A (ko) | 스마트 컨트랙트를 이용한 tmto 암호 해독 시스템 및 방법 | |
WO2023141594A1 (en) | Systems and methods for federated model validation and data verification |
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 |