CN113032270B - 一种基于流量对比的白盒仿真测试方法及系统 - Google Patents

一种基于流量对比的白盒仿真测试方法及系统 Download PDF

Info

Publication number
CN113032270B
CN113032270B CN202110352113.8A CN202110352113A CN113032270B CN 113032270 B CN113032270 B CN 113032270B CN 202110352113 A CN202110352113 A CN 202110352113A CN 113032270 B CN113032270 B CN 113032270B
Authority
CN
China
Prior art keywords
test
transaction
interface
association
case
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.)
Active
Application number
CN202110352113.8A
Other languages
English (en)
Other versions
CN113032270A (zh
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.)
Shanghai Netis Technologies Co ltd
Original Assignee
Shanghai Netis Technologies 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 Shanghai Netis Technologies Co ltd filed Critical Shanghai Netis Technologies Co ltd
Priority to CN202110352113.8A priority Critical patent/CN113032270B/zh
Publication of CN113032270A publication Critical patent/CN113032270A/zh
Application granted granted Critical
Publication of CN113032270B publication Critical patent/CN113032270B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供了一种基于流量对比的白盒仿真测试方法及系统,涉及仿真测试技术领域,该方法包括:步骤S1:从业务系统中生成包含时序的能够用于白盒测试的仿真测试用例;步骤S2:对被测试系统入口测试,采集测试情况下的流量,生成测试情况下完成白盒测试的过程。本发明能够全面实现自动化,有使得整个方案高效简洁,易于实施和部署;能够基于内部时序交易数据,使用经典的对比逻辑,实现的网络场景下的自动化的通用的白盒测试方法,极大的提高白盒测试的效率,且可以帮助快速定位问题原因,提高测试和保障效率。

Description

一种基于流量对比的白盒仿真测试方法及系统
技术领域
本发明涉及仿真测试技术领域,具体地,涉及一种基于流量对比的白盒仿真测试方法及系统。
背景技术
当前软件测试的主要的方法都是将请求提交给被测试系统,通过对比系统实际返回值与期望返回值差异来的对系统做验证。近年来,在软件测试领域逐渐兴起一种称为仿真测试的技术,仿真测试是种利用“真实”流量进行测试的方法。和传统测试通过手动编写测试用例后者脚本辅助生成测试用例不同,仿真测试主要是“捕获”业务系统中代表真实真实交易的网络流量,然后通过协议解码和交易关联将其还原为“这是交易”,然后以回放的方式打回到测试系统或者生产系统中。
使用图1来解释典型的传统测试方法。定义被测试系统入口为Portal系统入口。Portal的请求来自于BIZ业务网络(称为外部系统),两者之间的接口用接口I表示。Portal可以独立完成对的请求的处理,通过接口I返回结果给BIZ业务网络。更多场景下,Portal可能依赖于之后的系统服务A、B……X(称为内部系统),才能往成对请求的处理。Portal通过BUS总线等网络交换装置和服务A、B……X等相连。上述BUS总线包括但不限于例如ESB总线、消息总线、事件总线、微服务总线等,上述网络交换装置包括但不限于局域网、广域网、虚拟交换网、混合网等网络。如图1所示,分别定义这些连接为接口II,接口A,接口B……接口X。定义Tester为测试系统,通过Tester发送测试请求给Portal,并收到响应,两者之间的连接为接口T。对于典型测试方法来说主要使用T来发送测试请求到被测试系统Portal,然后接受Portal的响应。
这是一种黑盒的测试方法。即使接口T上得到的响应与预期的一致,是否可以表示被测系统符合要求?答案显然是否定的。例如Portal返回HTTP 200OK”,但实际希望是服务A和B之间AND逻辑产生的,希望A和B都OK才返回OK,但Portal使用OR逻辑,在仅仅A或B的情况下也会返回了OK。有例如对于“HTTP 500INTERNAL SERVER ERROR”,测试用例希望的是检测到X返回错误的缘故,但实际是服务B的问题。这样的问题数不胜数。
同时,如果遇到测试用例失败,对于图示系统,定位问题是个复杂耗时的过程。开发人员需要反复查阅日志,做复杂的调试。效率很低。
公开号为CN112433948A的发明专利,公开了一种基于网络数据分析的仿真测试系统及方法,包括:模块M1:通过网络抓包技术采集生产环境中的网络报文,对网络报文进行解析,生成结构化的交易数据并存储;模块M2:将结构化的交易数据进行预处理,得到预处理后的交易数据;模块M3:根据测试需求从预处理后的交易数据中选择数据集,按预设比例和速率回放至被测软件系统进行测试,监控被测系统状态,生成测试报告。本发明使用全量的生产数据建立测试数据库,仿真程度高,测试场景覆盖全面,各业务调用比例与实际场景一致。该发明主要是针对入口的测试,没有多段关联成时序交易链,测试时系统流量捕获,没有序列对比,是种黑盒测试。
发明内容
针对现有技术中的缺陷,本发明提供一种基于流量对比的白盒仿真测试方法及系统。
根据本发明提供的一种基于流量对比的白盒仿真测试方法及系统,所述方案如下:
第一方面,提供了一种基于流量对比的白盒仿真测试方法,所述方法包括:
步骤S1:从业务系统中生成包含时序的能够用于白盒测试的仿真测试用例;
步骤S2:对被测试系统入口测试,采集测试情况下的流量,生成测试情况下完成白盒测试的过程。
优选的,所述步骤S1中生成测试用例包括:
步骤S1.1:同时采集被测试系统的外部系统以及内部系统的数据,采集接口包括接口L和接口R;
步骤S1.2:对各段做协议解码和交易关联,其中,段表示某个发起请求的客户端和进行响应的服务端构成的一请求和服务的逻辑段落;
步骤S1.3:根据外部系统交易关联内部系统各段交易,形成时序交易链;
步骤S1.4:通用测试用例管理;通用测试用例管理为一般从数据生成测用例的过程,包括:用例的编号,用例描述,用例的分类,数据和脚本的拆分,敏感信息替换和脱敏,时间戳缩放,兴趣字段标记和可忽略字段标记,以及参数配置。
优选的,所述步骤S1.3中的关联包括段交易的交易关联字段或者其它字段,基于关联关键字,多段关联采用的方式包括:
通过配置的手段,定义两段之间的关联关键字;
基于字段统计信息方法,辅助配置来配置定义两段之间的关联关键字;
基于大数据学习的方法,或者人工智能的方法,发现和配置定义两段之间的关联关键字。
优选的,所述步骤S2包括:
读取测试用例,发送外部请求到被测试系统;
采集被测试系统的内部系统的数据,且仅在接口R上采集;
各段做交易解码和交易关联,且仅对接口R上数据做交易关联解码和交易关联;
根据测试用例外部交易关联内部各段交易,形成时序交易链,使用测试用例的外部交易和接口R上得到的交易做多端关联,称为Real Trans;
接收到外部系统的响应,替换Real Trans中最后的响应;
对比测试结果评价。
优选的,所述步骤S2.6中对比测试评价,包括黑盒和白盒:
黑盒测试评价:对比接收到外部系统的响应,若符合预期,则黑盒测试用例通过;否则用例失败;
白盒测试评价:根据兴趣字段标记、可忽略字段标记以及时间冗余参数,进行完全的序列对比,若符合,则白盒测试用例成功;否则用例失败,同时定位到错误点。
第二方面,提供了一种基于流量对比的白盒仿真测试系统,所述系统包括:
模块M1:从业务系统中生成包含时序的能够用于白盒测试的仿真测试用例;
模块M2:对被测试系统入口测试,采集测试情况下的流量,生成测试情况下完成白盒测试的过程。
优选的,所述模块M1中生成测试用例包括:
模块M1.1:同时采集被测试系统的外部系统以及内部系统的数据,采集接口包括接口L和接口R;
模块M1.2:对各段做协议解码和交易关联,其中,段表示某个发起请求的客户端和进行响应的服务端构成的一请求和服务的逻辑段落;
模块M1.3:根据外部系统交易关联内部系统各段交易,形成时序交易链;
模块M1.4:通用测试用例管理;通用测试用例管理为一般从数据生成测用例的过程,包括:用例的编号,用例描述,用例的分类,数据和脚本的拆分,敏感信息替换和脱敏,时间戳缩放,兴趣字段标记和可忽略字段标记,以及参数配置。
优选的,所述模块M1.3中的关联包括段交易的交易关联字段或者其它字段,基于关联关键字,多段关联采用的方式包括:
通过配置的手段,定义两段之间的关联关键字;
基于字段统计信息方法,辅助配置来配置定义两段之间的关联关键字;
基于大数据学习的方法,或者人工智能的方法,发现和配置定义两段之间的关联关键字。
优选的,所述模块M2包括:
模块M2.1:读取测试用例,发送外部请求到被测试系统;
模块M2.2:采集被测试系统的内部系统的数据,且仅在接口R上采集;
模块M2.3:各段做交易解码和交易关联,且仅对接口R上数据做交易关联解码和交易关联;
模块M2.4:根据测试用例外部交易关联内部各段交易,形成时序交易链,使用测试用例的外部交易和接口R上得到的交易做多端关联,称为Real Trans;
模块M2.5:接收到外部系统的响应,替换Real Trans中最后的响应。
模块M2.6:对比测试结果评价。
优选的,所述模块M2.6中对比测试评价,包括黑盒和白盒:
黑盒测试评价:对比接收到外部系统的响应,若符合预期,则黑盒测试用例通过;否则用例失败;
白盒测试评价:根据兴趣字段标记、可忽略字段标记以及时间冗余参数,进行完全的序列对比,若符合,则白盒测试用例成功;否则用例失败,同时定位到错误点。
与现有技术相比,本发明具有如下的有益效果:
1、将流量捕获、协议解码和多段交易关联的方法重复应用于测试用例生成过程和测试用例执行过程,既全面实现了自动化,有使得整个方案高效简洁,易于实施和部署;
2、基于内部时序交易数据,使用经典的对比逻辑,实现的网络场景下的自动化的通用的白盒测试方法,极大的提高了白盒测试的效率;
3、这种白盒测试方法可以快速确认隐藏与系统入口背后的深层次问题;同时可以帮助快速定位问题原因,提高测试和保障效率;
4、由于部署的简易性,本方法可适用于压力测试场景下的白盒测试,用户发现极限情况下的问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为典型测试系统结构图;
图2为本发明步骤流程图;
图3为本发明系统结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明实施例提供了一种基于流量对比的白盒仿真测试方法,参照图1和图2所示,具体包括如下步骤:
步骤S1:从业务系统中生成包含时序的能够用于白盒测试的仿真测试用例;
步骤S2:对被测试系统入口测试,采集测试情况下的流量,生成测试情况下完成白盒测试的过程。
参照图3所示,为本发明的系统架构结构示意图,在图1的基础上,增加了两个采集接口L和接口R,分别对应接口I和接口II做数据采集。
其中,步骤S1测试用例生成,包括如下步骤:
步骤S1.1:同时采集被测试系统的外部系统(BIZ和Portal之间)以及内部系统(Portal和右侧服务)的数据,也就是接口I和接口II上的流量,而传统黑盒仿真测试方法仅仅采集接口I流量。
数据采集是个成熟技术,可以但不限于使用SPAN和TAP等方法。如图3所示,两个采集接口L和R,分别对应接口I和接口II做数据采集。在接口I上采集Portal和BIZ的通信,在接口II上采集了Port和DNS、A、B……X的通信(DNS、A、B……X)的通信不需要采集。
步骤S1.2:对各段做协议解码和交易关联,其中,段表示某个发起请求的客户端和进行响应的服务端构成的一请求和服务的逻辑段落,它们的实际连接可能是通过多层交换机达成的,可以使用通信五元组(SourceIp、DestIp、SourcePort、DestPort和IpProtocolByte)来确定。采用通用的解码,譬如ESB采用HTTP+XML+SOAP协议。段内交易关联采用同步协议方法即可。
协议解码和交易关联都是成熟技术,主要都在相同的段内展开。完成步骤S1.2后,可以获得带时间的构成交易的请求和响应,包括但不限于用如下方式表示:
<ts1,seg_id,trans_id,req,req内容>,
<ts2,seg_id,trans_id,resp,resp内容>。
其中ts1和ts2是时间戳;seg_id,表示是哪一段,可以用系统编号,然后对应到段的属性(服务名称,服务IP和服务Port等);trans_id是段内的交易标识,req和resp分别时表示请求和响应,然后附带各自内容。
trans_id一般是协议定义,交易中请求和响应都有的字段,例如交易号,事件号,流水号等,也可以是多个字段的组合。特殊的,对于同步协议,例如基于TCP的协议,因为总是一个请求对应一个响应的结构,可以并不需要显示的交易trans_id,采用系统编号即可,包括但不限于递增整数。
步骤S1.3:根据外部系统交易关联内部系统各段交易,形成时序交易链,ExpectedTrans。从测试的角度来说,交易要从BIZ系统发起请求,然后关联内部系统中的相关的各段的交易。
可以根据实际业务来,例如也可能有全局统一的字段,gid。
得到如下包含如下时序交易链的测试用例Expected Trans,ts1-ts8为相对时间:
<ts1,outer,id1,req,gid,其它内容>,
<ts2,A,idA,req,gid,其它内容>,
<ts3,A,idA,resp,resp其它内容>,
<ts4,B,idB,req,gid,其它内容>,
<ts5,X,idX,req,gid,其它内容>,
<ts6,X,idX,resp,resp其它内容>,
<ts7,B,idB,resp,resp其它内容>,
<ts8,OUTER,id1,resp其它内容>。
这种关联可以称为“多段关联”,是种层次递进的树状的展开。多段关联主要是找到业务上可用的从上一段到下一段的关键字,例如上一段采用客户号,同时交易中有交易流水号,下一段A用客户号查询用户信息和权限,然后再一段B用交易流水号提交到其它系统等。
这种关联不限于信息出现在交易的请求或者响应中,不限于是段交易的交易关联字段或者其它字段。有些场景下两端之间可能不变化关联字段。某一个字段贯穿整个交易,或者交易的若干段,成为主要的关联字段。
基于关联关键字,多段关联可以采用但不限于这样一些方法:
1、通过配置的手段,定义两段之间的关联关键字;
2、基于字段统计信息方法,辅助配置来配置定义两段之间的关联关键字;
3、基于大数据学习的方法,或者人工智能的方法,发现和配置定义两段之间的关联关键字。
多段关联层层展开,是一个交易关联树,但对于本方法而言,可仅仅需要与Portal相连的系统的段的关联,从而形成一个时序的交易链。如上述例中的服务Expected Trans展开为:
<ts1,seg_OUTER,OUTER_trans_id,req,cust_id,seq_no,其它内容>,
<ts2,seg_A,A_trans_id,req,cust_id,其它内容>,
<ts3,seg_A,A_trans_id,resp,resp内容>,
<ts4,seg_B,seq_no,req,req内容>,
<ts5,seg_B,seq_no,resp,resp内容>,
<ts6,OUTER_trans_id,trans_outer_id,resp,resp内容>。
其中,ts1到ts6为递增的时间戳;seg_OUTER,seg_A和seg_B为三段的的标识;OUTER_trans_id,A_trans_id,seq_no分别为三段的段内交易标识;cust_id为客户号,包含在seg_OUTER的请求中和seg_A的请求中;seq_no为流水号,包含在seg_OUTER的请求中,并在seg_B作为交易标识。
步骤S1.4:通用测试用例管理;通用测试用例管理为一般从数据生成测用例的过程,包括:用例的编号,用例描述,用例的(等级、产品、所属等)分类,数据和脚本的拆分,敏感信息替换和脱敏,时间戳缩放,兴趣(需要对比的)字段标记和可忽略(不需要对比的)字段标记等等,当前的传统的测试用例和仿真测试用例都有同类功能。
同时也包括一些本发明特有参数配置,譬如符合要求的时间冗余参数等等,属于简单的系统配置。
其次,在步骤S2中,具体步骤如下:
步骤S2.1:读取测试用例,发送外部请求到被测试系统;通过读取测试用例,将外部请求发送到T接口上,启动测试过程。显然,起始时间基准是不同的,仅仅考虑相对关系。Tester在T接口上发送请求到Portal:
<ts1',outer,id1,req,gid,其它内容>。
步骤S2.2:采集被测试系统的内部系统的数据,同步骤S1.1,但仅仅在接口R上采集接口II的数据。
步骤S2.3:各段做交易解码和交易关联,同步骤S1.2,但仅仅对接口R上数据做交易关联解码和交易关联。
步骤S2.4:根据测试用例外部系统交易关联内部系统各段交易,形成时序交易链,Real Trans。基本同步骤S1.3,不同之处在于:步骤S1.3是对接口L上解码得到的交易和接口R上得到的到的交易做多段关联,而本步骤是使用测试用例的外部交易和接口R上得到的交易做多端关联,称为Real Trans。
通过步骤S2.2、步骤S2.3和步骤S2.4得到Real Trans:
<ts1',outer,id1,req,gid,其它内容>,
<ts2',A,idA,req,gid,其它内容>,
<ts3',A,idA,resp,resp其它内容>,
<ts4',B,idB,req,gid,其它内容>,
<ts5',X,idX,req,gid,其它内容>,
<ts6',X,idX,resp,resp其它内容>,
<ts7',B,idB,resp,resp其它内容>,
<ts8,OUTER,id1,resp其它内容>。
步骤S2.5:接收到外部系统的响应,替换Real Trans中最后的响应;Real Trans当前的响应来自于测试用的期望值,直接使用来自于T接口的实际响应的实际值替换。
在T2上获得真实响应:
<ts8',OUTER,id1,resp其它内容>。
替换原ts8之后,Real Trans最终如下:
<ts1',outer,id1,req,gid,其它内容>,
<ts2',A,idA,req,gid,其它内容>,
<ts3',A,idA,resp,resp其它内容>,
<ts4',B,idB,req,gid,其它内容>,
<ts5',X,idX,req,gid,其它内容>,
<ts6',X,idX,resp,resp其它内容>,
<ts7',B,idB,resp,resp其它内容>,
<ts8',OUTER,id1,resp其它内容>。
步骤S2.6:根据实际情况和配置,对比Expected Trans和Real Trans进行评价。对比测试结果评价,该对比测试评价,包括黑盒和白盒:
黑盒测试评价:对比接收到外部系统的响应,若符合预期,则黑盒测试用例通过;否则用例失败;
白盒测试评价:根据兴趣(需要对比的)字段标记、可忽略(不需要对比的)字段标记以及时间冗余参数,进行完全的序列对比,可以使用经典的序列对比算法,例如点阵法(Dot matrix)、动态规划(全局比句,局部比对)、隐马尔可夫、启发式比对-k-tuple(blastfasta)、基因序列对比Smith–Waterman等等。
若符合,则白盒测试用例成功;否则用例失败,同时定位到错误点。
本发明实施例提供了一种基于流量对比的白盒仿真测试方法,将流量捕获、协议解码和多段交易关联的方法重复应用于测试用例生成过程和测试用例执行过程,既全面实现了自动化,有使得整个方案高效简洁,易于实施和部署;基于内部时序交易数据,使用经典的对比逻辑,实现的网络场景下的自动化的通用的白盒测试方法,极大的提高了白盒测试的效率;这种白盒测试方法可以快速确认隐藏与系统入口背后的深层次问题;同时可以帮助快速定位问题原因,提高测试和保障效率;由于部署的简易性,本方法可适用于压力测试场景下的白盒测试,用户发现极限情况下的问题。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (6)

1.一种基于流量对比的白盒仿真测试方法,其特征在于,包括:
步骤S1:从业务系统中生成包含时序的能够用于白盒测试的仿真测试用例;
步骤S2:对被测试系统入口测试,采集测试情况下的流量,生成测试情况下完成白盒测试的过程;
所述步骤S1中生成测试用例包括:
步骤S1.1:同时采集被测试系统的外部系统以及内部系统的数据,采集接口包括接口L和接口R;其中,被测系统通过接口L连接外部系统,通过接口R连接内部网络交换装置;
步骤S1.2:对各段做协议解码和交易关联,其中,段表示某个发起请求的客户端和进行响应的服务端构成的一请求和服务的逻辑段落;
步骤S1.3:根据外部系统交易关联内部系统各段交易,形成时序交易链;
步骤S1.4:通用测试用例管理;通用测试用例管理为一般从数据生成测试用例的过程,包括:用例的编号,用例描述,用例的分类,数据和脚本的拆分,敏感信息替换和脱敏,时间戳缩放,兴趣字段标记和可忽略字段标记,以及参数配置;
所述步骤S2包括:
步骤S2.1:读取测试用例,发送外部请求到被测试系统;
步骤S2.2:采集被测试系统的内部系统的数据,且仅在接口R上采集;
步骤S2.3:各段做交易解码和交易关联,且仅对接口R上数据做交易关联解码和交易关联;
步骤S2.4:根据测试用例外部交易关联内部各段交易,形成时序交易链,使用测试用例的外部交易和接口R上得到的交易做多端关联,称为Real Trans;
步骤S2.5:接收到外部系统的响应,替换Real Trans中最后的响应;
步骤S2.6:对比测试结果评价。
2.根据权利要求1所述的基于流量对比的白盒仿真测试方法,其特征在于,所述步骤S1.3中的关联包括段交易的交易关联字段或者其它字段,基于关联关键字,多段关联采用的方式包括:
通过配置的手段,定义两段之间的关联关键字;
基于字段统计信息方法,辅助配置来配置定义两段之间的关联关键字;
基于大数据学习的方法,或者人工智能的方法,发现和配置定义两段之间的关联关键字。
3.根据权利要求1所述的基于流量对比的白盒仿真测试方法,其特征在于,所述步骤S2.6中对比测试评价,包括黑盒和白盒:
黑盒测试评价:对比接收到外部系统的响应,若符合预期,则黑盒测试用例通过;否则用例失败;
白盒测试评价:根据兴趣字段标记、可忽略字段标记以及时间冗余参数,进行完全的序列对比,若符合,则白盒测试用例成功;否则用例失败,同时定位到错误点。
4.一种基于流量对比的白盒仿真测试系统,其特征在于,包括:
模块M1:从业务系统中生成包含时序的能够用于白盒测试的仿真测试用例;
模块M2:对被测试系统入口测试,采集测试情况下的流量,生成测试情况下完成白盒测试的过程;
所述模块M1中生成测试用例包括:
模块M1.1:同时采集被测试系统的外部系统以及内部系统的数据,采集接口包括接口L和接口R;其中,被测系统通过接口L连接外部系统,通过接口R连接内部网络交换装置;
模块M1.2:对各段做协议解码和交易关联,其中,段表示某个发起请求的客户端和进行响应的服务端构成的一请求和服务的逻辑段落;
模块M1.3:根据外部系统交易关联内部系统各段交易,形成时序交易链;
模块M1.4:通用测试用例管理;通用测试用例管理为一般从数据生成测试用例的过程,包括:用例的编号,用例描述,用例的分类,数据和脚本的拆分,敏感信息替换和脱敏,时间戳缩放,兴趣字段标记和可忽略字段标记,以及参数配置;
所述模块M2包括:
模块M2.1:读取测试用例,发送外部请求到被测试系统;
模块M2.2:采集被测试系统的内部系统的数据,且仅在接口R上采集;
模块M2.3:各段做交易解码和交易关联,且仅对接口R上数据做交易关联解码和交易关联;
模块M2.4:根据测试用例外部交易关联内部各段交易,形成时序交易链,使用测试用例的外部交易和接口R上得到的交易做多端关联,称为Real Trans;
模块M2.5:接收到外部系统的响应,替换Real Trans中最后的响应;
模块M2.6:对比测试结果评价。
5.根据权利要求4所述的基于流量对比的白盒仿真测试系统,其特征在于,所述模块M1.3中的关联包括段交易的交易关联字段或者其它字段,基于关联关键字,多段关联采用的方式包括:
通过配置的手段,定义两段之间的关联关键字;
基于字段统计信息方法,辅助配置来配置定义两段之间的关联关键字;
基于大数据学习的方法,或者人工智能的方法,发现和配置定义两段之间的关联关键字。
6.根据权利要求4所述的基于流量对比的白盒仿真测试系统,其特征在于,所述模块M2.6中对比测试评价,包括黑盒和白盒:
黑盒测试评价:对比接收到外部系统的响应,若符合预期,则黑盒测试用例通过;否则用例失败;
白盒测试评价:根据兴趣字段标记、可忽略字段标记以及时间冗余参数,进行完全的序列对比,若符合,则白盒测试用例成功;否则用例失败,同时定位到错误点。
CN202110352113.8A 2021-03-31 2021-03-31 一种基于流量对比的白盒仿真测试方法及系统 Active CN113032270B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110352113.8A CN113032270B (zh) 2021-03-31 2021-03-31 一种基于流量对比的白盒仿真测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110352113.8A CN113032270B (zh) 2021-03-31 2021-03-31 一种基于流量对比的白盒仿真测试方法及系统

Publications (2)

Publication Number Publication Date
CN113032270A CN113032270A (zh) 2021-06-25
CN113032270B true CN113032270B (zh) 2023-08-22

Family

ID=76453238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110352113.8A Active CN113032270B (zh) 2021-03-31 2021-03-31 一种基于流量对比的白盒仿真测试方法及系统

Country Status (1)

Country Link
CN (1) CN113032270B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502426A (zh) * 2019-07-08 2019-11-26 中国工商银行股份有限公司 分布式数据处理系统的测试方法和装置
CN112433948A (zh) * 2020-11-30 2021-03-02 上海天旦网络科技发展有限公司 一种基于网络数据分析的仿真测试系统及方法
CN113010432A (zh) * 2021-03-31 2021-06-22 上海天旦网络科技发展有限公司 基于流量时序回放的白盒仿真测试方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159145B2 (en) * 2003-05-12 2007-01-02 Infineon Technologies Ag Built-in self test system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502426A (zh) * 2019-07-08 2019-11-26 中国工商银行股份有限公司 分布式数据处理系统的测试方法和装置
CN112433948A (zh) * 2020-11-30 2021-03-02 上海天旦网络科技发展有限公司 一种基于网络数据分析的仿真测试系统及方法
CN113010432A (zh) * 2021-03-31 2021-06-22 上海天旦网络科技发展有限公司 基于流量时序回放的白盒仿真测试方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
流量回放上的调研;鹏城周;https://blog.csdn.net/weixin_36996888/article/details/109099352;全文 *

Also Published As

Publication number Publication date
CN113032270A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN107995283B (zh) 一种数据埋点分析的方法、设备及系统
CN110730246A (zh) 一种微服务架构下的分布式链路跟踪方法
CN106095673A (zh) 基于web接口的自动化测试方法及系统
CN108306804A (zh) 一种Ethercat主站控制器及其通信方法和系统
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN111200523B (zh) 中台系统配置方法、装置、设备及存储介质
CN105117345A (zh) 一种应用程序的接口测试方法及装置
CN110069413A (zh) 测试数据通信、测试方法、装置、设备及存储介质
CN106648722B (zh) 基于大数据的Flume接收端数据处理方法和装置
CN114185770A (zh) 生成测试数据的方法、装置、计算机设备和存储介质
CN113032270B (zh) 一种基于流量对比的白盒仿真测试方法及系统
US20040268318A1 (en) Expert system for intelligent testing
CN117176802A (zh) 一种业务请求的全链路监控方法、装置、电子设备及介质
CN113010432B (zh) 基于流量时序回放的白盒仿真测试方法及系统
CN111930621A (zh) Dns自动化性能测试方法、装置、设备及可读存储介质
CN111176995A (zh) 一种基于大数据测试用例的测试方法和测试系统
KR102643598B1 (ko) 패턴 기반 SoS 내 실패 유발 상호작용 분석 방법 및 장치
CN115242684B (zh) 全链路压测方法、装置、计算机设备及存储介质
CN114756301A (zh) 日志处理方法、装置和系统
CN110297748A (zh) 一种定位调用出错的方法、装置和计算机可读存储介质
Ackermann et al. Recovering views of inter-system interaction behaviors
CN107632844A (zh) 用于卫星测试的遥测多格式组帧方法
CN111914429A (zh) 基于区块链的电力仿真培训学习数据管理系统及方法
CN117271359B (zh) 一种用于多种客户端应用场景的自动化测试系统及方法
CN103716824B (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
GR01 Patent grant
GR01 Patent grant