基于多智能体协同的软件测试方法与流程

摘要: 本发明涉及计算机软件自动化测试,尤其涉及一种基于多智能体协同的软件测试方法、一种基于多智能体协同的软件测试装置、一种电子设备及一种存储介质。背景技术:1、在软件...
基于多智能体协同的软件测试方法与流程

本发明涉及计算机软件自动化测试,尤其涉及一种基于多智能体协同的软件测试方法、一种基于多智能体协同的软件测试装置、一种电子设备及一种存储介质。

背景技术:

1、在软件开发生命周期中,软件测试是保障产品质量的关键环节。随着企业业务的快速迭代和系统复杂度的不断提升,测试工作面临前所未有的挑战。目前,行业内软件测试工作普遍采用人工驱动的方式完成。测试人员需要在多个测试阶段之间手动衔接,使用不同的工具和方法分别完成各环节任务。

2、采用上述方法,一方面,由于测试流程碎片化,各阶段产出的信息无法自动流转,测试人员需反复在工具间切换并手动对齐上下文,导致需求变更遗漏、用例与代码实现脱节等问题频发。另一方面,测试用例的完备性高度依赖测试人员的业务经验和直觉,缺少结构化的遗漏排查机制。面对复杂业务场景,人工设计极易遗漏边界条件和异常路径,导致测试覆盖率不足,线上缺陷逃逸。同时,代码审查与用例设计严重脱节。具体地,代码变更(如新增接口、修改业务规则、调整数据库结构等)无法自动映射至测试用例覆盖范围,用例遗漏往往在集成测试甚至上线后才被发现。

技术实现思路

1、本发明提供了一种基于多智能体协同的软件测试方法、一种基于多智能体协同的软件测试装置、一种电子设备及一种存储介质,用于解决或部分解决当前软件测试方法流程过于碎片化,人工依赖严重,代码审查与用例设计严重脱节的技术问题。

2、本发明提供了一种基于多智能体协同的软件测试方法,所述方法包括:

3、获取与测试需求相关的待分析文档链接,并调用需求分析智能体对所述待分析文档链接进行需求分析,输出需求分析报告;

4、调用用例设计智能体对所述需求分析报告进行用例设计,输出测试用例文件;

5、获取用户输入的代码分支,基于所述测试用例文件与所述代码分支,调用交叉审查智能体进行代码审查;

6、当通过代码审查时,基于所述测试用例文件,调用脚本生成智能体,结合代码上下文生成自动化测试脚本。

7、可选地,所述待分析文档链接包括需求文档链接、前端原型链接以及技术文档链接;所述调用需求分析智能体对所述待分析文档链接进行需求分析,输出需求分析报告,包括:

8、调用需求分析智能体,并通过所述需求分析智能体:

9、基于所述需求文档链接的文档来源自动获取需求文档内容;

10、基于所述技术文档链接的文档来源自动获取技术文档内容;

11、基于所述前端原型链接,调用原型解析辅助工具进行前端原型解析,输出功能清单、字段规则及业务规则;

12、根据所述需求文档内容、所述技术文档内容、所述功能清单、所述字段规则及所述业务规则,结合知识库比对进行需求分析,生成初始分析报告及疑问清单;

13、将所述初始分析报告及所述疑问清单反馈至与用户进行交互的对话框;

14、当接收到用户对所述初始分析报告的确认指令,以及针对所述疑问清单输入的解答内容时,基于所述解答内容对所述初始分析报告进行更新完善,输出需求分析报告。

15、可选地,在获取与测试需求相关的待分析文档链接之前,所述方法还包括:

16、获取用户通过对话框输入的测试需求内容;

17、调用问题审核智能体对所述测试需求内容进行输入完整性校验,并基于输入完整性校验结果判断所述测试需求内容是否同时包含需求文档链接、前端原型链接以及技术文档链接;

18、若是,则整合所述需求文档链接、所述前端原型链接以及所述技术文档链接,作为待分析文档链接;

19、若否,则基于缺失项生成反问清单,并将所述反问清单反馈回所述对话框,待用户基于所述反问清单进行回复后,结合回复内容与所述测试需求内容重新进行输入完整性校验。

20、可选地,所述调用用例设计智能体对所述需求分析报告进行用例设计,输出测试用例文件,包括:

21、调用用例设计智能体,并通过所述用例设计智能体:

22、结合操作模式最细粒度拆分原则,采用预先设置的多维度测试遗漏模式对所述需求分析报告进行逐项排查;

23、完成逐项排查后,基于排查结果按照预设格式生成测试用例文件;

24、将所述测试用例文件反馈至与用户进行交互的对话框;

25、当接收到用户对所述测试用例文件的确认指令时,输出所述测试用例文件。

26、可选地,所述基于所述测试用例文件与所述代码分支,调用交叉审查智能体进行代码审查,包括:

27、调用交叉审查智能体,并通过所述交叉审查智能体:

28、自动从所述代码分支中获取变更清单,并采用分批策略从所述代码分支中获取业务逻辑文件;

29、根据所述测试用例文件、所述变更清单及所述业务逻辑文件进行基于代码-用例三维度交叉分析的代码审查,生成bug清单与用例遗漏清单;

30、将所述bug清单与所述用例遗漏清单作为代码审查结果反馈至与用户进行交互的对话框;

31、当接收到用户对所述代码审查结果的确认指令时,判定通过代码审查。

32、可选地,所述基于所述测试用例文件,调用脚本生成智能体,结合代码上下文生成自动化测试脚本,包括:

33、调用脚本生成智能体,并通过所述脚本生成智能体:

34、检测所述测试用例文件的目标测试项目是否具备基于playwright的自动化测试基础框架;

35、若是,则自动探测所述测试用例文件的项目技术栈和ui组件库,分析现有测试代码模式,并结合代码上下文,基于自然语言用例描述生成符合项目风格的初始测试脚本;‌

36、基于所述初始测试脚本执行至少一轮的智能调试闭环验证;

37、当通过调试闭环验证时,输出最终的自动化测试脚本。

38、可选地,所述方法还包括:

39、调用脚本质量评估智能体对所述自动化测试脚本进行多维度质量评估,获得多维度质量评分,并将所述多维度质量评分映射为相应的质量评价等级。

40、本发明还提供了一种基于多智能体协同的软件测试装置,所述装置包括:

41、需求分析单元,用于获取与测试需求相关的待分析文档链接,并调用需求分析智能体对所述待分析文档链接进行需求分析,输出需求分析报告;

42、用例设计单元,用于调用用例设计智能体对所述需求分析报告进行用例设计,输出测试用例文件;

43、代码审查单元,用于获取用户输入的代码分支,基于所述测试用例文件与所述代码分支,调用交叉审查智能体进行代码审查;

44、脚本生成单元,用于当通过代码审查时,基于所述测试用例文件,调用脚本生成智能体,结合代码上下文生成自动化测试脚本。

45、本发明还提供了一种电子设备,所述设备包括处理器以及存储器:

46、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

47、所述处理器用于根据所述程序代码中的指令执行如上任一项所述的基于多智能体协同的软件测试方法。

48、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的基于多智能体协同的软件测试方法。

49、从以上技术方案可以看出,本发明具有以下优点:

50、提供了一种基于多智能体协同的软件测试方法。获取与测试需求相关的待分析文档链接,并调用需求分析智能体对所述待分析文档链接进行需求分析,输出需求分析报告;调用用例设计智能体对所述需求分析报告进行用例设计,输出测试用例文件;获取用户输入的代码分支,基于所述测试用例文件与所述代码分支,调用交叉审查智能体进行代码审查;当通过代码审查时,基于所述测试用例文件,调用脚本生成智能体,结合代码上下文生成自动化测试脚本。从而对于软件测试,基于多智能体协同,通过四阶段流水线编排,将原本分散在多个工具和人员间的测试流程串联为端到端的全流程自动化流水线。基于此,一方面,测试各阶段连环执行,克服了当前软件测试流程过于碎片化以及代码审查与用例设计严重脱节的缺陷;另一方面,软件测试全流程各阶段自动化执行,大幅降低了人工依赖;同时,各阶段产出的信息无缝流转,彻底消除了人工切换工具导致的上下文断裂和信息遗漏。