一种交换机自动化功能测试失败的根因诊断方法、系统、设备及介质与流程
本技术涉及网络设备自动化测试与人工智能辅助故障诊断,尤其涉及一种交换机自动化功能测试失败的根因诊断方法、系统、设备及介质。
背景技术:
1、网络交换机厂商及质量保证实验室普遍采用自动化测试平台对交换机进行功能验证,通过测试脚本驱动被测交换机、辅助交换机及测试仪,执行动态主机配置协议、虚拟局域网、访问控制列表、服务质量、组播等功能用例。测试脚本通过相等判断、条件等待、抓包校验等各类断言方式判定用例是否通过。当断言失败时,测试人员通常需阅读堆栈、手工登录设备查询配置与表项、对照用例步骤与预期、在测试仪侧查看统计或抓包,并判断是设备缺陷、脚本问题还是环境问题。
2、现有产线蛇形测试失败分析、测试日志离线排查、现网运维人工智能根因分析、通用大模型代理工具调用等方案,有些未嵌入功能测试断言失败触发点,有些未在用例执行上下文中对被测设备与测试仪实时求值执行采集指令,还有些未形成采集阶段与结论阶段分离的多轮流程,难以满足交换机功能测试场景下的自动根因诊断需求。
3、因此,现有技术缺乏与交换机功能自动化测试执行流程深度耦合的多轮自动根因诊断方法,导致断言失败后难以自动进行多轮采集指令求值与回灌,进而无法高效、准确地定位失败根因。
技术实现思路
1、本技术提供了一种交换机自动化功能测试失败的根因诊断方法、系统、设备及介质,能够在断言失败后自动进行多轮采集指令求值与回灌,进而能够高效、准确地定位失败根因。
2、为达到上述目的,本技术采用如下技术方案:
3、第一方面,本技术提供了一种交换机自动化功能测试失败的根因诊断方法,包括:
4、在交换机自动化功能测试过程中,响应于测试断言失败,获取断言失败信息和测试用例执行上下文,作为首轮诊断输入;
5、将所述首轮诊断输入发送至诊断智能体,获取包含阶段标识和采集指令列表的结构化响应;
6、响应于所述阶段标识指示采集阶段,基于所述测试用例执行上下文构建求值环境;
7、在所述求值环境中对所述采集指令列表执行求值,得到指令执行结果;
8、将所述指令执行结果回灌至所述诊断智能体的当前诊断会话,再次获取包含新阶段标识和新采集指令列表的新结构化响应;
9、基于所述新结构化响应重复执行构建求值环境、执行求值和将指令执行结果回灌至诊断智能体的步骤,直至所述新阶段标识指示结论阶段、达到预设轮次上限或超时上限,得到根因结论;
10、根据所述根因结论输出诊断结果。
11、可选的,在执行求值之前,所述方法还包括:
12、对所述采集指令列表进行过滤,禁止会再次触发断言判定、条件等待或改变测试用例终态的指令进入求值流程。
13、可选的,所述在所述求值环境中对所述采集指令列表执行求值,得到指令执行结果,包括:
14、根据失败类型,在所述求值环境中对过滤后的采集指令列表中的采集指令逐条求值,得到求值结果;
15、将所述求值结果作为指令执行结果。
16、可选的,所述根据失败类型,在所述求值环境中对过滤后的采集指令列表中的采集指令逐条求值,得到求值结果,包括:
17、当失败类型为抓包校验类失败时,在抓包观测窗口开启后,调用与失败断言等价的复现动作一次,窗口结束后返回结构化报文列表,将所述结构化报文列表作为第一求值结果;
18、当失败类型为协议栈内部路径观察类失败时,开启设备调试输出、下发调试命令、在窗口内执行复现动作、关闭调试并返回跟踪文本,将所述跟踪文本作为第二求值结果;
19、当失败类型为其他类型失败时,获取cli回显或流量统计,将所述cli回显或流量统计作为第三求值结果;
20、将所述第一求值结果、第二求值结果和第三求值结果中的至少一种作为求值结果。
21、可选的,所述将所述指令执行结果回灌至所述诊断智能体的当前诊断会话,包括:
22、将所述指令执行结果以结构化形式回灌至所述诊断智能体的当前诊断会话,并同步注入测试用例索引、端口别名映射和失败脚本定位信息。
23、可选的,所述再次获取包含新阶段标识和新采集指令列表的新结构化响应,包括:
24、控制所述诊断智能体根据所述测试用例索引检索测试用例文档、根据所述端口别名映射解析拓扑相关符号,并根据所述失败脚本定位信息定位失败断点;
25、基于所述测试用例文档、解析后的拓扑相关符号和失败断点进行推理,生成本轮诊断假设;
26、基于所述本轮诊断假设生成包含新阶段标识及新采集指令列表的新结构化响应。
27、可选的,所述基于所述新结构化响应重复执行构建求值环境、执行求值和将指令执行结果回灌至诊断智能体的步骤,直至所述新阶段标识指示结论阶段、达到预设轮次上限或超时上限,得到根因结论,包括:
28、响应于所述新阶段标识指示采集阶段,基于所述测试用例执行上下文重新构建求值环境;
29、在重新构建的求值环境中对所述新采集指令列表执行求值,得到新的指令执行结果;
30、将所述新的指令执行结果回灌至所述诊断智能体的当前诊断会话,并同步注入测试用例索引、端口别名映射和失败脚本定位信息,再次获取包含新阶段标识和新采集指令列表的新结构化响应;
31、响应于所述新阶段标识指示采集阶段,重复执行重新构建求值环境、执行求值和将指令执行结果回灌至诊断智能体的步骤;
32、响应于所述新阶段标识指示结论阶段、达到预设轮次上限或超时上限,得到根因结论。
33、第二方面,本技术提供了一种交换机自动化功能测试失败的根因诊断系统,包括:
34、测试运行模块,用于在交换机自动化功能测试过程中,响应于测试断言失败,获取断言失败信息和测试用例执行上下文,作为首轮诊断输入;
35、诊断协调模块,用于将所述首轮诊断输入发送至诊断智能体,获取包含阶段标识和采集指令列表的结构化响应;
36、求值环境构建模块,用于响应于所述阶段标识指示采集阶段,基于所述测试用例执行上下文构建求值环境;
37、求值执行模块,用于在所述求值环境中对所述采集指令列表执行求值,得到指令执行结果;
38、回灌模块,用于将所述指令执行结果回灌至所述诊断智能体的当前诊断会话,再次获取包含新阶段标识和新采集指令列表的新结构化响应;
39、重复执行模块,用于控制所述求值环境构建模块、求值执行模块和所述回灌模块基于所述新结构化响应重复执行构建求值环境、执行求值和将指令执行结果回灌至诊断智能体的步骤,直至所述新阶段标识指示结论阶段、达到预设轮次上限或超时上限,得到根因结论;
40、诊断结果输出模块,用于根据所述根因结论输出诊断结果。
41、第三方面,本技术提供了一种计算设备,包括存储器和处理器;
42、其中,在所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;当所述指令被所述处理器执行时,使得所述计算设备执行如第一方面中任一项所述的方法。
43、第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行如第一方面中任一项所述的方法。
44、由上述技术方案可知,本技术至少具有如下有益效果:
45、本技术通过在交换机自动化功能测试过程中,响应于测试断言失败,获取断言失败信息和测试用例执行上下文,作为首轮诊断输入,使得诊断过程能够在断言失败时自动触发,无需等待测试人员手动介入收集失败现场信息,从而缩短了诊断启动时间。由于将首轮诊断输入发送至诊断智能体,获取包含阶段标识和采集指令列表的结构化响应,使得诊断智能体能够基于断言失败信息和测试用例执行上下文进行推理,自动生成针对性的采集指令,从而避免了人工排查路径分散的问题。由于响应于阶段标识指示采集阶段,基于测试用例执行上下文构建求值环境,使得采集指令能够在当前测试执行上下文中直接求值执行,从而复用了测试执行过程中已加载的被测交换机、辅助交换机及测试仪引用,无需另行建立独立的远程会话。由于在求值环境中对采集指令列表执行求值,得到指令执行结果,使得平台能够在用例执行上下文中直接获取设备回显、流量统计、抓包结果或调试输出等证据。由于将指令执行结果回灌至诊断智能体的当前诊断会话,再次获取包含新阶段标识和新采集指令列表的新结构化响应,并基于新结构化响应重复执行构建求值环境、执行求值和将指令执行结果回灌至诊断智能体的步骤,直至新阶段标识指示结论阶段、达到预设轮次上限或超时上限,得到根因结论,使得诊断智能体能够根据每轮执行结果迭代生成新的采集指令,形成多轮采集与推理的循环,从而逐步缩小排查范围,提高根因定位的准确性。
46、应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com