一种基于需求与代码对应关系库的影响性分析方法及系统与流程

未命名 07-23 阅读:101 评论:0


1.本发明涉及软件测试技术领域,尤其涉及一种基于需求与代码对应关系库的影响性分析方法及系统。


背景技术:

2.开发人员在接到业务需求后,在分析代码改造范围时,往往依赖人员经验或个人能力,容易造成技术影响性分析缺失,遗漏改造内容。测试人员在分析测试回归范围时,也容易遗漏测试点,增加了软件质量风险。
3.目前已有的基于需求与代码对应关系辅助完成影响性分析的技术方案归纳如下:
4.目标软件对应的当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档;根据历史源代码和当前源代码,确定目标软件对应的多个变更代码段;根据多个变更代码段和当前源代码,确定每个变更代码段对应的关联代码段;根据当前软件需求文档、当前软件概要设计文档、当前软件详细设计文档以及每个关联代码段,生成影响分析报告。
5.根据需求提炼出功能关键字,接收输入的功能关键字;根据所述功能关键字确定入口代码类,并建立所述功能关键字与所述入口代码类的映射实体;根据所述入口代码类在软件系统代码集中抽取所述入口代码类的调用链路,以根据所述映射实体和所述调用链路定位与所述功能关键字匹配的代码受影响范围。
6.这很大程度上依赖开发人员的主观性分析,有很大的局限性,且影响分析不够准确。如从需求中抽取出功能关键字单维度对应代码,依据开发编写的概设、详设与据此开发的代码进行比对等,缺乏业务及测试视角。
7.但对于银行业这样复杂的业务系统,在需求变更时,经常出现由于开发人员技术影响性分析缺失而导致的程序缺陷。同时,由于测试人员分析回归测试范围遗漏而导致这些问题也没有在测试阶段发现,从而导致生产事件。如何全面、高效的获取编码及测试的影响范围,是亟待解决的影响软件质量的重要问题。


技术实现要素:

8.为解决现有技术的不足,本发明提出一种基于需求与代码对应关系库的影响性分析方法及系统能够全面、高效的获取编码及测试的影响范围,尽量避免由于技术影响性分析缺失带来的生产问题,建立一套动态保鲜的需求到代码的双向对应关系库,据此开发根据需求快速定位改造范围;测试根据改造代码快速定位回归测试范围。
9.为实现以上目的,本发明所采用的技术方案包括:
10.一种基于需求与代码对应关系库的影响性分析方法,其特征在于,包括:
11.s1、建立需求与代码对应关系库;
12.s2、针对需求的变更,根据需求与代码对应关系库中规则点与代码链的对应关系,生成需改造的代码清单;
13.s3、根据需改造的代码清单,确定需改造代码关联的测试案例,确定回归案例测试
范围;
14.所述步骤s1包括子步骤:
15.s11、获取系统的需求规格说明书,进行需求分析;
16.s12、通过树形结构为模块、交易、规则点以及测试案例逐层建立id标识进而建立模块、交易、规则点以及测试案例的对应关系;
17.s13、建立测试案例与代码链的对应关系,得到需求与代码对应关系库。
18.进一步地,所述步骤s13包括分步骤:
19.s131、系统执行测试案例;
20.s132、通过动态分布式链路追踪技术,记录应用服务各节点之间的调用和依赖关系,建立测试案例与代码链的对应关系。
21.进一步地,所述步骤s2包括子步骤:
22.s21、分析需求改造的内容;
23.s22、确定需要改造的模块、交易及规则点;
24.s23、生成需求改造的内容对应的规则点清单;
25.s24、根据需求与代码对应关系库中规则点与代码链的对应关系,找出需求改造的内容对应的代码链,生成需改造的代码清单;
26.s25、整合需改造的代码清单,生成代码改造范围分析报告。
27.进一步地,所述步骤s2还包括:针对需求变更,对需求与代码对应关系库同步进行更新。
28.进一步地,所述需求变更包括:新增需求、删除需求、修改需求及案例与代码链的对应关系更新。
29.本发明还涉及一种基于需求与代码对应关系库的影响性分析系统,其特征在于,包括:
30.需求与代码对应关系库建立模块,建立需求与代码对应关系库;
31.需改造的代码清单生成模块,针对需求的变更,根据需求与代码对应关系库中规则点与代码链的对应关系,生成需改造的代码清单;
32.回归案例测试范围确定模块,根据需改造的代码清单,确定需改造代码关联的测试案例,确定回归案例测试范围。
33.本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于需求与代码对应关系库的影响性分析方法。
34.本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
35.所述存储器,用于存储需求与代码对应关系库以及需改造的代码清单;
36.所述处理器,用于通过调用需求与代码对应关系库以及需改造的代码清单,执行上述的基于需求与代码对应关系库的影响性分析方法。
37.本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述基于需求与代码对应关系库的影响性分析方法的步骤。
38.本发明的有益效果为:
39.采用本发明所述方法及系统建立了一套动态保鲜的完整且系统性的需求到代码对应关系库,可根据被测系统的模块、交易、案例及其与代码的双向对应关系,建立一个打通需求到代码的知识库的方法。可以辅助精准分析开发范围及测试回归范围,提高开发与测试的分析效率及分析准确率,有效避免由于技术影响性分析缺失带来的软件质量风险。
附图说明
40.图1为本发明基于需求与代码对应关系库的影响性分析方法流程示意图。
41.图2为本发明实施例需求、案例与代码的对应关系库示意图。
42.图3为本发明生成代码影响范围分析报告方法流程示意图。
43.图4为本发明实施例代码改造范围示意图。
44.图5为本发明测试范围生成方法流程示意图。
45.图6为本发明实施例测试范围示意图。
46.图7为本发明基于需求与代码对应关系库的影响性分析系统结构示意图。
具体实施方式
47.为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
48.本发明第一方面涉及一种基于需求与代码对应关系库的影响性分析方法步骤流程如图1所示的方法,针对某一指定系统,依据软件需求规格说明书等文档,建立需求到代码双向对应关系库。该关系库应用于项目中,辅助完成改造范围和测试范围的界定,同时项目执行阶段,根据实际调用关系,反向更新关系库,持续保鲜。
49.s1、建立需求到代码双向对应关系库:
50.获取系统的需求规格说明书,进行需求分析;
51.测试人员根据某系统的软件需求规格说明书进行需求分析,通过树形结构逐层建立id标识,建立模块、交易、规则点以及测试案例的对应关系,如图2需求、案例与代码的对应关系库示意图中所示。一个模块可对应多个交易,一个交易对应多个规则点,针对每个规则点进行案例编写,一个规则点对应多条案例。同时,每一层的名称或摘要在系统内都是唯一的便于查找和复用。
52.根据某系统的软件需求规则说明书进行需求分析,梳理规则点并建立规则点与案例之间的关系。步骤如下:
53.(1)梳理出本系统一共分成几个模块,并逐一编号:模块1、模块2

。同一系统内部的模块编号唯一不重复。
54.(2)针对每一个模块,分析包含几个交易,并逐一编号,编号规则:模块编号-交易序号,例如模块1的第1个交易,编号为:交易1-1,模块2的第3个交易,交易编号为:交易2-3。同一模块内部的交易编号唯一不重复。
55.(3)针对每一个交易,分析包含几个规则点,并逐一编号,编号规则:交易编号-规则点序号,例如模块2的第1个交易的第4个规则点(或者交易编号2-1的第4个规则点),规则点编号为:2-1-4。同一交易内部的规则点编号唯一不重复。
56.(4)针对每个规则点编写案例,并进行编号,编号规则:规则点编号-案例序号,例如模块3的第2个交易的第1个规则点的第2个案例(或者规则点3-2-1的第2个案例),案例编
号为3-2-1-2。属于同一规则点的案例编号唯一不重复。
57.重复以上步骤,完成本系统全部模块、交易和规则点的梳理,以及规则点与案例的对应关系。
58.建立测试案例与代码链的对应关系;
59.依据测试案例进行执行,并通过动态分布式链路追踪技术,记录应用服务各节点之间的调用和依赖关系,建立测试案例与代码链的对应关系。
60.关系库的维护:
61.针对需求的变更,对关系库同步进行更新和保鲜。需求变更主要分以下几种类型,各类型对应保鲜的步骤如下:
62.需求新增:
63.对于新增需求,按照模块、交易、规则、案例的顺序依次梳理,并补充关系库中;
64.需求删除:
65.针对删除的模块、交易、规则等,在案例库中将对应的部分及其后续节点及案例和代码链等全部删除,并保证关系库剩余部分完整正确;
66.需求修改:
67.针对修改的模块、交易、规则等,在关系库中将对应的部分更新及对应的案例进行更新,案例与代码链的对应关系在第(4)中补充;
68.案例与代码链的对应关系更新:
69.通过动态分布式链路追踪技术,得到最终版本的案例与代码链的对应关系,并将其维护入库。对于新增的需求,补充该知识库;对于变更的需求,需修改规则、案例及代码链信息。
70.参照以上步骤,完成本系统关系库的维护和更新,建立一套动态保鲜的完整且系统性的需求到代码对应关系库,
71.s2、针对需求的变更,根据需求与代码对应关系库中规则点与代码链的对应关系,生成需改造的代码清单;
72.程序设计之前,通过分析需求改造点,确定需要改造的模块、交易和规则后,通过查找需求与代码对应关系库,初步确定代码改造范围。首先根据本次需求改造内容与已有需求关系树找出本次改造内容对应的规则点id清单,通过规则点id清单,找出对应的所有代码链,然后自动化生成代码改造范围分析报告,如图3生成代码影响范围分析报告示意图所示。
73.例如:根据图1,本次改造涉及规则点有1-1-1、1-1-2、1-2-1,则获取对应的代码链即代码改造范围为a.a1()-》b.b1()-》c.c1(),a.a2()-》b.b2()-》c.c2(),a.a3()-》b.b2()-》c.c3(),d.d1()-》e.e1()-》c.c1(),如图4代码改造范围示意图所示。
74.s3、根据需改造的代码清单,确定需改造代码关联的测试案例,确定回归案例测试范围。
75.如图5测试范围生成方法示意图所示。测试范围选取时,根据改造的代码清单,分析出需要的测试范围。例如:开发修改了代码c.c1(),根据图1对应关系,要测试案例范围为:案例1-1-1-1,案例1-2-1-1,案例2-1-1-1,如图6测试范围示意图所示。
76.关系库保鲜
77.根据圈定的测试范围依次执行,通过动态分布式链路追踪技术,记录节点间的调用关系,反向同步关系库,保证关系库中案例与代码链的对应关系准确无误,可应用于项目,正确生成代码影响范围报告和测试范围的选取。
78.本发明另一方面还涉及一种基于需求与代码对应关系库的影响性分析系统,其结构如图7所示,包括:
79.需求与代码对应关系库建立模块,建立需求与代码对应关系库;
80.需改造的代码清单生成模块,针对需求的变更,根据需求与代码对应关系库中规则点与代码链的对应关系,生成需改造的代码清单;
81.回归案例测试范围确定模块,根据需改造的代码清单,确定需改造代码关联的测试案例,确定回归案例测试范围。
82.通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。
83.本发明的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤。
84.本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,例如需求与代码对应关系库以及需改造的代码清单等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
85.优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
86.额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为lcd显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦
克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
87.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
88.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
89.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
90.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
91.以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

技术特征:
1.一种基于需求与代码对应关系库的影响性分析方法,其特征在于,包括:s1、建立需求与代码对应关系库;s2、针对需求的变更,根据需求与代码对应关系库中规则点与代码链的对应关系,生成需改造的代码清单;s3、根据需改造的代码清单,确定需改造代码关联的测试案例,确定回归案例测试范围;所述步骤s1包括子步骤:s11、获取系统的需求规格说明书,进行需求分析;s12、通过树形结构为模块、交易、规则点以及测试案例逐层建立id标识进而建立模块、交易、规则点以及测试案例的对应关系;s13、建立测试案例与代码链的对应关系,得到需求与代码对应关系库。2.如权利要求1所述的方法,其特征在于,所述步骤s13包括分步骤:s131、系统执行测试案例;s132、通过动态分布式链路追踪技术,记录应用服务各节点之间的调用和依赖关系,建立测试案例与代码链的对应关系。3.如权利要求1所述的方法,其特征在于,所述步骤s2包括子步骤:s21、分析需求改造的内容;s22、确定需要改造的模块、交易及规则点;s23、生成需求改造的内容对应的规则点清单;s24、根据需求与代码对应关系库中规则点与代码链的对应关系,找出需求改造的内容对应的代码链,生成需改造的代码清单;s25、整合需改造的代码清单,生成代码改造范围分析报告。4.如权利要求1所述的方法,其特征在于,所述步骤s2还包括:针对需求变更,对需求与代码对应关系库同步进行更新。5.如权利要求4所述的方法,其特征在于,所述需求变更包括:新增需求、删除需求、修改需求及案例与代码链的对应关系更新。6.一种基于需求与代码对应关系库的影响性分析系统,其特征在于,包括:需求与代码对应关系库建立模块,建立需求与代码对应关系库;需改造的代码清单生成模块,针对需求的变更,根据需求与代码对应关系库中规则点与代码链的对应关系,生成需改造的代码清单;回归案例测试范围确定模块,根据需改造的代码清单,确定需改造代码关联的测试案例,确定回归案例测试范围。7.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的基于需求与代码对应关系库的影响性分析方法。8.一种电子设备,其特征在于,包括处理器和存储器;所述存储器,用于存储需求与代码对应关系库以及需改造的代码清单;所述处理器,用于通过调用需求与代码对应关系库以及需改造的代码清单,执行权利要求1至5中任一项所述的基于需求与代码对应关系库的影响性分析方法。
9.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至5中任一项所述基于需求与代码对应关系库的影响性分析方法的步骤。

技术总结
本发明涉及一种基于需求与代码对应关系库的影响性分析方法及系统,包括:建立需求与代码对应关系库;针对需求的变更,根据需求与代码对应关系库中规则点与代码链的对应关系,生成需改造的代码清单;根据需改造的代码清单,确定需改造代码关联的测试案例,确定回归案例测试范围。本方法及系统建立一套动态保鲜的完整且系统性的需求到代码对应关系库,可根据被测系统的模块、交易、案例及其与代码的双向对应关系,建立一个打通需求到代码的知识库的方法。可以辅助精准分析开发范围及测试回归范围,提高开发与测试的分析效率及分析准确率,有效避免由于技术影响性分析缺失带来的软件质量风险。件质量风险。件质量风险。


技术研发人员:高蕊 冷炜 付静 李超 翟倩倩
受保护的技术使用者:中信银行股份有限公司
技术研发日:2023.03.31
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐