一种基于多断言器实例聚合的自动化测试报告生成方法及系统与流程

摘要: 本发明涉及软件自动化测试,具体为一种基于多断言器实例聚合的自动化测试报告生成方法及系统。背景技术:1、在自动化测试领域,测试报告是衡量测试质量、分析测试结果的核...
一种基于多断言器实例聚合的自动化测试报告生成方法及系统与流程

本发明涉及软件自动化测试,具体为一种基于多断言器实例聚合的自动化测试报告生成方法及系统。

背景技术:

1、在自动化测试领域,测试报告是衡量测试质量、分析测试结果的核心依据。随着软件行业的不断成熟,人们对软件质量的要求也在不断提高,如何能够既覆盖软件测试需求又节省人力资源和资金成本变得越来越重要。

2、现有的测试报告生成方案主要依赖pytest原生机制或第三方插件(如allure、junit xml),然而这些方案在应对复杂测试场景时存在显著局限性。其一是统计粒度过粗:现有方案以测试用例为最小统计单位,无法细化到断言层级,一个测试函数内的多个断言无法区分,导致测试结果展示不够精细,测试人员难以快速定位具体问题所在。其二是跨函数状态隔离困难:pytest的框架限制导致跨测试函数的共享状态难以持久化,断言器实例无法在不同测试函数之间有效共享和统一管理,影响了断言聚合的完整性和准确性。其三是脚本名识别困难:测试脚本与日志文件的关联依赖人工配置或约定,缺乏自动化关联机制,在大型项目中维护成本极高,且容易出现配置错误导致的关联失效。其四是断言上下文丢失:断言失败时无法追溯断言的创建上下文和调用链,测试人员难以了解断言执行时的环境状态、变量取值和调用路径,增加了问题定位的难度;其五是断言语义模糊:无法识别断言背后的测试意图,难以理解测试目的,测试报告的可读性和分析价值有限;其六是断言依赖不明,无法识别断言间的共享变量和被测对象依赖关系,当测试脚本发生变更时,难以评估变更影响范围,也难以发现测试孤岛。

技术实现思路

1、本发明提供了一种基于多断言器实例聚合的自动化测试报告生成方法及系统,在不修改测试代码的前提下,自动建立实例到脚本再到报告的映射关系,输出脚本级别的统一测试报告,有效解决了现有技术中多断言器实例难以聚合统计的技术问题,实现了从单纯的报告生成向断言层面深度分析的跨越。

2、本发明提供如下技术方案:

3、第一方面,本发明提供了一种基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,包括以下步骤:

4、步骤1、pytest测试会话启动时,系统在断言器类中创建类变量字典作为全局注册表,并将测试函数创建的断言器实例以断言器名称作为键、实例引用作为值注册到类变量字典中,实现跨pytest作用域的实例统一管理,并生成断言指纹;

5、步骤2、通过日志处理器路径反推与调用栈深度追溯双重机制,自动建立断言器实例与测试脚本的关联关系;测试执行阶段,通过pytest框架的runtest_makereport钩子在每个测试的call阶段触发,遍历全局注册表中的断言器实例,采集断言上下文信息、统计数据、指纹信息和意图信息;

6、步骤3、pytest会话结束时,通过sessionfinish钩子触发智能分析,包括基于历史执行数据为每个断言构建行为画像、基于共享变量和共现关系构建脚本间依赖网络、以及按脚本名聚合所有断言器实例的统计数据,输出脚本级别的统一测试报告。

7、第二方面,本发明提供了一种基于多断言器实例聚合的自动化测试报告生成系统,包括:

8、数据采集层,包括上下文捕获器、统计捕获器、指纹捕获器和意图捕获器,分别用于从测试执行过程中采集断言上下文信息、断言统计数据、指纹信息和意图信息;

9、数据存储层,用于存储断言器注册表、脚本统计聚合数据、指纹库和画像库;所述断言器注册表采用类变量字典结构实现全局共享;

10、智能分析层,包括指纹匹配引擎、意图识别引擎、依赖图谱引擎和画像构建引擎,分别用于对采集的数据进行指纹匹配分析、意图识别分析、依赖图谱分析和画像构建分析;

11、应用服务层,用于生成测试报告、意图分析报告、图谱报告和画像汇总报告。

12、本发明具备以下有益效果:

13、1、本发明通过断言器类变量全局注册机制,实现了跨测试函数、跨pytest作用域的断言器实例统一管理,注册操作时间复杂度低,且无需修改任何测试代码,实现了零侵入的脚本级断言聚合。通过日志处理器路径反推与调用栈深度追溯双重机制,自动建立断言器实例与测试脚本的关联关系,避免了人工配置脚本名带来的维护成本,在异常场景下仍能确保映射关系的准确性和完整性。

14、2、本发明通过断言数据指纹技术,基于四元组融合生成唯一且稳定的断言指纹,支持跨会话、跨测试运行的断言追踪、聚类和回归分析,为断言层面的持续分析提供了基础标识能力。本发明通过断言意图识别技术,自动推断断言背后的测试意图,生成语义标签,意图识别准确率高,显著减少了人工标注成本,提升了测试报告的可读性和分析价值。通过断言行为画像技术,构建多维度行为特征向量,将断言分类为stable、unstable、flaky、critical、new五种行为标签,支持断言层面的问题预测,问题发现时间大幅减少,画像问题预测准确率提高。通过断言依赖图谱技术,基于共享变量语义构建脚本间依赖网络,识别测试孤岛和变更影响范围,为测试维护提供决策支持。通过pytest钩子协同聚合技术,与pytest生命周期深度耦合,在会话结束时统一聚合输出,聚合覆盖率达到100%,支持会话级增量聚合,避免了长期运行中的内存泄漏问题。

1.一种基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,步骤1中,断言指纹的生成公式为:

3.根据权利要求1所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,步骤3中,断言行为画像的构建包括:

4.根据权利要求3所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,稳定性得分计算公式为:

5.根据权利要求1所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,步骤3中,所述脚本间依赖网络的构建包括:通过静态分析提取断言引用的变量集合,通过动态分析识别在同一测试函数中共同出现的断言,基于共享变量和共现关系构建脚本间的依赖网络;其中两个脚本a和b之间的边权重计算公式为:

6.根据权利要求1所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,步骤3中,所述sessionfinish钩子在触发智能分析后调用清理方法释放已处理的断言器实例所占用的内存资源;聚合覆盖率的计算公式为:

7.根据权利要求1所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,步骤3中,还包括:

8.根据权利要求7所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,步骤3中,所述智能分析还包括断言意图识别:基于断言的方法名、参数类型、比较值域和变量命名四维特征与预设意图模式库进行加权匹配,计算意图匹配得分并输出意图标签;所述意图匹配得分的计算公式为:

9.根据权利要求1所述的基于多断言器实例聚合的自动化测试报告生成方法,其特征在于,步骤2中,

10.一种基于多断言器实例聚合的自动化测试报告生成系统,该系统适用于权利要求1-9中任一项所述的方法,其特征在于,包括: