回归测试方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:35903471 阅读:13 留言:0更新日期:2022-12-10 10:40
本公开提供了回归测试方法、装置、电子设备以及存储介质,涉及计算机技术领域,尤其涉及软件测试领域。具体实现方案为:确定迭代测试中当前待测试代码相对于最近一次已完成测试代码所产生的变更文件集;基于代码知识图谱,确定变更文件集对应的变更组件集;基于代码知识图谱和所变更组件集,确定待回归页面;其中,代码知识图谱用于描述源码中文件与组件之间的对应关系,并用于描述组件与页面之间的对应关系;基于变更组件集和待回归页面,进行回归测试。回归测试。回归测试。

【技术实现步骤摘要】
回归测试方法、装置、电子设备以及存储介质


[0001]本公开涉及计算机
,尤其涉及软件测试


技术介绍

[0002]随着计算机的不断发展,由程序构建而成的产品越来越多,并且此类产品的数量在不断的攀升。为了满足人们的各种需求,由程序构建的产品需要不断的进行更新和迭代,而产品进行更新和迭代需要更改产品中公共模块的代码,并在修改之后对产品进行回归测试。回归测试是指修改了旧代码,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
[0003]在云原生微服务架构大力推行的背景下,一个产品动辄要搭建几百个应用,并且随着前端组件化开发方式的普及,导致整体服务拓扑十分庞大,调用关系错综复杂。目前在对前端进行回归测试时,主要靠测试人员的经验,存在对代码改动影响面评估不准确,而导致回归漏测的风险。

技术实现思路

[0004]本公开提供了一种回归测试方法、装置、电子设备以及存储介质。
[0005]根据本公开的一方面,提供了一种回归测试方法,包括:确定迭代测试中当前待测试代码相对于最近一次已完成测试代码所产生的变更文件集;基于代码知识图谱,确定所述变更文件集对应的变更组件集;基于所述代码知识图谱和所述变更组件集,确定待回归页面;其中,所述代码知识图谱用于描述源码中文件与组件之间的对应关系,并用于描述组件与页面之间的对应关系;基于所述变更组件集和所述待回归页面,进行回归测试。
[0006]根据本公开的另一方面,提供了一种回归测试装置,包括:确定模块,用于确定迭代测试中当前待测试代码相对于最近一次已完成测试代码所产生的变更文件集;基于代码知识图谱,确定所述变更文件集对应的变更组件集;基于所述代码知识图谱和所述变更组件集,确定待回归页面;其中,所述代码知识图谱用于描述源码中文件与组件之间的对应关系,并用于描述组件与页面之间的对应关系;测试模块,用于基于所述变更组件集和所述待回归页面,进行回归测试。
[0007]根据本公开的另一方面,提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
[0008]根据本公开的另一方面,提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的方法。
[0009]根据本公开的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的方法。
[0010]本公开提供的回归测试方法,基于代码知识图谱可以确定变更文件集对应的变更
组件集,进一步根据变更组件集通过代码知识图谱确定待回归页面,并基于所述变更组件集和所述待回归页面,进行回归测试。由于代码知识图谱用于描述源码中文件与组件之间的对应关系以及描述组件与页面之间的对应关系,因此能够提供更加精准的回归范围,减少回归遗漏,无需人为进行回归范围的划分,提升人力效能。
[0011]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0012]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0013]图1是根据本公开实施例提供的一种组件引用关系的示意图;
[0014]图2是根据本公开实施例提供的一种生成知识代码图谱的场景示意图;
[0015]图3是根据本公开实施例提供的一种应用于回归测试方法的场景示意图;
[0016]图4是根据本公开实施例提供的一种回归测试方法的流程示意图;
[0017]图5是根据本公开实施例提供的一种确定回归测试范围的场景示意图;
[0018]图6是根据本公开实施例提供的一种回归测试方法的流程示意图;
[0019]图7是根据本公开实施例提供的一种组件引用关系的示意图;
[0020]图8是根据本公开实施例提供的一种回归测试方法的流程示意图;
[0021]图9是根据本公开实施例提供的一种确定风险等级的场景示意图;
[0022]图10是根据本公开实施例提供的一种回归测试方法的流程示意图;
[0023]图11是根据本公开实施例提供的一种定位异常组件的场景示意图;
[0024]图12是根据本公开实施例提供的一种回归测试的装置的框图;
[0025]图13是用来实现本公开实施例的回归测试的方法的电子设备的框图。
具体实施方式
[0026]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0027]在云原生微服务架构大力推行的背景下,一个产品动辄要搭建几百个应用,并且随着前端组件化开发方式的普及,导致整体服务拓扑十分庞大,调用关系错综复杂。针对前端进行回归测试时,主要靠测试人员的经验,存在对代码改动影响面评估不准确,而导致回归漏测的风险。特别是当存在服务间引用关系时,如果研发人员修改了上游服务的组件,但其对下游有多少服务引用了该组件缺乏了解,因而没有及时通知下游进行回归测试,很可能导致下游产品出现问题。
[0028]目前还有采用自动化回归测试的方案,如果端到端自动化做得比较完善,也会在回归阶段运行自动化测试用例来进行提效和弥补疏漏。但是采用端到端自动化的方式进行回归测试,首先对自动化用例的完备度有很高的要求,否则无法召回边界场景问题;其次当用例完备度很高时,自动化的维护成本、运行稳定性和运行效率存在很大的挑战,如果项目经常升级,自动化的维护成本甚至高于人工测试。
[0029]在一些项目中还会采用精准测试的方案,首先在代码中进行插桩,接下来录制用例,将产生的代码覆盖率数据与该用例进行关联,将用例与代码的关联关系进行维护,这样当代码发生变更时,通过变更代码就可以将用例筛选出来,作为主要回归用例。前端精准测试技术对提升自动化的运行效率有比较好的改善,但不管是对于人工测试还是自动化测试,当项目升级时就需要重新录制用例与代码的关联关系,仍然存在维护成本高的问题。
[0030]基于上述问题,本公开提供一种回归测试的方法,基于代码知识图谱确定变更文件集对应的变更组件集,进一步根据变更组件集通过代码知识图谱确定待回归页面,并基于所述变更组件集和所述待回归页面,进行回归测试。由于代码知识图谱用于描述源码中文件与组件之间的对应关系以及描述组件与页面之间的对应关系,因此能够提供更加精准的回归范围,减少回归遗漏,无需人为进行回归范围的划分,提升人力效能。
[0031]下面首先对前端组件的关系进行简要描述:在组件式开发的WEB或H5项目中,页面功能被拆分,独立进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种回归测试方法,包括:确定迭代测试中当前待测试代码相对于最近一次已完成测试代码所产生的变更文件集;基于代码知识图谱,确定所述变更文件集对应的变更组件集;基于所述代码知识图谱和所述变更组件集,确定待回归页面集;其中,所述代码知识图谱用于描述源码中文件与组件之间的对应关系,并用于描述组件与页面之间的对应关系;基于所述变更组件集和所述待回归页面,进行回归测试。2.根据权利要求1所述的方法,所述代码知识图谱还用于描述组件链路之间的相互引用关系;所述基于所述代码知识图谱和所述变更组件集,确定待回归页面,包括:基于所述代码知识图谱所描述的组件链路之间的相互引用关系,按照组件链路引用关系从下到上的顺序逐级遍历所述变更组件集中各组件,得到最上层链路对应的变更组件;将所述最上层链路对应的变更组件所对应的页面,作为待回归页面。3.根据权利要求1或2所述的方法,所述基于所述变更组件集和所述待回归页面,进行回归测试,包括:基于所述变更组件集中每个变更组件的风险等级,确定所述待回归页面的优先级;基于所述待回归页面集的优先级,按照优先级顺序,对所述待回归页面进行回归测试。4.根据权利要求3所述的方法,所述变更组件集中的任一变更组件的风险等级基于以下方式确定:获取变更组件中一个或多个变更行的变更方式和变更语法类型;基于所述一个或多个变更行的变更方式和变更语法类型,确定所述一个或多个变更行的风险等级;将所述一个或多个变更行中风险等级最高的等级,确定为所述变更组件的风险等级。5.根据权利要求1至4中任意一项所述的方法,所述方法还包括:响应于存在异常页面,基于所述组件链路之间的相互引用关系,定位所述异常界面所对应组件引用的最下层链路对应的组件;将所述最下层链路对应的组件,确定为异常组件。6.一种回归测试装置,包括:确定模块,用于确定迭代测试中当前待测试代码相对于最近一次已完成测试代码所产生的变更文件集;基于代码知识图谱,确定所述变更文件集对应的变更组件集;基于所述代码知识图谱和所述变更组件集,确定待回归页面;其中,所述代码知识图谱用于描述源码中文件与组件之间的对应...

【专利技术属性】
技术研发人员:李洋陈蕾
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1