一种基于精准质量保障系统的测试用例推荐方法技术方案

技术编号:37151450 阅读:17 留言:0更新日期:2023-04-06 22:07
本发明专利技术公开了一种基于精准质量保障系统的测试用例推荐方法,建立包含若干个测试用例的知识库,执行测试用例、获取测试用例的代码,构建测试用例与代码的映射关系;拉取分布式版本控制系统中的分支代码,部署测试环境并提交测试,分别对分支代码、以及知识库内各测试用例的代码进行差异化对比和调用链分析,定位影响的接口范围;基于影响的接口范围,创建新增测试用例或调用知识库内已有的测试用例作为测试用例推荐。本发明专利技术根据迭代自动推荐测试用例,流程更高效、更有针对性。本发明专利技术深入系统代码层级,有针对聚焦测试范围,提高测试过程的可追溯性和透明度,整体性提高质量工作效率和产品质量。产品质量。产品质量。

【技术实现步骤摘要】
一种基于精准质量保障系统的测试用例推荐方法


[0001]本专利技术属于计算机
,具体涉及一种基于精准质量保障系统的测试用例推荐方法。

技术介绍

[0002]从建筑行业系统特点来说,各系统几乎都具有规模庞大、材料种类数量繁多、业务复杂、系统关联性强、交易量大、需求变化快等特点。此外,各种新老系统交纵错杂,使得测试分析设计难度异常复杂。传统质量保障方法去保障产品质量并非最优解,且仅仅依靠人工分析解决已无法满足需求,如何通过技术手段使质量分析设计更有效,整个流程可追溯,并且结论高可信,精准质量保障系统带来了较好的解决思路。
[0003]另一方面,随着云筑网业务快速蓬勃发展,业务复杂度日渐提升,研发人员面临的质量保障任务日益繁杂,如何在有限人力资源条件下应对日益增长的任务,并高质量地开展保障工作是当前工作面临的主要问题之一。针对以上建筑产业互联网发展所需,如何更快、更高效、更精准保障系统零故障,做到真正对客户负责,成为所属技术人员亟待解决的技术问题。
[0004]因此,本专利技术提供了一种基于精准质量保障系统的测试用例推荐方法,以至少解决上述部分技术问题。

技术实现思路

[0005]本专利技术要解决的技术问题是:提供一种基于精准质量保障系统的测试用例推荐方法,以至少解决上述部分技术问题。
[0006]为实现上述目的,本专利技术采用的技术方案如下:一种基于精准质量保障系统的测试用例推荐方法,包括以下步骤:步骤1、建立包含若干个测试用例的知识库,执行测试用例、获取测试用例的代码,构建测试用例与代码的映射关系;步骤2、拉取分布式版本控制系统中的分支代码,部署测试环境并提交测试,分别对分支代码、以及知识库内各测试用例的代码进行差异化对比和调用链分析,定位影响的接口范围;步骤3、基于影响的接口范围,创建新增测试用例或调用知识库内已有的测试用例作为测试用例推荐。
[0007]进一步地,在所述步骤2中,分支代码的差异化对比和调用链分析包括:步骤A、拉取分布式版本控制系统中基础分支和部署分支的代码测试环境并提交测试;步骤B、基于开源组件,对基础分支和部署分支的代码进行差异化对比,获取部署分支的变更文件;步骤C、基于开源的代码覆盖率工具,对变更文件中的增量代码进行增量覆盖率计算;步骤D、由Java反射筛选、读取变更文件,对变更文件文件中类和方法降噪处理;利用Java字节码操控框架分析对应的类和方法,依次递归向上寻找上一级调用并存储对应接口的调用链,全局
生成每个接口的调用链并去重,定位各接口的级别变更并生成第一变更结果。
[0008]进一步地,在所述步骤2中,知识库内各测试用例的代码的差异化对比和调用链分析包括:步骤a、基于开源的代码覆盖率工具,对知识库内各测试用例的代码进行代码覆盖率计算;步骤b、利用Java字节码操控框架对各测试用例代码中的类进行分析,得到每个类对应接口的调用链;步骤c、基于开源组件,对各测试用例代码中的类、方法和参数进行差异化对比,由差异化对比出的类、方法和参数的调用链进行筛选,筛选出顶层的调用链,定位接口的级别变更并生成第二变更结果。
[0009]进一步地,根据第一变更结果和第二变更结果,定位影响的接口范围。
[0010]进一步地,所述步骤3中:影响接口为新增接口,基于所述新增接口的分支代码,创建新增测试用例并作为推荐测试用例;影响接口为历史接口,将知识库内所述历史接口对应的测试用例作为推荐测试用例。
[0011]进一步地,所述步骤2还包括:跳转至自动化平台,基于分支代码创建测试用例并动态补充至知识库。
[0012]进一步地,本专利技术还包括:步骤4、对推荐测试用例进行降噪处理;步骤5、执行推荐测试用例;步骤6、对所述推荐测试用例进行增量覆盖率统计。
[0013]进一步地,在所述步骤6中,基于开源的代码覆盖率工具,对推荐测试用例进行代码覆盖率计算。
[0014]与现有技术相比,本专利技术具有以下有益效果:本专利技术根据迭代自动推荐测试用例,流程更高效、更有针对性。本专利技术深入系统代码层级,有针对聚焦测试范围,提高测试过程的可追溯性和透明度,整体性提高质量工作效率和产品质量。
附图说明
[0015]图1为本专利技术的方法流程图。
实施方式
[0016]技术名词:Git:开源的分布式版本控制系统;JGit:一个轻量级纯Java的类库,用来实现Git的版本控制系统的访问,以及提供核心的版本控制算法;Java Parser:基于JavaCC做为Java语言词法解析的工具;Jacoco:开源的代码覆盖率工具;ASM:Java字节码操控框架。
[0017]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进一步详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0018]在本专利技术的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0019]如图1所示,本专利技术提供的一种基于精准质量保障系统的测试用例推荐方法,包括以下步骤:步骤1、建立包含若干个测试用例的知识库,执行测试用例、获取测试用例的代码,构建测试用例与代码的映射关系;步骤2、拉取分布式版本控制系统中的分支代码,部署测试环境并提交测试,分别对分支代码、以及知识库内各测试用例的代码进行差异化对比和调用链分析,定位影响的接口范围;步骤3、基于影响的接口范围,创建新增测试用例或调用知识库内已有的测试用例作为测试用例推荐。
[0020]本专利技术解决了现有回归测试过程中无法量化变更引起的代码变化和测试用例的对应关系,避免全量回归引起的高额成本。本专利技术通过建立知识库,采集测试用例与代码的映射关系,便于利用知识库进行测试范围推荐;针对知识库内可能会存在大量冗余的测试用例而影响测试效率,通过降噪和接口定位,缩小测试用例范围,达到精准推荐的效果。
[0021]在部分实施例中,所述步骤2中,分支代码的差异化对比和调用链分析包括:步骤A、拉取分布式版本控制系统中基础分支和部署分支的代码测试环境并提交测试;步骤B、基于开源组件JGit、JavaParser插件,对基础分支和部署分支的代码进行差异化对比,获取部署分支的变更文件;步骤C、基于开源的代码覆盖率工具Jacoco,对变更文件中的增量代码进行增量覆盖率计算;步骤D、由Java反射筛选、读取变更文件,对变更文件文件中类和方法降噪处理;利用Java字节码操控框架ASM分析对应的类和方法,依次递归向上寻找上一级调用并存储对应接口的调用链,全局生成每个接口的调用链并去重,定位各接口的级别变更并生成第一变更结果。本专利技术通过新增接口传入Git地址,拉取基础分支和部署分支的代码,利用开源的JGit、JavaParser插件分析差异化信息,差异化对比后获取当前部署分支增加、删除、修改的变更文件;在Jacoco基础上进行二次开发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于精准质量保障系统的测试用例推荐方法,其特征在于,包括以下步骤:步骤1、建立包含若干个测试用例的知识库,执行测试用例、获取测试用例的代码,构建测试用例与代码的映射关系;步骤2、拉取分布式版本控制系统中的分支代码,部署测试环境并提交测试,分别对分支代码、以及知识库内各测试用例的代码进行差异化对比和调用链分析,定位影响的接口范围;步骤3、基于影响的接口范围,创建新增测试用例或调用知识库内已有的测试用例作为测试用例推荐。2.根据权利要求1所述的一种基于精准质量保障系统的测试用例推荐方法,其特征在于,在所述步骤2中,分支代码的差异化对比和调用链分析包括:步骤A、拉取分布式版本控制系统中基础分支和部署分支的代码测试环境并提交测试;步骤B、基于开源组件,对基础分支和部署分支的代码进行差异化对比,获取部署分支的变更文件;步骤C、基于开源的代码覆盖率工具,对变更文件中的增量代码进行增量覆盖率计算;步骤D、由Java反射筛选、读取变更文件,对变更文件文件中类和方法降噪处理;利用Java字节码操控框架分析对应的类和方法,依次递归向上寻找上一级调用并存储对应接口的调用链,全局生成每个接口的调用链并去重,定位各接口的级别变更并生成第一变更结果。3.根据权利要求2所述的一种基于精准质量保障系统的测试用例推荐方法,其特征在于,在所述步骤2中,知识库内各测试用例的代码的差异化对比和调用链分析包括:步骤a、基于开源的代码覆盖率工具...

【专利技术属性】
技术研发人员:李齐蔡昕宸
申请(专利权)人:云筑信息科技成都有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1