CN118210720A - 一种基于流量数据采集解析的自动化测试系统的设计方法 - Google Patents
一种基于流量数据采集解析的自动化测试系统的设计方法 Download PDFInfo
- Publication number
- CN118210720A CN118210720A CN202410361986.9A CN202410361986A CN118210720A CN 118210720 A CN118210720 A CN 118210720A CN 202410361986 A CN202410361986 A CN 202410361986A CN 118210720 A CN118210720 A CN 118210720A
- Authority
- CN
- China
- Prior art keywords
- parameter
- parameters
- interface
- flow
- request
- 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 62
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004458 analytical method Methods 0.000 title claims abstract description 26
- 238000013461 design Methods 0.000 title claims abstract description 7
- 238000012795 verification Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000012423 maintenance Methods 0.000 claims abstract description 11
- 238000012216 screening Methods 0.000 claims abstract description 4
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000005206 flow analysis Methods 0.000 claims description 5
- 206010027339 Menstruation irregular Diseases 0.000 claims description 3
- 238000013480 data collection Methods 0.000 claims 4
- 238000007405 data analysis Methods 0.000 claims 3
- 230000008569 process Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于流量数据采集解析的自动化测试系统的设计方法,该方法包括基于流量采集策略及原则确定流量的采集方式,以通过该方式收集接口相关信息;确定收集的接口参数特征和需要收集的参数及其枚举值;遍历线上的所有实际参数组合的方式,并筛选出所有需要枚举的参数进行组合,并将所有需要枚举的参数组合生成参数组合文件,且将所有需要枚举的参数的枚举值生成参数枚举文件;根据接口响应消息定义生成Json Schema和校验规则;根据参数组合文件生成请求报文,并根据请求报文、Json Schema和校验规则生成用例。本发明大幅减少用例维护成本,极大地提升了事实场景的覆盖度,使得测试工作更加精准、高效。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种基于流量数据采集解析的自动化测试系统的设计方法。
背景技术
在软件开发过程中,测试团队经常面临一系列挑战,如修复后的缺陷反复出现、版本兼容性导致的连锁缺陷、上线初期系统监控正常但用户又反馈缺陷等问题。系统修改核心代码时,测试人员需要承担巨大的心理压力,因为任何小的失误都可能导致系统不稳定。虽然互联网上有不少的开源自动化测试工具,但在长期的使用过程中,我们也发现了一些痛点,如版本的频繁迭代,用例往往跟不上于需求变更,用例迭代成本较高,另外测试人员水平及对业务的理解差异,导致编写的用例质量参差不齐,整体上自动化案例过于简单、僵硬,覆盖率低,自动化工具在实际运用过程中发挥作用往往达不到预期效果。
发明内容
鉴于上述问题,本发明提供了一种基于流量数据采集解析的自动化测试系统的设计方法。
为解决上述技术问题,本发明采用的技术方案是:一种基于流量数据采集解析的自动化测试系统的设计方法,包括:
基于流量采集策略及原则确定流量的采集方式,以通过该方式收集接口相关信息;
确定收集的接口参数特征,所述接口参数特征包括参数的个数、类型、和取值范围,以及参数是否可枚举和可组合,并结合接口协议和业务形态进行综合考量,进行参数分类和设定参数的处理规则,以确定需要收集的参数及其枚举值;
通过不定期采集线上数据,遍历线上的所有实际参数组合的方式,并筛选出所有需要枚举的参数进行组合,以所有需要枚举的参数组合覆盖所有实际参数组合,并将所有需要枚举的参数组合生成参数组合文件,且将所有需要枚举的参数的枚举值生成参数枚举文件,所述参数枚举文件用于记录所有需要枚举的参数的枚举值的变化情况;
根据接口响应消息定义生成Json Schema和校验规则,以基于Json Schema对应用系统返回的响应消息的数据结构进行校验;
根据所述参数组合文件生成请求报文,并根据所述请求报文、Json Schema和校验规则生成用例。
进一步的,所述流量的采集方式包括从防火墙和路由器日志采集或从流量监控系统采集或从流量分析器采集或系统应用日志采集。
进一步的,所述接口相关信息包括接口服务名称、请求消息及响应消息。
进一步的,还包括:基于Json Schema对所述数据结构进行校验后,再利用JsonPath提取需要重点关注的信息,并进行更具体的断言判断。
进一步的,还包括新接口的发现,具体如下:
1)流量捕获:使用流量监控工具捕获线上流量,确保能够捕获到所有经过系统的请求;
2)请求解析:对捕获到的请求进行解析,提取出请求的URL、请求方法、请求头、请求体信息。
3)接口识别:通过对比解析出的请求信息与已知的接口列表,识别出新的接口;
4)纳入测试范围:将识别出的新接口纳入自动化测试管理范围,并为其创建相应的用例;
5)持续监控:持续监控线上流量,确保对新接口的及时发现和更新。
进一步的,还包括新用例的发现,具体如下:
1)流量分析:对捕获到的线上流量进行深入分析,提取出请求中的参数及其枚举值;
2)参数枚举:识别出可枚举的参数;
3)用例对比:将识别出的可枚举参数与已采集落库的用例进行对比,找出新加的参数或未曾覆盖的参数组合;
4)新用例生成:根据对比结果,生成新的用例;
5)用例验证:对新生成的用例进行验证,确保其能够正确执行并覆盖目标功能;
6)更新测试库:将新生成的用例纳入自动化测试库,以便在未来的测试中自动执行。
进一步的,还包括用例的维护,具体如下:
1)移除用例:当测试用例已经失效,不再适用于当前的测试场景时,将其从测试集中移除;
2)替换用例:当测试用例不符合预期,但接口或功能本身仍然有效时,替换该用例;
3)优化Json Schema:当测试用例中某些字段的校验规则过于严格或不符合实际业务逻辑时,优化Json Schema。
与现有技术相比,本发明的有益效果包括:1、本发明集成了Json Schema和JsonPath这两个关键组件,Json Schema为数据格式提供了严谨的校验机制,确保接口返回的数据严格遵循预期的结构和类型,而JsonPath则赋予了系统从Json数据中精准提取所需信息的能力,进而实现复杂的数据验证,这种集成方式使得测试脚本的编写实现了无代码化,极大地提升了脚本的编写效率和后续的可维护性;
2、基于流量或接口定义自动生成测试用例,显著减少了人工编写和维护用例的繁琐工作。这些新生成的用例能够迅速纳入测试范围,确保接口的质量和稳定性得到有效保障;
3、基于流量分析生成的用例能够更深入地了解真实用户在操作后台接口时的各种行为和交互,这些场景案例不仅涵盖了正常请求的处理,还包括异常状况的应对以及边界条件的测试等,全方位地反映了用户可能遇到的各种情况;同时,这些场景案例还精准地反映了业务逻辑的细节和变化,大幅减少用例维护成本的同时,也极大地提升了事实场景的覆盖度,使得测试工作更加精准、高效。
附图说明
图1为本发明实施例的基于流量数据采集解析的自动化测试系统的设计方法的流程示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,本实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
如图1所示,本发明实施例提供了一种基于流量数据采集解析的自动化测试系统的设计方法,包括:
基于流量采集策略及原则确定流量的采集方式,以通过该方式收集接口相关信息。具体的,上述接口相关信息包括接口服务名称、请求消息及响应消息。上述流量的采集方式包括从防火墙和路由器日志采集或从流量监控系统采集或从流量分析器采集或系统应用日志采集。各个采集的特点具体如下:
a.防火墙和路由器日志:网络设备如防火墙、路由器等可以记录网络流量数据,包括源IP地址、目标IP地址、端口、传输协议等信息。
b.流量监控系统:如Nagios、Zabbix等系统可以对网络流量进行实时监测和数据采集,提供详细的流量报表和分析。
c.流量分析器:例如ntop、SolarWinds NetFlow Traffic Analyzer等工具可以通过NetFlow或sFlow等协议收集和分析网络流量数据,提供可视化的流量报表和趋势分析。
d.系统应用日志:这种采集方式不依赖网络设备,由于本发明仅采集一些接口基本信息,系统的日志规范基本可以满足。
上述流量采集策略及原则具体如下:
a.优先利用现有系统,如大数据采集、流量监控及应用日志等,直接收集所需数据,避免重复采集。
b.在选择采集方法时,需综合考虑网络性能、数据详细度、成本及信息安全等因素,确保合法合规。
确定收集的接口参数特征,所述接口参数特征包括参数的个数、类型、和取值范围,以及参数是否可枚举和可组合,并结合接口协议和业务形态进行综合考量,进行参数分类和设定参数的处理规则,以确定需要收集的参数及其枚举值。
以一个示例进行具体说明:在对某个接口进行采样,并获得了100条数据后,经过整理,得到了以下参数的取值情况:
·idType=[10]/1
·productType=[1,2]/2
·orderNo=[T202403130952460082225,T202403130952460082532,
T202403130952460090874…]//100
·orderAmt=[100.00,345.00,7600…]//30+
·productCode=[BTC3X00132O,BT309448VC]//2
·custName=[张*,李*,王*,...]//80+
·orderTime=[2024-03-13 09:49:37,2024-03-13 09:49:38,2024-03-13
09:50:33…]//80+
参数分类和设定参数的处理规则具体如下:
a.参数有固定枚举值
上述示例中idType、productType字段的取值,目前收集到的信息表明其取值是固定的,因此可以进行枚举处理。此参数作为流量收集与分析的关键对象,随着后续流量采集和分析工作的深入,如果发现了其他未列出的取值,加以分析后,可以根据实际情况对枚举值进行进一步的扩展和更新。
b.参数依赖上游响应的某个字段值
orderNo字段作为上游接口响应的一部分,在其他接口中也会被使用。为了便利用例间的参数共享,将此字段以key-value的形式放入一个参数池。在这个参数池中,key代表想要使用的变量名,而value则是这个key对应的实际取值。这样,不同用例间的参数依赖不再依赖于传统的顺序传递方式,而是转变为一个可以随时访问和使用的参数池,实现了参数的灵活共享和复用。此类参数不需要采集分析。
c.参数值动态变化
在上述示例中,orderAmt参数代表订单金额,这是一个变量,因为每个订单的金额都可能不同,且随着请求数量的增加,其取值范围也会变得更加多样化。因此,如果对这类参数采用固定的阈值进行判断,显然是不符合实际情况的。为了解决这一问题,需要构建一个动态的阈值调整机制。这个机制应该能够根据采样条数的数量、阶梯式来灵活调整取值,示例中在拥有100个采样参数的情况下,设定orderAmt阈值为20000.00,在该阈值内我们可以选择每第10个参数值作为枚举值;后续采集数据存在大于阈值20000.00且数量超过10时,按照算法增加新枚举值并重新设定阈值,采样规则可以根据实际测试需要而定,这样选取的参数值能够更好地代表实际情况中的各种可能场景。通过这样的方法,能够更准确地模拟和测试不同订单金额对系统的影响,从而得到更贴近实际的结果。
d.参数为对象的属性值
productCode作为产品的名称,是产品属性类的参数,它并不需要采集,可以直接从测试环境中获取相关的数据。
e.参数含有敏感信息
此类参数一般为客户信息数据,其实是一种属性类参数,含有敏感信息的参数不作为采集对象,利用测试环境数据中即可。
f.参数为编号类、时间类信息
类似于orderTime这样的交易编号或时间类信息参数,通常作为记录使用,并不需要实时采集。它们一般不直接参与业务逻辑处理,按照特定的格式或规则生成即可。
在流量数据采集和参数分析完成后,明确哪些参数是可枚举的有效参数对于优化用例和降低维护成本至关重要。在进一步分析参数的可组合性时,确实无需进行任意两个参数的两两组合分析,因为这种方法会产生大量冗余且低价值的自动化用例,从而显著增加维护成本。优选通过不定期采集线上数据,遍历线上的所有实际参数组合的方式,并筛选出所有需要枚举的参数进行组合,以所有需要枚举的参数组合覆盖所有实际参数组合,并将所有需要枚举的参数组合生成参数组合文件,且将所有需要枚举的参数的枚举值生成参数枚举文件,所述参数枚举文件用于记录所有需要枚举的参数的枚举值的变化情况,若某一需要枚举的参数的枚举值变化在系统合理范围,则调整参数组合文件,并触发补充新的用例,否则发出告警。例如,在业务系统中,订单金额(orderAmt)不存在为0.00的业务场景,当解析请求参数时发现此类数据,则说明该参数的枚举值变化不合理,可以触发短信或邮件告警,以便及时排查原因,主动发现系统中的潜在漏洞。这种方法不仅减少了用例的维护成本,还能更高效地发现问题。因为线上流量代表了真实用户的行为模式和数据组合情况,基于这些数据进行分析更能反映实际场景中的问题和需求。此外,结合业务逻辑和场景分析也是分析参数可组合性的重要手段。通过理解业务规则和场景需求,可以更有针对性地选择需要分析的参数组合,避免盲目地遍历所有组合,经过项目的实践统计,使用流量分析组合的场景比使用正交法两两遍历参数组合场景要降低60%以上。
例如,对上述采集的100条数据及参数进行了分析,得出7个参数信息只需要对idType、productType、orderAmt 3个参数进行枚举,orderAmt动态参数选取3个枚举值,其他不需要枚举的参数不参与组合。
·idType=[10]
·productType=[1,2]
·orderAmt=[100.00,345.00,7600]
采集的100条数据的参数组合,通过上述分析后,只需要集中分析这3个参数的组合,筛选后的组合参数如下
productType=1&idType=10&orderAmt=100.00&orderNo=…
productType=2&idType=10&orderAmt=345.00&orderNo=…
productType=1&idType=10&orderAmt=7600&orderNo=…
那么在覆盖用例时只需要覆盖这些组合,通过组合分析也可以帮助发现线上是否存在错误使用的参数组合,并且还能够检查需求是否发生了变化并引入了新的参数组合。当需求有变化、分析有新的参数组合时,仅需要维护组合参数组合关系。
根据接口响应消息定义生成Json Schema和校验规则,以基于Json Schema对应用系统返回的响应消息的数据结构进行校验。具体的,Json Schema允许你定义一个结构,该结构描述了Json数据应该如何被格式化。这包括定义数据类型、格式、必须存在的字段,以及字段的默认值等。使用Json Schema,你可以为特定的Json数据创建一个模板或规则集,然后使用该模板或规则集来验证其他Json数据是否符合预期的结构。
本发明实施例利用Json Schema来实现以下功能:
·自动化校验:将接收到的回包消息转换成Json格式后,通过Json Schema进行自动化校验。这可以确保每个字段都符合预期的数据类型、格式和值。
·快速生成校验规则:通过反向生成Json Schema,你可以快速得到一个基本的校验规则模板。之后,只需要对这个模板进行简单的修改和调整,就可以得到最终的校验规则。这极大地减少了编辑用例的工作量和时间成本。
·灵活性和可扩展性:Json Schema提供了丰富的规则和选项,允许你根据具体需求定制校验规则。你可以指定哪些字段是必须的,哪些字段可以有默认值,甚至可以定义字段之间的依赖关系和复杂的数据结构。
·错误定位:当校验失败时,Json Schema可以提供详细的错误信息,帮助你快速定位问题所在。这有助于你快速修复问题并优化数据格式。
·文档化:Json Schema本身也是一种文档化的形式,它清晰地描述了数据的结构和规则。这对于团队成员之间的沟通和协作非常有帮助,也可以作为数据接口的文档供其他系统或团队参考。
综上所述,使用Json Schema可以有效地解决回包消息体字段多、手工校验困难的问题,提高自动化测试平台的效率和准确性。
Json schema示例:
定义Json schema
上面Schema中,要求Json数据必须符合以下要求:
类型为object;
Json中可以包含以下四个键:
name:必须是字符串类型;
email:必须是字符串类型;
age:必须是大于0的整数;
telephone:必须是字符串类型,并且需要匹配指定的正则表达式。
上面的四个键中,name和email必须定义,而age和telephone则是可选的;
符合上面Schema的Json数据:
在自动化用例生成过程中,尽管Json Schema对于定义和校验数据结构的完整性和类型非常有用,但确实存在一些测试场景是Json Schema无法覆盖的。这时候,使用JsonPath进行更细致的查询和断言判断就显得尤为重要。Json Path提供了一种在Json文档中查找信息的语法,类似于XML中的XPath。通过Json Path,可以提取Json对象中的特定字段值,过滤数组中的元素,甚至对提取的数据进行排序和聚合等操作。
在自动化测试中,可以结合Json Schema和Json Path来实现更全面的断言判断。首先,使用Json Schema对返回的数据结构进行校验,确保数据的完整性和类型正确。然后,利用Json Path提取需要重点关注的信息,并进行更具体的断言判断。
根据上述参数组合文件生成请求报文,并根据上述请求报文、Json Schema和校验规则生成用例。另外,任何自动生成的Json Schema都不可能完全满足特定的业务需求,因此根据业务场景对Json Schema进行微调是非常必要的。如在查询场景下,返回结果通常会被封装在一个名为results的数组中。自动生成的Json Schema可能只会规定results字段必须存在,并且其类型为数组。然而,这种简单的规则可能无法捕捉到所有潜在的问题。例如,如果返回了一个空的results数组,自动生成的Json Schema并不会发出告警。为了解决这个问题,可以为results数组增加minItems=1的规则。这样,当results数组为空时,校验机制就能够识别出这个问题并发出告警。这种微调使得Json Schema更加符合业务场景的特定需求,提高了用例的有效性和准确性。
还包括新接口的发现,具体如下:
新接口的发现主要依赖于对线上流量的实时监控和分析。当新的功能上线后,线上流量中会出现对该功能的请求。为了及时发现这些新的请求,并将其纳入自动化测试管理范围,可以采取以下步骤:
1)流量捕获:使用流量监控工具捕获线上流量,确保能够捕获到所有经过系统的请求。
2)请求解析:对捕获到的请求进行解析,提取出请求的URL、请求方法(GET、POST等)、请求头、请求体等信息。
3)接口识别:通过对比解析出的请求信息与已知的接口列表,识别出新的接口。这可以通过比对URL路径、请求方法或其他标识符来实现。
4)纳入测试范围:一旦识别出新接口,将其纳入自动化测试管理范围,并为其创建相应的用例。
5)持续监控:持续监控线上流量,确保对新接口的及时发现和更新。
还包括新用例的发现,具体如下:
新用例的发现主要依赖于对线上流量的深度分析和与已采集用例的对比。通过对比线上流量和已采集落库的用例,可以发现新加的可枚举参数或之前用例未曾覆盖的参数组合,从而生成新的用例。具体步骤如下:
1)流量分析:对捕获到的线上流量进行深入分析,提取出请求中的参数及其枚举值。
2)参数枚举:识别出可枚举的参数,即那些具有有限取值范围的参数。这些参数通常具有固定的选项或值域。
3)用例对比:将提取出的参数与已采集落库的用例进行对比,找出新加的参数或未曾覆盖的参数组合。
4)新用例生成:根据对比结果,生成新的用例。这些新用例应覆盖新加的参数和新的参数组合。
5)用例验证:对新生成的用例进行验证,确保其能够正确执行并覆盖目标功能。
6)更新测试库:将新生成的用例纳入自动化测试库,以便在未来的测试中自动执行。
还包括用例的维护,具体如下:
在用例执行时遇到校验不通过的情况,需要根据具体原因来决定优化方式,采取如下3种策略进行维护:
1)移除用例:当测试用例因为某些原因已经失效,不再适用于当前的测试场景时,考虑将其从测试集中移除。
2)替换用例:当测试用例因为某些原因不符合预期,但接口或功能本身仍然有效时,考虑替换该用例。
3)优化Json Schema:当测试用例中某些字段的校验规则过于严格或不符合实际业务逻辑时,考虑优化Json Schema。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,其它未具体描述的部分,属于现有技术或公知常识。在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种基于流量数据采集解析的自动化测试系统的设计方法,其特征在于,包括:
基于流量采集策略及原则确定流量的采集方式,以通过该方式收集接口相关信息;
确定收集的接口参数特征,所述接口参数特征包括参数的个数、类型、和取值范围,以及参数是否可枚举和可组合,并结合接口协议和业务形态进行综合考量,进行参数分类和设定参数的处理规则,以确定需要收集的参数及其枚举值;
通过不定期采集线上数据,遍历线上的所有实际参数组合的方式,并筛选出所有需要枚举的参数进行组合,以所有需要枚举的参数组合覆盖所有实际参数组合,并将所有需要枚举的参数组合生成参数组合文件,且将所有需要枚举的参数的枚举值生成参数枚举文件,所述参数枚举文件用于记录所有需要枚举的参数的枚举值的变化情况;
根据接口响应消息定义生成Json Schema和校验规则,以基于Json Schema对应用系统返回的响应消息的数据结构进行校验;
根据所述参数组合文件生成请求报文,并根据所述请求报文、Json Schema和校验规则生成用例。
2.根据权利要求1所述的基于流量数据采集解析的自动化测试系统的设计方法,其特征在于,所述流量的采集方式包括从防火墙和路由器日志采集或从流量监控系统采集或从流量分析器采集或系统应用日志采集。
3.根据权利要求1所述的基于流量数据采集解析的自动化测试系统的设计方法,其特征在于,所述接口相关信息包括接口服务名称、请求消息及响应消息。
4.根据权利要求1所述的基于流量数据采集解析的自动化测试系统的设计方法,其特征在于,还包括:基于Json Schema对所述数据结构进行校验后,再利用Json Path提取需要重点关注的信息,并进行更具体的断言判断。
5.根据权利要求1所述的基于流量数据采集解析的自动化测试系统的设计方法,其特征在于,还包括新接口的发现,具体如下:
1)流量捕获:使用流量监控工具捕获线上流量,确保能够捕获到所有经过系统的请求;
2)请求解析:对捕获到的请求进行解析,提取出请求的URL、请求方法、请求头、请求体信息。
3)接口识别:通过对比解析出的请求信息与已知的接口列表,识别出新的接口;
4)纳入测试范围:将识别出的新接口纳入自动化测试管理范围,并为其创建相应的用例;
5)持续监控:持续监控线上流量,确保对新接口的及时发现和更新。
6.根据权利要求1所述的基于流量数据采集解析的自动化测试系统的设计方法,其特征在于,还包括新用例的发现,具体如下:
1)流量分析:对捕获到的线上流量进行深入分析,提取出请求中的参数及其枚举值;
2)参数枚举:识别出可枚举的参数;
3)用例对比:将识别出的可枚举参数与已采集落库的用例进行对比,找出新加的参数或未曾覆盖的参数组合;
4)新用例生成:根据对比结果,生成新的用例;
5)用例验证:对新生成的用例进行验证,确保其能够正确执行并覆盖目标功能;
6)更新测试库:将新生成的用例纳入自动化测试库,以便在未来的测试中自动执行。
7.根据权利要求1所述的基于流量数据采集解析的自动化测试系统的设计方法,其特征在于,还包括用例的维护,具体如下:
1)移除用例:当测试用例已经失效,不再适用于当前的测试场景时,将其从测试集中移除;
2)替换用例:当测试用例不符合预期,但接口或功能本身仍然有效时,替换该用例;
3)优化Json Schema:当测试用例中某些字段的校验规则过于严格或不符合实际业务逻辑时,优化Json Schema。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410361986.9A CN118210720A (zh) | 2024-03-28 | 2024-03-28 | 一种基于流量数据采集解析的自动化测试系统的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410361986.9A CN118210720A (zh) | 2024-03-28 | 2024-03-28 | 一种基于流量数据采集解析的自动化测试系统的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118210720A true CN118210720A (zh) | 2024-06-18 |
Family
ID=91450158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410361986.9A Pending CN118210720A (zh) | 2024-03-28 | 2024-03-28 | 一种基于流量数据采集解析的自动化测试系统的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118210720A (zh) |
-
2024
- 2024-03-28 CN CN202410361986.9A patent/CN118210720A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101316185B (zh) | 一种基于日志文件的分析结果定位系统资源瓶颈的方法 | |
CN109002391B (zh) | 自动检测嵌入式软件接口测试数据的方法 | |
US20050257086A1 (en) | Systems and methods for automated classification and analysis of large volumes of test result data | |
US20120167054A1 (en) | Collecting Program Runtime Information | |
US7801719B2 (en) | Processor-based system analysis automation | |
CN106506243A (zh) | 一种基于日志数据的网管故障诊断方法 | |
US20230359934A1 (en) | Intelligent Service Test Engine | |
CN117155832B (zh) | 用于udp传输协议的多端无侵入录制回放测试方法及系统 | |
CN115328784A (zh) | 一种面向敏捷接口的自动化测试方法及系统 | |
US7797590B2 (en) | Consensus testing of electronic system | |
Malik et al. | Using load tests to automatically compare the subsystems of a large enterprise system | |
Grbac et al. | A quantitative analysis of the unit verification perspective on fault distributions in complex software systems: an operational replication | |
CN118210720A (zh) | 一种基于流量数据采集解析的自动化测试系统的设计方法 | |
CN116248393A (zh) | 一种内网数据传输漏洞扫描装置及系统 | |
CN113791980A (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
Chu et al. | FAST: a framework for automating statistics-based testing | |
CN111813665A (zh) | 一种基于python的大数据平台接口数据测试方法和系统 | |
Nieminen et al. | Adaptable design for root cause analysis of a model-based software testing process | |
Tadano et al. | Automatic synthesis of SRN models from system operation templates for availability analysis | |
Ladan | Web services testing approaches: A survey and a classification | |
CN113570333B (zh) | 一种适用于集成的流程设计方法 | |
Gruszczyński | Enhancing business process event logs with software failure data | |
CN113282505A (zh) | 软件测试进度分析方法、装置、设备及存储介质 | |
CN117312274A (zh) | 一种数据库检测修复方法、系统、存储介质及设备 | |
CN114386743A (zh) | 一种resar性能工程的性能分析方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |