一种面向全生命周期的软件自动测试生成方法与流程
本发明属于软件测试自动化与智能化,具体涉及一种面向全生命周期的软件自动测试生成方法。
背景技术:
1、cn119807064a公开一种基于知识图谱的金融测试用例智能审核方法,属于金融测试领域,包括步骤一,测试需求解析;步骤二,测试用例解析;步骤三,知识图谱构建;步骤四,测试需求条目和测试案例语义匹配,本发明提出的基于知识图谱的金融测试用例智能审核方法通过自动化和智能化的手段,实现了高效、准确、规范的测试用例审核,降低了成本,提升了系统可靠性,有望提高金融测试用例审核的效率和质。
2、以上对比方案cn119807064a仅聚焦存量测试需求与已有测试用例的事后语义审核匹配,仅针对已经成型的测试需求文本与人工预先编写完成的存量测试用例开展语义层面的二次审核,应用前置条件高度依赖人工完成需求拆解,无法脱离人工输入独立开展测试相关工作。以上方案所构建的知识图谱属于静态一次性构建结构,图谱实体、关联关系仅依据单次解析的需求与用例文本固定生成,不存在适配软件版本迭代的增量更新逻辑,无法适配代码迭代、业务逻辑调整带来的程序调用关系、业务流程变动,无法同步更新节点与关联边信息,长期使用下图谱语义结构会与实际业务架构脱节。
3、同时,以上方案仅围绕节点、边的余弦相似度完成双向图谱匹配打分,功能仅能量化现有用例对需求的覆盖程度、标记未覆盖需求条目,仅具备问题检出能力,不存在基于程序代码变更定位业务影响域、自动挖掘待测路径的技术逻辑,完全不具备自主生成全新测试用例、补充测试覆盖缺口的主动能力。
技术实现思路
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、1、本方案基于动态知识图谱精准锁定迭代变更影响域,告别全量回归测试冗余开销,更新引擎基于变更节点完成子图一致性校验后,仅提取受影响业务路径生成测试用例,仅针对新增、修改、删除逻辑开展定向测试,大幅缩减无效测试范围,缩短ci流水线执行时长,优先高优先级用例还能提前暴露高危缺陷,提升迭代上线效率。
30、2、本发明中测试用例生成全程自动化,基于数据字典采集路径参数,搭配等价类划分、边界值分析自动构造测试场景,同步输出人工评审文本版与框架适配可执行脚本,无需测试人员手动梳理调用链路、编写入参与预期结果,降低人力成本,同时保证用例对业务分支、数据流的覆盖完备性。
31、3、本发明将覆盖率、缺陷数据封装为标准化反馈数据包,依据实测业务缺陷与覆盖短板动态调整图谱节点权重、边关联强度,持续优化后续变更影响范围判定精度,让路径提取、风险定位随项目迭代持续精准,具备自适配、自迭代长效优化能力。
32、4、本发明生成的测试用例自动接入jenkins、gitlab ci,绑定代码合并触发规则,按变更类型区分执行优先级,高风险删除类变更优先核验,标准化测试报告留存完整执行记录,满足研发审计溯源要求,规范迭代测试准入门槛,降低线上功能回归风险。
33、5、图谱一致性校验机制保障增量更新可靠性,规避模型失真风险。采用特征向量l1范数计算一致性得分,新增极小值系数规避计算异常,更新后子图偏差超标自动触发回滚,防止图谱局部修改造成整体业务链路逻辑错乱,保障后续路径提取、用例生成的数据源稳定可靠,全链路底层数据基准可信
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com