CN117234899A - 回归测试方法、装置、设备及计算机介质 - Google Patents
回归测试方法、装置、设备及计算机介质 Download PDFInfo
- Publication number
- CN117234899A CN117234899A CN202311095860.3A CN202311095860A CN117234899A CN 117234899 A CN117234899 A CN 117234899A CN 202311095860 A CN202311095860 A CN 202311095860A CN 117234899 A CN117234899 A CN 117234899A
- Authority
- CN
- China
- Prior art keywords
- data access
- access layer
- external interface
- layer method
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 244
- 238000004590 computer program Methods 0.000 claims description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000012827 research and development Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 19
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种回归测试方法、装置、设备及计算机可读介质,该申请通过确定当前修改的数据访问层代码对应的目标数据访问层方法,然后在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系,然后根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试,从而能够根据目标对外接口进行针对性的回归测试,大幅减小了回归测试的范围,针对性更强,可以有效降低回归测试的工作量,提高回归测试效率,进而有助于提升研发效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种回归测试方法、装置、设备及计算机可读介质。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就被认为是现有技术。
随着对数据安全要求的升级,以及系统架构的升级,数据库的替换在软件开发的过程中不可避免,在数据库的替换过程中,对于历史数据可以进行数据迁移,但是不同的底层数据库对于程序在数据访问层会有不同的操作逻辑,需要修改相应的代码进行适配,但是,在修改程序数据访问层代码的过程中,由于缺乏对程序业务功能范围的评估,通常情况下,常常是修改一处数据访问层代码,需要对整个程序业务功能进行回归测试,这就导致需要消耗较大的工作量和资源进行回归测试,既浪费了大量的时间,又会严重影响研发进度。
鉴于上述问题,需要提供一种更加高效的回归测试方法。
发明内容
本申请的多个方面提供一种回归测试方法、装置、设备及计算机可读存储介质,用以降低回归测试的工作量,提高回归测试的效率。
本申请的一方面,提供一种回归测试方法,其中,所述方法包括:
确定当前修改的数据访问层代码对应的目标数据访问层方法;
在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系;
根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试。
本申请的另一方面,提供一种回归测试装置,其中,所述装置包括:
数据访问层方法确定模块,用于确定当前修改的数据访问层代码对应的目标数据访问层方法;
目标对外接口名称查询模块,用于在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系;
回归测试模块,用于根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试。
本申请的另一方面,提供一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的回归测试方法。
本申请的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如上所述的回归测试方法。
本申请实施例提供的方案中,通过确定当前修改的数据访问层代码对应的目标数据访问层方法,然后在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系,然后根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试,从而能够确定当前修改的数据访问层代码所影响的目标对外接口,并根据目标对外接口进行针对性的回归测试,相较于目前每次修改都需要对整个程序的业务功能全部进行回归测试的方式,大幅减小了回归测试的范围,针对性更强,可以有效降低回归测试的工作量,提高回归测试效率,进而有助于提升研发效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请一实施例提供的回归测试方法的流程示意图;
图2为本申请另一实施例提供的生成数据访问层方法影响接口列表的的流程示意图;
图3为本申请一实施例提供的回归测试装置的结构示意图;
图4为适用于实现本申请实施例中的方案的一种电子设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种回归测试方法、装置、设备及计算机可读存储介质,用以降低回归测试的工作量,提高回归测试的效率,通过确定当前修改的数据访问层代码对应的目标数据访问层方法,然后在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系,然后根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试,从而能够确定当前修改的数据访问层代码所影响的目标对外接口,并根据目标对外接口进行针对性的回归测试,相较于目前每次修改都需要对整个程序的业务功能全部进行回归测试的方式,大幅减小了回归测试的范围,针对性更强,可以有效降低回归测试的工作量,提高回归测试效率,进而有助于提升研发效率。
在实际场景中,该方法的执行主体可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现,可以用于实现设置闹钟时的部分处理功能。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图1示出了本申请实施例提供的一种回归测试方法的处理流程,所述方法至少包括以下的处理步骤:
步骤S101,确定当前修改的数据访问层代码对应的目标数据访问层方法。
其中,数据访问层(Data Access Layer,简称DAL)负责与数据库的交互,运行数据库查询并执行更新,其主要的数据访问层方法包括对数据库的Select(查询)、Insert(插入)、Update(更新)、Delete(删除)等操作,但不限于以上操作。
步骤S102,在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系。
其中,上述数据访问层方法影响接口列表可以预先构建并存储,在后续实施例中会举例说明其构建过程。
步骤S103,根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试。
本步骤中,可以只对查询到的所述目标对外接口名称对应的目标对外接口进行回归测试,从而相较于目前每次修改都需要对整个程序的业务功能全部进行回归测试的方式,能够大幅减小回归测试的范围,降低回归测试的工作量。
本申请实施例提供的上述回归测试方法,通过确定当前修改的数据访问层代码对应的目标数据访问层方法,然后在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系,然后根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试,从而能够确定当前修改的数据访问层代码所影响的目标对外接口,并根据目标对外接口进行针对性的回归测试,相较于目前每次修改都需要对整个程序的业务功能全部进行回归测试的方式,大幅减小了回归测试的范围,针对性更强,可以有效降低回归测试的工作量,提高回归测试效率,进而有助于提升研发效率。
在一些变更实施方式中,在所述在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法对应的目标对外接口名称之前,还包括:
通过对应用程序源代码进行数据访问层方法调用关系追溯,确定每个数据访问层方法所影响的对外接口名称,并根据所述数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系生成数据访问层方法影响接口列表。
其中,对外接口位于控制层即Controller层,Controller层也称为对外接口层,负责具体的业务模块流程的控制,其在处理业务过程中会调用数据访问层中的方法即函数,因此,通过进行数据访问层方法调用关系追溯,根据调用关系即可确定每个数据访问层方法所影响的对外接口名称(有调用关系即说明有影响关系),然后据此生成数据访问层方法影响接口列表。
通过本实施方式,能够通过数据访问层方法调用关系追溯确定每个数据访问层方法所影响的对外接口名称,进而生成数据访问层方法影响接口列表,其中,本申请实施例并不限定数据访问层方法调用关系追溯的具体实施方式,以下通过示例进行说明。
在上述实施方式的基础上,在一些变更实施方式中,所述通过对应用程序源代码进行数据访问层方法调用关系追溯,确定每个数据访问层方法所影响的对外接口名称,包括:
根据应用程序源代码获取数据访问层对应的数据访问层方法列表;
根据所述应用程序源代码获取控制层对应的对外接口信息列表,所述对外接口信息列表记录有对外接口名称与对外接口所调用方法的对应关系;
通过匹配所述数据访问层方法列表中的数据访问层方法与所述对外接口信息列表中的对外接口所调用方法,确定每个数据访问层方法所影响的对外接口名称。
本实施方式,通过分别获取数据访问层方法列表和对外接口信息列表,然后将二者进行匹配,从而能够确定数据访问层方法与对外接口之间的调用关系,进而确定每个数据访问层方法所影响的对外接口名称。
其中,在上述实施方式的基础上,在一些变更实施方式中,所述根据应用程序源代码获取数据访问层对应的数据访问层方法列表,包括:
在应用程序源代码对应的Java文件列表中查询数据访问层文件;
针对每个所述数据访问层文件,将所述数据访问层文件解析为抽象语法树,并根据所述抽象语法树提取出所述数据访问层文件对应的数据访问层方法;
根据提取的所有数据访问层方法生成数据访问层方法列表。
其中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构,抽象语法树并不依赖于源语言的语法,因此,通过构造语法分析树,可以为前端、后端建立一个清晰的接口。
本实施方式,通过将数据访问层文件解析为抽象语法树,从而能够利用抽象语法树的特点,清晰、快速、准确的提取出数据访问层文件对应的数据访问层方法,进而生成数据访问层方法列表。
在前述实施方式的基础上,在一些变更实施方式中,所述根据所述应用程序源代码获取控制层对应的对外接口信息列表,包括:
在应用程序源代码对应的Java文件列表中查询控制层文件;
针对每个所述控制层文件,将所述控制层文件解析为抽象语法树,并根据所述抽象语法树提取出所述控制层文件对应的对外接口名称,通过查询所述对外接口名称所对应对外接口的注解确定所述对外接口所调用方法;
根据提取的所有对外接口名称与对外接口所调用方法的对应关系生成的对外接口信息列表。
本实施方式,通过将控制层文件解析为抽象语法树,同样能够利用抽象语法树的特点,清晰、快速、准确的提取出控制层文件对应的对外接口名称,此外,借助对外接口的注解能够准确、高效地确定对外接口所调用方法,进而生成对外接口信息列表。
在前述实施方式的基础上,在一些变更实施方式中,所述通过匹配所述数据访问层方法列表中的数据访问层方法与所述对外接口信息列表中的对外接口所调用方法,确定每个数据访问层方法所影响的对外接口名称,包括:
遍历所述数据访问层方法列表中的数据访问层方法,针对每个所述数据访问层方法,在所述对外接口信息列表中查询对外接口所调用方法中是否包含所述数据访问层方法,若包含,则确定包含所述数据访问层方法的所述对外接口所调用方法对应的对外接口名称是所述数据访问层方法所影响的对外接口名称。
通过本实施方式,可以将数据访问层方法列表中的数据访问层方法与对外接口信息列表中的对外接口所调用方法进行一一比对,比对一致则说明有对外接口与数据访问层方法具有对应的调用关系,因此,可以据此确定数据访问层方法所影响的对外接口名称。
在一些变更实施方式中,所述方法还包括:
根据查询到的所述目标对外接口名称对应的目标对外接口,确定当前修改的数据访问层代码所存在的风险。
在查询到目标对外接口名称对应的目标对外接口后,即可确定当前修改的数据访问层代码所涉及或者所影响的对外接口,根据该对外接口的重要性、业务范围等,即可准确评估数据访问层修改对业务造成的影响,进而能够准确评估本次修改项目所产生的风险,以便于进行针对性的风险防控,降低代码修改所引发的风险。
为了便于理解,结合一个具体的示例对本申请上述回归测试方法进一步进行说明。
在一个具体示例中,采用本申请实施例提供的上述回归测试方法进行回归测试,在修改程序数据访问层后,通过追溯函数的调用关系,确定程序的对外接口中会直接或者间接使用该数据访问层函数的相关接口,然后重点回归测试这些对外接口,从而缩小回归测试范围,其中,对于数据访问层方法影响接口列表的生成方式,可以参考图2及以下示例进行理解。
请参考图2,其示出了本申请另一实施例提供的生成数据访问层方法影响接口列表的流程示意图,该流程可以包括以下步骤:
1、通过git clone命令从项目代码管理平合获取项目源码即应用程序源代码。
2、遍历查找项目源码中文件后缀为"java"文件,添加到java文件列表。
3、遍历java文件列表,将文件名称通过lower()函数统一转换成为小写,查询文件名称以dto结尾的文件,该文件为数据访问层类名称,将该文件根据java语法解析成抽象语法树,通过正则表达式/MethodDeclarator[*]获取到当前类下的所有方法,并逐个通过@image属性提取方法名称,以(方法名称,类名称)的对象方式保存到数据访问层方法列表。
4、遍历java文件列表,将文件名称通过lower()函数统一转换成为小写,查询文件名称以class结尾的文件,则该文件为对外接口层(即控制层controller)类名称,将该文件根据java语法解析成抽象语法树,通过正则表达式/[Anotation[name="requestMapping"]/Membervalue/literal*]获取到当前类下包含requestmapping注解的方法,并通过litera方法获取对外接口名称。
5.通过正则表达式/[Anotation[name="requestMapping"]/Membervalue/MethodDeclarator[*]]获取到对外接口的对应方法名称,然后以(接口名称,接口方法,接口类名称)对象方式添加到对外接口信息列表。
6.遍历对外接口名称,通过正则表达式/[Anotation[name=requesMapping"]/Expression/MethodDeclarator[name=**对外接口名称"]/Expression/primaryprefix[*]]获取该对外接口方法中调用的相关函数,并将该信息以(接口名称,接口方法,接口类名称,接口调用的相关方法)对象更新到对外接口信息列表。
7.遍历数据访问层方法列表,根据数据访问层方法,在对外接口信息列表中查询对外接口调用的方法中是否包含当前的数据访问层方法,如果不包含则跳过继续下一个循环。
8.如果包含,则说明该数据访问层方法影响该对外接口,以(数据访问层方法,数据访问层方法所在的类名,对外接口名称)添加到数据访问层方法影响接口列表。
通过上述具体实施例,还可以获得以下有益效果:
1、通过追溯函数的调用关系,精确定位到数据访问层的修改对对外接口的影响范围,从而能够缩小回归测试范围。
2、通过追溯函数的调用关系,能准确评估数据访问层修改对业务造成的影响,进而能够准确评估修改所带来的项目风险。
基于同一发明构思,本申请实施例中还提供了一种回归测试装置,该装置对应的方法可以是前述实施例中的回归测试方法,并且其解决问题的原理与该方法相似。本申请实施例提供的回归测试装置可以实施上述回归测试方法,该回归测试装置可以通过软件、硬件或软硬结合的方式来实现。例如,该回归测试装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。请参考图3,该回归测试装置可以包括:
数据访问层方法确定模块101,用于确定当前修改的数据访问层代码对应的目标数据访问层方法;
目标对外接口名称查询模块102,用于在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系;
回归测试模块103,用于根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试。
在一些变更实施方式中,所述装置,还包括:
方法影响接口列表创建模块,用于通过对应用程序源代码进行数据访问层方法调用关系追溯,确定每个数据访问层方法所影响的对外接口名称,并根据所述数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系生成数据访问层方法影响接口列表。
在一些变更实施方式中,所述方法影响接口列表创建模块,包括:
数据访问层方法列表获取单元,用于根据应用程序源代码获取数据访问层对应的数据访问层方法列表;
对外接口信息列表获取单元,用于根据所述应用程序源代码获取控制层对应的对外接口信息列表,所述对外接口信息列表记录有对外接口名称与对外接口所调用方法的对应关系;
方法接口匹配单元,用于通过匹配所述数据访问层方法列表中的数据访问层方法与所述对外接口信息列表中的对外接口所调用方法,确定每个数据访问层方法所影响的对外接口名称。
在一些变更实施方式中,所述数据访问层方法列表获取单元,包括:
数据访问层文件查询子单元,用于在应用程序源代码对应的Java文件列表中查询数据访问层文件;
数据访问层方法提取子单元,用于针对每个所述数据访问层文件,将所述数据访问层文件解析为抽象语法树,并根据所述抽象语法树提取出所述数据访问层文件对应的数据访问层方法;
数据访问层方法列表生成子单元,用于根据提取的所有数据访问层方法生成数据访问层方法列表。
在一些变更实施方式中,所述对外接口信息列表获取单元,包括:
控制层文件查询子单元,用于在应用程序源代码对应的Java文件列表中查询控制层文件;
对外接口信息查询子单元,用于针对每个所述控制层文件,将所述控制层文件解析为抽象语法树,并根据所述抽象语法树提取出所述控制层文件对应的对外接口名称,通过查询所述对外接口名称所对应对外接口的注解确定所述对外接口所调用方法;
对外接口信息列表生成子单元,用于根据提取的所有对外接口名称与对外接口所调用方法的对应关系生成的对外接口信息列表。
在一些变更实施方式中,所述方法接口匹配单元,包括:
方法接口匹配子单元,用于遍历所述数据访问层方法列表中的数据访问层方法,针对每个所述数据访问层方法,在所述对外接口信息列表中查询对外接口所调用方法中是否包含所述数据访问层方法,若包含,则确定包含所述数据访问层方法的所述对外接口所调用方法对应的对外接口名称是所述数据访问层方法所影响的对外接口名称。
在一些变更实施方式中,所述装置还包括:
风险评估模块,用于根据查询到的所述目标对外接口名称对应的目标对外接口,确定当前修改的数据访问层代码所存在的风险。
本申请实施例提供的回归测试装置,与本申请前述实施例提供的回归测试方法出于相同的发明构思,具有相同的有益效果。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备对应的方法可以是前述实施例中的回归测试方法,并且其解决问题的原理与该方法相似。本申请实施例提供的所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述本申请的多个实施例的回归测试方法和/或技术方案。
所述电子设备可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现,可以用于实现设置闹钟时的部分处理功能。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图4示出了适用于实现本申请实施例中的方法和/或技术方案的一种电子设备的结构,该电子设备1200包括中央处理单元(CPU,Central Processing Unit)1201,其可以根据存储在只读存储器(ROM,Read Only Memory)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM,Random Access Memory)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM1203通过总线1204彼此相连。输入/输出(I/O,Input/Output)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标、触摸屏、麦克风、红外传感器等的输入部分1206;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,LiquidCrystal Display)、LED显示器、OLED显示器等以及扬声器等的输出部分1207;包括硬盘、光盘、磁盘、半导体存储器等一个或多个计算机可读介质的存储部分1208;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。
特别地,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的方法中限定的上述功能。
本申请另一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的任意一个或多个实施例的方法和/或技术方案。
具体来说,本实施例可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种回归测试方法,其中,所述方法包括:
确定当前修改的数据访问层代码对应的目标数据访问层方法;
在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系;
根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试。
2.根据权利要求1所述的回归测试方法,其中,在所述在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法对应的目标对外接口名称之前,还包括:
通过对应用程序源代码进行数据访问层方法调用关系追溯,确定每个数据访问层方法所影响的对外接口名称,并根据所述数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系生成数据访问层方法影响接口列表。
3.根据权利要求2所述的回归测试方法,其中,所述通过对应用程序源代码进行数据访问层方法调用关系追溯,确定每个数据访问层方法所影响的对外接口名称,包括:
根据应用程序源代码获取数据访问层对应的数据访问层方法列表;
根据所述应用程序源代码获取控制层对应的对外接口信息列表,所述对外接口信息列表记录有对外接口名称与对外接口所调用方法的对应关系;
通过匹配所述数据访问层方法列表中的数据访问层方法与所述对外接口信息列表中的对外接口所调用方法,确定每个数据访问层方法所影响的对外接口名称。
4.根据权利要求3所述的回归测试方法,其中,所述根据应用程序源代码获取数据访问层对应的数据访问层方法列表,包括:
在应用程序源代码对应的Java文件列表中查询数据访问层文件;
针对每个所述数据访问层文件,将所述数据访问层文件解析为抽象语法树,并根据所述抽象语法树提取出所述数据访问层文件对应的数据访问层方法;
根据提取的所有数据访问层方法生成数据访问层方法列表。
5.根据权利要求3所述的回归测试方法,其中,所述根据所述应用程序源代码获取控制层对应的对外接口信息列表,包括:
在应用程序源代码对应的Java文件列表中查询控制层文件;
针对每个所述控制层文件,将所述控制层文件解析为抽象语法树,并根据所述抽象语法树提取出所述控制层文件对应的对外接口名称,通过查询所述对外接口名称所对应对外接口的注解确定所述对外接口所调用方法;
根据提取的所有对外接口名称与对外接口所调用方法的对应关系生成的对外接口信息列表。
6.根据权利要求3所述的回归测试方法,其中,所述通过匹配所述数据访问层方法列表中的数据访问层方法与所述对外接口信息列表中的对外接口所调用方法,确定每个数据访问层方法所影响的对外接口名称,包括:
遍历所述数据访问层方法列表中的数据访问层方法,针对每个所述数据访问层方法,在所述对外接口信息列表中查询对外接口所调用方法中是否包含所述数据访问层方法,若包含,则确定包含所述数据访问层方法的所述对外接口所调用方法对应的对外接口名称是所述数据访问层方法所影响的对外接口名称。
7.根据权利要求1所述的回归测试方法,其中,所述方法还包括:
根据查询到的所述目标对外接口名称对应的目标对外接口,确定当前修改的数据访问层代码所存在的风险。
8.一种回归测试装置,其中,所述装置包括:
数据访问层方法确定模块,用于确定当前修改的数据访问层代码对应的目标数据访问层方法;
目标对外接口名称查询模块,用于在预设的数据访问层方法影响接口列表中查询所述目标数据访问层方法所影响的目标对外接口名称,其中,所述数据访问层方法影响接口列表记载有数据访问层方法与所述数据访问层方法所影响的对外接口名称之间的对应关系;
回归测试模块,用于根据查询到的所述目标对外接口名称对应的目标对外接口进行回归测试。
9.一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311095860.3A CN117234899A (zh) | 2023-08-28 | 2023-08-28 | 回归测试方法、装置、设备及计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311095860.3A CN117234899A (zh) | 2023-08-28 | 2023-08-28 | 回归测试方法、装置、设备及计算机介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234899A true CN117234899A (zh) | 2023-12-15 |
Family
ID=89092113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311095860.3A Pending CN117234899A (zh) | 2023-08-28 | 2023-08-28 | 回归测试方法、装置、设备及计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234899A (zh) |
-
2023
- 2023-08-28 CN CN202311095860.3A patent/CN117234899A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023500B2 (en) | Systems and methods for code parsing and lineage detection | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
CN109634587B (zh) | 一种生成入库脚本以及数据入库的方法和设备 | |
CN111414350B (zh) | 一种服务生成方法及装置 | |
CN110489310B (zh) | 一种记录用户操作的方法、装置、存储介质及计算机设备 | |
CN111125064B (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN111460241B (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
US10725799B2 (en) | Big data pipeline management within spreadsheet applications | |
CN107391528B (zh) | 前端组件依赖信息搜索方法及设备 | |
US11232105B2 (en) | Unified metrics computation platform | |
JP2024505236A (ja) | データ処理システム用のデータセットマルチプレクサ | |
US10223086B2 (en) | Systems and methods for code parsing and lineage detection | |
CN113419740A (zh) | 程序数据流的分析方法、装置、电子设备及可读存储介质 | |
WO2023116003A1 (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN108628909B (zh) | 信息推送方法和装置 | |
CN113138767B (zh) | 代码语言转换方法、装置、电子设备及存储介质 | |
CN115292313A (zh) | 一种伪列实现方法、装置、电子设备及存储介质 | |
CN111400623B (zh) | 用于搜索信息的方法和装置 | |
CN117234899A (zh) | 回归测试方法、装置、设备及计算机介质 | |
CN114625372A (zh) | 组件自动编译方法、装置、计算机设备及存储介质 | |
CN113762702A (zh) | 工作流部署方法、装置、计算机系统和可读存储介质 | |
US20080307395A1 (en) | Providing Registration of a Communication | |
US11847448B2 (en) | Automatic generation of exporter configuration rules | |
CN117015769A (zh) | 用于数据处理系统的数据集多路复用器 | |
CN106687999B (zh) | 产生实现被设计为更新根据应用数据模型指定的对象的规则的指令集 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |