CN117555809A - 一种基于流量复制回放的自动化测试方法及相关装置 - Google Patents
一种基于流量复制回放的自动化测试方法及相关装置 Download PDFInfo
- Publication number
- CN117555809A CN117555809A CN202410030527.2A CN202410030527A CN117555809A CN 117555809 A CN117555809 A CN 117555809A CN 202410030527 A CN202410030527 A CN 202410030527A CN 117555809 A CN117555809 A CN 117555809A
- Authority
- CN
- China
- Prior art keywords
- result
- playback
- target
- request
- flow
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 160
- 230000010076 replication Effects 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 108
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000005070 sampling Methods 0.000 claims abstract description 34
- 238000004140 cleaning Methods 0.000 claims abstract description 31
- 238000003860 storage Methods 0.000 claims description 20
- 230000014509 gene expression Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 66
- 230000008569 process Effects 0.000 abstract description 25
- 238000004458 analytical method Methods 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 238000005206 flow analysis Methods 0.000 description 5
- 238000010998 test method Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000005111 flow chemistry technique Methods 0.000 description 3
- 235000019580 granularity Nutrition 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于流量复制回放的自动化测试方法及相关装置,包括:对待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;对目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,对回放结果进行数据清洗,得到目标回放结果;基于目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将请求消息、基准系统响应消息和被测系统响应消息建立关联关系;基于关联关系对目标回放结果进行统计和采样,得到测试报告。上述过程,在不需要调用外部应用的前提下,实现了基于流量复制回放技术进行自动化测试,并且实现了对回放结果的分析和测试报告的生成。
Description
技术领域
本发明涉及自动化测试技术领域,尤其涉及一种基于流量复制回放的自动化测试方法及相关装置。
背景技术
流量复制回放技术在软件自动化测试领域有着广泛的应用。流量复制回放技术通过记录真实用户的访问行为,然后在测试环境中重放这些行为,来模拟不同的负载和场景。流量回放技术可以提供真实和准确的测试数据,避免人工构造的数据可能存在的偏差和不足。
流量复制回放技术支持的协议从TCP/IP网络协议、HTTP协议到各种中间件使用协议等都有工具支持,比如tcpdump和GoReplay也可以实现流量录制回放。但是, tcpdump只是一个流量和回放的工具,它能修改请求头,但没有其它对请求进行复杂处理的能力,更没有结果分析的能力;GoReplay它通过一个中间件的技术可以处理请求,理论上可以满足各种需求,但是由于这个中间件实际上是一个独立的外部应用,实际执行每个参数的处理都会调用一次外部应用,因此这个设计会导致执行性能的问题,并且中间件的开发也不够灵活,另外GoReplay也没有分析结果生成测试报告的能力。
发明内容
有鉴于此,本发明提供了一种基于流量复制回放的自动化测试方法及相关装置,用以解决现有技术中基于流量复制回放技术进行自动化测试的过程中,缺少结果分析、测试报告,或者调用外部应用,导致执行性能的问题。具体方案如下:
一种基于流量复制回放的自动化测试方法,包括:
遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;
对所述目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果;
基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系;
基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告。
上述的基于流量复制回放的自动化测试方法,可选的,遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象,包括:
在所述解析器中基于所述待复制流量中的原始请求对象确定第一结果请求对象;
在所述过滤器中基于所述第一结果请求对象和过滤表达式列表确定第二结果请求对象;
在所述处理器中基于所述第二结果请求对象和消息处理规则列表确定第三结果请求对象;
对所述第三结果请求对象进行结果回调,得到目标结果请求对象。
上述的基于流量复制回放的自动化测试方法,可选的,对所述回放结果进行数据清洗,得到目标回放结果,包括:
对所述回放结果进行排序,或空值清洗,或,精度清洗,或,字段清洗中的至少一种处理,得到目标回放结果。
上述的基于流量复制回放的自动化测试方法,可选的,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系,包括:
获取所述请求消息的第一标识,所述基准系统响应消息的第二标识和所述被测系统响应消息的第三标识;
遍历所述第一标识、所述第二标识和所述第三标识,将标识相同的目标请求消息和目标基准系统响应消息和被测系统响应消息建立关联关系。
上述的基于流量复制回放的自动化测试方法,可选的,基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告,包括:
基于所述关联关系对所述目标回放结果中的测试用例、失败率和失败测试用例进行统计;
对所述失败测试用例进行采样,得到目标失败测试用例;
基于Web页面对所述测试用例、所述失败率和所述目标失败测试用例进行展示。
上述的基于流量复制回放的自动化测试方法,可选的,还包括:
获取所述目标失败测试用例的测试标识;
查找与所述测试标识对应的目标请求信息,将所述目标请求信息重新发送给所述基准系统和所述被测系统进行流量回放。
一种基于流量复制回放的自动化测试装置,包括:
遍历和处理模块,用于遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;
测试和清洗模块,用于对所述目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果;
提取和建立模块,用于基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系;
统计和采样模块,用于基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告。
上述的基于流量复制回放的自动化测试装置,可选的,所述遍历和处理模块包括:
第一确定单元,用于在所述解析器中基于所述待复制流量中的原始请求对象确定第一结果请求对象;
第二确定单元,用于在所述过滤器中基于所述第一结果请求对象和过滤表达式列表确定第二结果请求对象;
第三确定单元,用于在所述处理器中基于所述第二结果请求对象和消息处理规则列表确定第三结果请求对象;
回调单元,用于对所述第三结果请求对象进行结果回调,得到目标结果请求对象。
上述的基于流量复制回放的自动化测试装置,可选的,所述提取和建立模块包括:
获取单元,用于获取所述请求消息的第一标识,所述基准系统响应消息的第二标识和所述被测系统响应消息的第三标识;
建立单元,用于遍历所述第一标识、所述第二标识和所述第三标识,将标识相同的目标请求消息和目标基准系统响应消息和被测系统响应消息建立关联关系。
上述的基于流量复制回放的自动化测试装置,可选的,所述统计和采样模块包括:
统计单元,用于基于所述关联关系对所述目标回放结果中的测试用例、失败率和失败测试用例进行统计;
采样单元,用于对所述失败测试用例进行采样,得到目标失败测试用例;
展示单元,用于基于Web页面对所述测试用例、所述失败率和所述目标失败测试用例进行展示。
一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述的基于流量复制回放的自动化测试方法。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的基于流量复制回放的自动化测试方法。
与现有技术相比,本发明包括以下优点:
本发明公开了一种基于流量复制回放的自动化测试方法及相关装置,包括:对待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;对目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,对回放结果进行数据清洗,得到目标回放结果;基于目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将请求消息、基准系统响应消息和被测系统响应消息建立关联关系;基于关联关系对目标回放结果进行统计和采样,得到测试报告。上述过程,在不需要调用外部应用的前提下,实现了基于流量复制回放技术进行自动化测试,并且实现了对回放结果的分析和测试报告的生成。
附图说明
图1为本发明实施例公开的一种基于流量复制回放的自动化测试方法流程图;
图2为本发明实施例公开的一种基于流量复制回放的自动化测试方法示意图;
图3为本发明实施例公开的一种基于流量复制回放的自动化测试装置结构框图;
图4为本发明实施例公开的一种设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种基于流量复制回放的自动化测试方法及相关装置,应用于基于流量复制回放技术进行自动化测试过程中,所述方法的测试流程如图1所示,包括步骤:
S101、遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;
本发明实施例中,首先获取待复制流量,其中,所述待复制流量存储在指定位置,因此,可以在指定位置获取所述待复制流量,所述待复制流量可以基于具体的情况进行确定,本发明实施例中,对所述待复制流量的确定过程不进行限定。
本发明实施例中,为了获取所述目标结果请求对象,本发明提供了一个请求在再处理系统,该系统包括一个请求遍历方法,一个请求解析实现接口,一个请求过滤器,一个请求再处理器,和一个结果回调子系统。
获取所述待复制流量后,请求遍历方法首先实现对所述待复制流量进行遍历,遍历过程中实现每个请求消息的提取,并对请求进行解析、过滤;所述遍历方法的第一个入参是流量复制结果的输出位置,指示方法从哪里读取流量请求;方法的第二个参数是一个请求解析的实现,以在请求遍历过程中使用来解析每个请求,其中,解析除了根据标准HTTP协议进行处理外,还对其中包含的业务参数进行进一步处理,比如解析jwt信息以获取用户信息,解析请求链接或请求体以获取本次请求面向的具体业务类型;方法的第三个参数是一个请求过滤器的实现,以在请求解析后是用来决定是否要过滤该请求,其中,过滤过程主要是针对请求的时间、接口路径、用户、业务类型等进行过滤;方法的第四个参数是一个请求处理器的实现,用来根据需求对请求内容的某些参数进行覆写,具体采用哪些参数需要基于具体的应用场景进行设定,本发明实施例中对参数的确定过程不进行限定。
进一步的,请求解析实现接口定义了一个包含入参和出参的抽象接口,入参是一个原始请求对象,其中,该原始请求对象所述待复制流量,出参是一个可供方便操作的、待实现测试功能系统的可进行扩展定义的第一结果请求对象,其中,所述第一结果请求对象中包括:请求链接、方法、请求头和请求体,同时增加了实际应用中需要的额外信息,比如用户信息,业务类型等;请求解析接口内部实现由用户根据需要自己实现,针对一些通用的协议对应的消息,比如HTTP协议可以继承业界成熟的解析器,在此基础上进行适当的扩展;
请求过滤器接口定义了两个入参:分别是第一结果请求对象和过滤表达式列表,和一个出参--是否保留过滤该请求的标志。过滤表达式列表包含了多个过滤条件,这些条件的判定对象是请求对象的各个属性,比如在HTTP协议的请求中,它通常是消息头,消息方法,请求路径和请求体等;判定方法的实现可以是使用正则表达式的匹配器,也可以是以代码形式编写的实现了特定逻辑判断的lambda表达式;正则匹配器可以通过读取外部配置定义的方式动态生成;有一些通用的过滤器,比如时间过滤器,可以用来过滤掉不在指定时间区间内的日志,最终得到第二结果请求对象。
表达式代码如:
ignore_urls =[x,y,z] # 需要过滤掉的url
expr1 =lambda request: request[url] not in ignore_urls
ignore_users = [a, b, c]#需要过滤掉的用户
expr2 =lambda request: request["header"] ["user"]not in ignore_users
外部定义的方式以json保存,以固定的键值位置存放需要过滤的条件的具体值,如:
{
"needed_urls": [a,b,c]
}。
然后通过构造一个固定的过滤方法来实现过滤功能:
def is_needed_url(url):
with open("config.json") as f:
conf = json.load(f)
needed_urls =conf["needed_urls"]
return (url in needed_urls)。
is_needed_ur方法和上面的lambda表达式都以同样的方法,即加入过滤表达式列表,并传递给请求过滤器接口;
请求处理器接口定义了两个入参:分别是所述第二结果请求对象和消息处理规则列表。消息处理规则列表包含了多个处理规则,每个规则定义了需要处理的结果对象的属性,以及处理的逻辑。这些规则可以是一个静态的规则,也可以是一个动态的规则,比如在HTTP协议的请求中根据消息具体的内容对请求头进行特定的覆写;对一些RESTful协议的请求,可以覆写请求体中的一些内容,比如修改分页大小等,其中,动态规则包含哪些每次请求值都需要变化的参数,比如用户认证信息需要每次实时更新以防止旧的认证过期导致测试失败;再比如trace id,需要每次生成要给全新的trace id,以保证在问题定位跟踪中保持独立性;静态规则用来对一个请求的内容做固定的更新,比如在带翻页的列表式请求响应的测试中,为了防止不稳定排序带来的翻页数据不一致性,可以修改本次请求的翻页大小以确保所有的数据都能够全部返回,从而排除不一致的问题;相对于动态规则来说,这种翻页的大小设置是根据业务的具体情况一次性设定的,其值是固定的不变的。基于所述消息处理规则列表对所述第二结果请求对象进行处理,最终得到第三结果请求对象。
结果回调子系统运行在请求遍历结束,实现对测试执行策略调整的支持,比如调整请求的时间重新分布,或请求接口的分布等等,最终得到目标结果请求对象,优选的将所述目标结果请求对象以输出请求日志的形式进行存储。
例如时间重新分布的调整过程如下:首先统计出当前请求的接口数、每个接口的请求数,以及请求覆盖的时间范围。然后根据请求数量的要求,对某些接口超出需求数量的删除掉多余的请求;然后根据实际测试允许的时间范围,和请求的数量,计算各个请求播放之间的间隔;最后每个请求的发起时间按照时间间隔递进的更新;
S102、对所述目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果;
本发明实施例中,获取在指定位置存储的所述目标请求结果,基于所述目标结果请求对象进行流量回放,以实现对基准系统和被测系统的测试,其中,基准系统是一个部署了稳定的或生产上使用的版本代码的运行系统,即用其测试结果作为标准的运行系统;被测系统是用当前正在开发的代码部署的运行系统,即要对其正确性进行测试的运行系统。获取测试得到的回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果,具体的处理过程包括一个请求遍历方法,一个数据清洗器,以及一个结果存储结构。
请求遍历方法首先实现对所述回放结果进行遍历,所述请求遍历方法的第一个入参是流量回放结果的输出位置,指示方法从哪里读取流量回放结果;方法的第二个参数是一个数据清洗器的实现,在对每个请求的回放结果进行比对时根据数据清洗器对数据进行清洗预处理。数据清洗器是一个清洗规则列表,每个规则都是可配置的,通过配置项指定清洗的对象和清洗的方法。这些规则是通用的,具体包含以下4种:
排序规则,它定义在一个复杂对象的数组中,如何对数组进行排序,这些排序的定义实际上就是定义排序的字段;
首先定义需要排序的对象,比如在
{
result: {
users: [
{id: 2, Name: A},
{id: 1, Name: B},
{id: 3, Name: C }
]
}
}
中,需要排序的对象是用户列表(users),则需要指定一个键值路径,即 /result/users。
其次需要定义排序字段,比如id。
最后调用数组的sort函数,并通过表达式指定排序方法,比如 to_sort_data[result][ users].sort(key=lambda x: x[id])。
空值清洗规则,它定义了哪些对象的空值需要清洗,清洗为一个具体什么样的值,以规避比对过程中空值无法比较的为;
首先定义需要清洗的对象,比如在
{
result: {
sales_amount: None,
sales_quantity: 100
}
}
中,需要清洗的对象是sales_amount,则需要指定一个键值路径,即 /result/sales_amount。
其次需要定义清洗为什么值,此处因为是一个数字,因此清洗为0;如果是一个文本型,则需要清洗为空字符串。
精度清洗规则,它定义了对于精度问题带来的影响该如何以合理的精度进行处理;这个合理的精度是业务系统需要的一个最高精度,通过配置定义好了清洗规则会将高精度的值进行清洗,从而避免因精度误差带来的对比失败问题;
首先定义需要清洗的对象,比如在
{
result: {
sales_amount: 111.222333444555,
sales_quantity: 100
}
}
中,需要清洗的对象是sales_amount,则需要指定一个键值路径,即 /result/sales_amount。
其次需要定义精度。比如通常金额到1厘钱已经足够了,那么我们此处就定义精度为3。
然后对改制进行降低精度,比如
to_clean_data[result][sales_amount]= round(to_clean_data[result][sales_amount], 3)。
字段清洗规则,它定义了在一个系统的迭代中对于干扰字段如何排除;当系统迭代中有增加、删除字段时,需要排除这些字段对结果的影响;可以指定需要排除的干扰字段,或者指定只比对哪些字段,具体使用时根据具体情况考虑哪一种更方便进行选择;
首先定义需要清洗的对象,比如在
{
result: {
sys_date: 2023-09-20 10:50:31
sales_amount: 111.222333444555,
sales_quantity: 100
}
}
中,需要清洗的对象是sys_date,则需要指定一个键值路径,即 /result/sys_date。
然后删除该字段即可,比如
del to_clean_data[result][sys_date]。
上述4种规则,都有不同粒度的定义规则,大粒度上可以是全局的,小粒度上可以是针对具体的接口,通过这样的定义,就可以实现一个结构清洗的配置文件来定义响应的规则,其中上述规则的选取需要基于具体情况进行确定,可以选取全部,可以选取其中的至少一个,也可以不选取,对所述回放结果进行上述处理后,最终得到所述目标回放结果。
S103、基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系;
本发明实施例中,基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,对请求和响应进行解析,并将请求和响应基于标识进行配对,其中,所述回放结果为测试结果,在测试结果中,同样包含了请求内容,和请求响应内容,这些都是标准的HTTP协议的消息内容,使用和之前一样的解析器进行处理,不同的是此处增加了响应结果的处理和分类。对响应结果的处理中需要把响应结果和请求关联。具体的配对过程如下:获取所述请求消息的第一标识,所述基准系统响应消息的第二标识和所述被测系统响应消息的第三标识,遍历所述第一标识、所述第二标识和所述第三标识,将标识相同的目标请求消息和目标基准系统响应消息和被测系统响应消息建立关联关系,本发明实施例中对所述第一标识、所述第二标识和所述第三标识的存在形式不进行限定。本发明实施例是基于TCP的HTTP协议,这样响应和请求都是在一个TCP连接中,所以在保存响应和请求时可以给一个同样的uuid并写入到所述回放结果中,在对回放结果的提取过程中就可以通过uuid配对了。同时需要对不同测试环境的响应进行标识,添加一个环境标签,这样就可以对不同环境之间的测试结果进行识别并进行结果比对。
在请求和响应经过匹配和清洗后执行一个通用的比较算法进行比较。比如在RESTful协议的测试对象中通常响应体是一个JSON格式的数据,可以引用业界通用的JSON格式比较方法库;比较基于JSON对象进行,这是当前通用、流行的结果返回格式,处理过程如下:
首先对上面提取到的请求和响应进行遍历;每遇到一个请求,就创建一个3元对象,其中,第一元存放请求,然后,每遇到一个响应,就检查它和哪一个3元对象中的请求对应,并把它放入该三元中,其中基准环境的响应放入第二元,测试环境的响应放入第三元;每次放入响应时,都判断是否基准环境和测试环境的响应都有了,当所有环境的响应都有了,开始进行响应内容的比对;最后,当比对成功时返回一个True,当比对失败时,返回一个False,同时记录请求内容、响应结果,用作后续分析;优选的,比对时,使用递归方式对json对象进行深度比对,直到子对象最后是一个基础类型的数值,即字符串、数值。
在所述关联关系存贮中,保留比对的具体结果,包括测试了多少个接口,每个接口的通过率,测试失败的请求、响应的具体内容和基准系统响应与被测系统响应之间的具体差异;同时保留失败测试与原始日志之间的请求定位关联关系,比如trace id。
S104、基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告。
本发明实施例中,提供了一种可视化的测试报告和问题定位分析的能力,基于一个Web页面来展现测试的结果,包括总体信息,失败测试的具体信息;以及在Web页面上集成了对失败信息的请求内容、结果差异的查看,其中,上述信息以测试报告的形式存在。
Web页面包含三个部分,第一部分是总体统计信息,描述本次测试执行了多少个用例,通过率多少;第二个部分是覆盖率和具体的测试情况,覆盖率指覆盖了具体哪些测试对象,比如RESTful接口,列举每个对象/接口,并描述每个上面执行了多少个测试用例,通过率多少;第三部分是失败测试的具体详情,同样根据每个对象进行分类,并且从所有的失败测试用例中抽样目标失败测试用例展示。
所述目标失败用例的展现方案注意点主要在于两个方面,一方面是抽样的选择原则,如果失败不是很多则可以全部展示,如果失败太多则应进行抽样,抽样应竟可能覆盖不同代表性的用例,比如尽可能多的覆盖到不同的用户;另一方面要展示具体的请求参数、请求响应内容,以及基准系统和被测系统响应结果的具体差异;
抽样是针对某一个接口或业务类型进行的。如前所述是可以在处理请求、响应时区分出哪些接口、业务类型和请求的uuid的,此时针对他们进行一个统计,根据每个用户存放对应的请求uuid;
比如:
{
user1: [uuid1, uuid2, uuid3, uuid4],
user2: [uuid5]
user3: [uuid6, uuid7, uuid8, uuid9, uuid10]
}
期望的结果是每个user都能覆盖到,并且平均的覆盖到,比如上述例子中最终采样5个请求,希望的结果是{uuid1, uuid2, uuid5, uuid6, uuid7},而不是类似{uuid1,uuid2, uuid3, uuid4, uuid5}这种user分配不均衡的结果。
算法实现示例
def select_mostly_covered(items, k):
selected_items = []
items = copy.deepcopy(items)
while len(selected_items)<k and items.keys():
for key in list(items.keys()):
left_items = items[key]
if left_items:
selected_items.append(left_items.pop(0))
else:
del items[key]
if len(selected_items) == k:
break
return selected_items
本发明公开了一种基于流量复制回放的自动化测试方法,包括:对待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;对目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,对回放结果进行数据清洗,得到目标回放结果;基于目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将请求消息、基准系统响应消息和被测系统响应消息建立关联关系;基于关联关系对目标回放结果进行统计和采样,得到测试报告。上述过程,在不需要调用外部应用的前提下,实现了基于流量复制回放技术进行自动化测试,并且实现了对回放结果的分析和测试报告的生成。
本发明实施例中还包括:对该失败请求一键回放的功能,一键回放复用S102实现一个独立的回放子系统,将请求分别单独回放到基准系统和被测系统中;接受一个失败测试和流量回放日志中的关联关系,从而它能够在测试结果分析日志中找到对应请求的具体参数,并组装一个新的请求进行回放;然后它利用S102的数据比对方案执行同样的规则比对,并最终将比对结果再呈现在Web页面上。通常在一个问题定位过程中一个历史的静态数据不能够完全帮助开发人员定位到问题,再比如在实时系统中数据变化的延迟也可能导致测试失败,这些情况开发人员都需要反复执行该测试来收集、分析、定位问题,一键回放功能可以满足这样的需求。本发明实施例中所述方法整体执行的示意图如图2所示。
流量处理:首先进行流量复制,输出请求日志,在所述待复制流量的指定存储位置,对原始请求进行解析器、过滤器、处理器和回调子系统的处理,生成回放需要的目标结果请求对象,并以输出请求日志的方式存储在文件中;
流量回放:利用流量处理输出的文件作为输入,将流量回放到被测环境中得到回放结果,并将回放的结果存在文件中,将流量回放到被测环境中包括:基于基准环境回放和被测环境回放。
流量分析:利用流量回放输出的结果文件作为输入,读取分析结果(回放结果)对其中的结果进行流量分析,其中,流量分析过程包括:排序、空值清洗、精度清洗、字段清洗和比对,并对基准环境的和被测环境的结果进行比对,统计测试数据(请求数、失败数等),并记录和保存失败请求。
生成报告:读取分析结果(关联关系)进行统计和采样,输出HTML报告,对流量分析的结果,包括:测试数据和失败请求,生成测试汇总和失败请求抽样列表的可视化页面,并将所述HTML报告存储到失败请求记录文件中。
回放:是一个服务系统,在报告页面通过一键点击,可以带着失败请求的uuid调用回放系统,回放系统接到回放请求后根据uuid去流量分析的失败请求记录文件中找到对应的请求,读取分析过结果,并重新发送该请求到基准环境和被测环境,然后对比结果并返回结果给页面,实现一键回放。
本发明提供了基于流量复制回放的自动化测试方法,该方法提供的流量处理能力全面、使用灵活,用户可以通过配置的方法配置流量处理规则,大大提高了易用性和普适性;同时在该方案提供的框架下,用户只需要专注于指定的插件式开发就可以提供更加个性化的数据处理能力,这种插件开发是在应用内部运行的,其性能比外挂应用增强非常多;
该方法提供的结果比对处理能力,解决了目前市场上工具的噪音处理能力差,无法进行二次开发等问题,用户通过配置的方式灵活的明确比对要求,使分析结果更加有效和准确,同时极大降低了自动化测试人员的维护工作;
该方法提供的一键回放功能针对研发定位问题、实时系统延迟误差的问题,形成了一个闭环,让用户在分析问题、优化规则配置、分析测试结果上形成了完整的能力;
本流量复制回放自动化测试工具能够给软件迭代开发中回归测试带来极大的帮助,能够极大的提高自动化程度,降低测试人员投入,同时使用灵活、方便,成本低,从而保障软件交付的速度和质量。基于上述的一种基于流量复制回放的自动化测试方法,本发明实施例中还提供了一种基于流量复制回放的自动化测试装置,所述装置的结构框图如图3所示,包括:
遍历和处理模块201、测试和清洗模块202、提取和建立模块203以及统计和采样模块204。
其中,
所述遍历和处理模块201,用于遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;
所述测试和清洗模块202,用于对所述目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果;
所述提取和建立模块203,用于基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系;
所述统计和采样模块204,用于基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告。
本发明公开了一种基于流量复制回放的自动化测试装置,包括:对待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;对目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,对回放结果进行数据清洗,得到目标回放结果;基于目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将请求消息、基准系统响应消息和被测系统响应消息建立关联关系;基于关联关系对目标回放结果进行统计和采样,得到测试报告。上述过程,在不需要调用外部应用的前提下,实现了基于流量复制回放技术进行自动化测试,并且实现了对回放结果的分析和测试报告的生成。
本发明实施例中,所述遍历和处理模块201包括:
第一确定单元、第二确定单元和第三确定单元。
其中,
所述第一确定单元,用于在所述解析器中基于所述待复制流量中的原始请求对象确定第一结果请求对象;
所述第二确定单元,用于在所述过滤器中基于所述第一结果请求对象和过滤表达式列表确定第二结果请求对象;
所述第三确定单元,用于在所述处理器中基于所述第二结果请求对象和消息处理规则列表确定第三结果请求对象;
回调单元,用于对所述第三结果请求对象进行结果回调,得到目标结果请求对象。
本发明实施例中,所述提取和建立模块203包括:
获取单元和建立单元。
其中,
所述获取单元,用于获取所述请求消息的第一标识,所述基准系统响应消息的第二标识和所述被测系统响应消息的第三标识;
所述建立单元,用于遍历所述第一标识、所述第二标识和所述第三标识,将标识相同的目标请求消息和目标基准系统响应消息和被测系统响应消息建立关联关系。
本发明实施例中,所述统计和采样模块204包括:
统计单元、采样单元和展示单元。
其中,
所述统计单元,用于基于所述关联关系对所述目标回放结果中的测试用例、失败率和失败测试用例进行统计;
所述采样单元,用于对所述失败测试用例进行采样,得到目标失败测试用例;
所述展示单元,用于基于Web页面对所述测试用例、所述失败率和所述目标失败测试用例进行展示。
所述分配装置包括处理器和存储器,上述遍历和处理模块、测试和清洗模块、提取和建立模块和统计和采样模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决基于流量复制回放技术进行自动化测试的过程中,缺少结果分析、测试报告,或者调用外部应用,导致执行性能的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机存储介质,其上存储有程序,该程序被处理器执行时实现所述基于流量复制回放的自动化测试方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于流量复制回放的自动化测试方法。
本发明实施例提供了一种设备,所述设备的结构框图如图4所示,所述设备包括:处理器301、存储介质302及存储在存储介质302上并可在处理器301上运行的程序,处理器301执行程序时实现以下步骤:
遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;
对所述目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果;
基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系;
基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种基于流量复制回放的自动化测试方法,其特征在于,包括:
遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;
对所述目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果;
基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系;
基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告。
2.根据权利要求1所述的基于流量复制回放的自动化测试方法,其特征在于,遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象,包括:
在所述解析器中基于所述待复制流量中的原始请求对象确定第一结果请求对象;
在所述过滤器中基于所述第一结果请求对象和过滤表达式列表确定第二结果请求对象;
在所述处理器中基于所述第二结果请求对象和消息处理规则列表确定第三结果请求对象;
对所述第三结果请求对象进行结果回调,得到目标结果请求对象。
3.根据权利要求1所述的基于流量复制回放的自动化测试方法,其特征在于,对所述回放结果进行数据清洗,得到目标回放结果,包括:
对所述回放结果进行排序,或空值清洗,或,精度清洗,或,字段清洗中的至少一种处理,得到目标回放结果。
4.根据权利要求1所述的基于流量复制回放的自动化测试方法,其特征在于,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系,包括:
获取所述请求消息的第一标识,所述基准系统响应消息的第二标识和所述被测系统响应消息的第三标识;
遍历所述第一标识、所述第二标识和所述第三标识,将标识相同的目标请求消息和目标基准系统响应消息和被测系统响应消息建立关联关系。
5.根据权利要求1所述的基于流量复制回放的自动化测试方法,其特征在于,基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告,包括:
基于所述关联关系对所述目标回放结果中的测试用例、失败率和失败测试用例进行统计;
对所述失败测试用例进行采样,得到目标失败测试用例;
基于Web页面对所述测试用例、所述失败率和所述目标失败测试用例进行展示。
6.根据权利要求5所述的基于流量复制回放的自动化测试方法,其特征在于,还包括:
获取所述目标失败测试用例的测试标识;
查找与所述测试标识对应的目标请求信息,将所述目标请求信息重新发送给所述基准系统和所述被测系统进行流量回放。
7.一种基于流量复制回放的自动化测试装置,其特征在于,包括:
遍历和处理模块,用于遍历待复制流量,对所述待复制流量基于解析器、过滤器、处理器和结果回调进行处理,得到目标结果请求对象;
测试和清洗模块,用于对所述目标结果请求对象进行流量回放以实现对基准系统和被测系统进行测试,得到回放结果,遍历所述回放结果,对所述回放结果进行数据清洗,得到目标回放结果;
提取和建立模块,用于基于所述目标回放结果提取请求消息、基准系统响应消息和被测系统响应消息,将所述请求消息、所述基准系统响应消息和所述被测系统响应消息建立关联关系;
统计和采样模块,用于基于所述关联关系对所述目标回放结果进行统计和采样,得到测试报告。
8.根据权利要求7所述的基于流量复制回放的自动化测试装置,其特征在于,所述遍历和处理模块包括:
第一确定单元,用于在所述解析器中基于所述待复制流量中的原始请求对象确定第一结果请求对象;
第二确定单元,用于在所述过滤器中基于所述第一结果请求对象和过滤表达式列表确定第二结果请求对象;
第三确定单元,用于在所述处理器中基于所述第二结果请求对象和消息处理规则列表确定第三结果请求对象;
回调单元,用于对所述第三结果请求对象进行结果回调,得到目标结果请求对象。
9.根据权利要求7所述的基于流量复制回放的自动化测试装置,其特征在于,所述提取和建立模块包括:
获取单元,用于获取所述请求消息的第一标识,所述基准系统响应消息的第二标识和所述被测系统响应消息的第三标识;
建立单元,用于遍历所述第一标识、所述第二标识和所述第三标识,将标识相同的目标请求消息和目标基准系统响应消息和被测系统响应消息建立关联关系。
10.根据权利要求7所述的基于流量复制回放的自动化测试装置,其特征在于,所述统计和采样模块包括:
统计单元,用于基于所述关联关系对所述目标回放结果中的测试用例、失败率和失败测试用例进行统计;
采样单元,用于对所述失败测试用例进行采样,得到目标失败测试用例;
展示单元,用于基于Web页面对所述测试用例、所述失败率和所述目标失败测试用例进行展示。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1-6所述的基于流量复制回放的自动化测试方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-6所述的基于流量复制回放的自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410030527.2A CN117555809B (zh) | 2024-01-09 | 2024-01-09 | 一种基于流量复制回放的自动化测试方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410030527.2A CN117555809B (zh) | 2024-01-09 | 2024-01-09 | 一种基于流量复制回放的自动化测试方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117555809A true CN117555809A (zh) | 2024-02-13 |
CN117555809B CN117555809B (zh) | 2024-03-22 |
Family
ID=89814965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410030527.2A Active CN117555809B (zh) | 2024-01-09 | 2024-01-09 | 一种基于流量复制回放的自动化测试方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555809B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160162398A1 (en) * | 2014-12-05 | 2016-06-09 | Microsoft Technology Licensing, Llc | Automated test generation and execution for testing a process to control a computer system |
CN111988200A (zh) * | 2020-08-18 | 2020-11-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
CN113590497A (zh) * | 2021-09-27 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 业务服务的测试方法、装置、电子设备及存储介质 |
CN113886263A (zh) * | 2021-10-20 | 2022-01-04 | 平安银行股份有限公司 | 系统测试方法、装置、设备及存储介质 |
CN114003451A (zh) * | 2021-10-27 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 一种接口测试方法、装置、系统及介质 |
CN115080398A (zh) * | 2022-06-21 | 2022-09-20 | 徐工汉云技术股份有限公司 | 一种接口自动化测试系统及方法 |
CN115629967A (zh) * | 2022-10-08 | 2023-01-20 | 兴业银行股份有限公司 | 基于流量采集完成接口自动化用例生成及执行的方法及系统 |
CN116414717A (zh) * | 2023-04-19 | 2023-07-11 | 中国建设银行股份有限公司 | 基于流量回放的自动测试方法、装置、设备、介质及产品 |
CN116527553A (zh) * | 2023-04-20 | 2023-08-01 | 浪潮思科网络科技有限公司 | 一种交换机自动化测试报告的处理方法、系统及存储介质 |
CN116955154A (zh) * | 2023-06-16 | 2023-10-27 | 中盈优创资讯科技有限公司 | 一种应用程序接口的测试方法及装置 |
-
2024
- 2024-01-09 CN CN202410030527.2A patent/CN117555809B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160162398A1 (en) * | 2014-12-05 | 2016-06-09 | Microsoft Technology Licensing, Llc | Automated test generation and execution for testing a process to control a computer system |
CN111988200A (zh) * | 2020-08-18 | 2020-11-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 基于真实流量的自动回归测试方法及装置 |
CN113590497A (zh) * | 2021-09-27 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 业务服务的测试方法、装置、电子设备及存储介质 |
CN113886263A (zh) * | 2021-10-20 | 2022-01-04 | 平安银行股份有限公司 | 系统测试方法、装置、设备及存储介质 |
CN114003451A (zh) * | 2021-10-27 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 一种接口测试方法、装置、系统及介质 |
CN115080398A (zh) * | 2022-06-21 | 2022-09-20 | 徐工汉云技术股份有限公司 | 一种接口自动化测试系统及方法 |
CN115629967A (zh) * | 2022-10-08 | 2023-01-20 | 兴业银行股份有限公司 | 基于流量采集完成接口自动化用例生成及执行的方法及系统 |
CN116414717A (zh) * | 2023-04-19 | 2023-07-11 | 中国建设银行股份有限公司 | 基于流量回放的自动测试方法、装置、设备、介质及产品 |
CN116527553A (zh) * | 2023-04-20 | 2023-08-01 | 浪潮思科网络科技有限公司 | 一种交换机自动化测试报告的处理方法、系统及存储介质 |
CN116955154A (zh) * | 2023-06-16 | 2023-10-27 | 中盈优创资讯科技有限公司 | 一种应用程序接口的测试方法及装置 |
Non-Patent Citations (4)
Title |
---|
FENGJIAO WANG 等: "Research on autopilot test method based on data playback", 《INTERNATIONAL CONFERENCE ON COMPUTER NETWORK SECURITY AND SOFTWARE ENGINEERING (CNSSE 2022)》, 3 October 2022 (2022-10-03), pages 203 - 206 * |
王少康: "基于用户日志分析的访问流量回放自动化测试框架的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 5, 15 May 2021 (2021-05-15), pages 138 - 346 * |
软件测试君: "自动化测试之流量录制回放", Retrieved from the Internet <URL:《https://blog.csdn.net/AI_Green/article/details/131894932》> * |
郑筝 等: "基于线上流量录制回放的测试研究", 《电脑编程技巧与维护》, no. 1, 18 January 2022 (2022-01-18), pages 53 - 55 * |
Also Published As
Publication number | Publication date |
---|---|
CN117555809B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021079B (zh) | 一种基于用户频繁访问序列模型的Web应用性能测试方法 | |
US9507700B1 (en) | Generic method for automated software testing | |
US9483387B1 (en) | Tree comparison functionality for services | |
EP3425524A1 (en) | Cloud platform-based client application data calculation method and device | |
US9697104B2 (en) | End-to end tracing and logging | |
CN109831357B (zh) | 一种服务验证方法、装置、存储介质及服务器 | |
CN112256581B (zh) | 高仿真证券业交易类系统的日志回放测试方法及装置 | |
CN111522728A (zh) | 自动化测试用例的生成方法、电子设备及可读存储介质 | |
CN106776318A (zh) | 一种测试脚本录制方法及系统 | |
CN111898059A (zh) | 网站页面质量评估和监控方法及其系统 | |
CN117555809B (zh) | 一种基于流量复制回放的自动化测试方法及相关装置 | |
CN112052078A (zh) | 一种耗时的确定方法和装置 | |
CN112579440A (zh) | 一种虚拟测试依赖对象的确定方法及装置 | |
CN116566873A (zh) | 一种基于elk的自动化日志分析方法、系统及存储介质 | |
CN116527553A (zh) | 一种交换机自动化测试报告的处理方法、系统及存储介质 | |
CN114155054A (zh) | 一种基于kafka的大数据报表统计的测试方法及其系统 | |
CN113238901B (zh) | 多设备的自动化测试方法及装置、存储介质、计算机设备 | |
CN115309661A (zh) | 一种应用测试方法、装置、电子设备及可读存储介质 | |
CN113031995B (zh) | 一种更新规则的方法、装置、存储介质以及电子设备 | |
CN114385514A (zh) | 一种检测网页元素的方法、设备及存储介质 | |
CN114880239A (zh) | 一种基于数据驱动的接口自动化测试框架及方法 | |
US11816022B2 (en) | Snapshot simulation of service module responses | |
CN113238940A (zh) | 一种接口测试结果的比对方法、装置、设备和存储介质 | |
CN112286767A (zh) | 一种Redis缓存分析方法 | |
CN116701810B (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 |