CN113900962B - 代码差异检测方法及装置 - Google Patents

代码差异检测方法及装置 Download PDF

Info

Publication number
CN113900962B
CN113900962B CN202111502364.6A CN202111502364A CN113900962B CN 113900962 B CN113900962 B CN 113900962B CN 202111502364 A CN202111502364 A CN 202111502364A CN 113900962 B CN113900962 B CN 113900962B
Authority
CN
China
Prior art keywords
code
difference
text information
determining
api
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.)
Active
Application number
CN202111502364.6A
Other languages
English (en)
Other versions
CN113900962A (zh
Inventor
李志康
白剑
黄海亮
梁瑛玮
张海林
鲁和平
李长杰
陈焕然
李乐
王浩
洪行健
冷冬
丁一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yifang Information Technology Co ltd
Original Assignee
Guangzhou Easefun Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Easefun Information Technology Co ltd filed Critical Guangzhou Easefun Information Technology Co ltd
Priority to CN202111502364.6A priority Critical patent/CN113900962B/zh
Publication of CN113900962A publication Critical patent/CN113900962A/zh
Application granted granted Critical
Publication of CN113900962B publication Critical patent/CN113900962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Abstract

本发明涉及一种代码差异检测方法及装置,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。

Description

代码差异检测方法及装置
技术领域
本发明涉及软件测试技术领域,特别是涉及一种代码差异检测方法及装置。
背景技术
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程,其中,软件系统或软件部分的实现,主要是依托代码。因此,在软件出现变化时,诸如功能变化或接口变化时,需要调整或重新编写代码,造成不同版本迭代或需求变更中的代码差异——1、在日常版本功能开发过程中,若存在多人协同开发的情况,此时对于代码改动的功能影响范围的边界会变得模糊,容易出现提测功能外的业务受影响的问题;2、代码版本迭代过程中经常存在开发自测的情况,但对这部分自测的功能,容易忽略可能对其他的业务功能造成的影响,导致上线后,用户或客户报障;3、日常开发提测的项目需求业务功能较多,负责测试的人员难以感知该功能的修改范围,容易出现漏测的情况。
因此,需要对代码的差异进行检测,判断差异的原因,给测试提供精准的参考信息。目前,传统代码差异检测方式是对比代码获取方法变更集,生成调用关系依赖树向上对代码的影响面进行追溯,找到受影响的代码和代码的影响面并可视化。然而,这种方式只能反映代码本身的差异,无法将代码差异的深层次表征反映出来,影响后续开发或测试的工作准确性和效率。
发明内容
基于此,有必要针对传统的代码差异检测方式还存在的不足,提供一种代码差异检测方法及装置。
一种代码差异检测方法,包括步骤:
监听代码的更新;
比对更新前后的代码,以获得差异代码;
寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重;
根据差异代码预先关联的PM业务单号,查找业务描述文本信息;
根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签;
基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。
上述的代码差异检测方法,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。
在其中一个实施例中,监听代码的更新的过程,包括步骤:
通过开发持续集成工具监听代码的更新。
在其中一个实施例中,比对更新前后的代码,以获得差异代码的过程,包括步骤:
比对更新前后的代码,整理出差异代码;
解析差异代码的抽象语法树并分析代码结构,以展示差异代码的方法维度。
在其中一个实施例中,寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重的过程,包括步骤:
确定差异代码的调用链路;
根据调用链路确定相关的API路径;
基于调用链路和API路径确定API路径的关联文本信息和方法修改权重。
在其中一个实施例中,根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签的过程,包括步骤:
对业务描述文本信息和关联文本信息进行词性分析,在功能标签数据库中选取出特定功能标签。
在其中一个实施例中,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息的过程,包括步骤:
基于PM业务单号对应的差异代码的API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。
在其中一个实施例中,还包括步骤:
将代码差异检测结果信息进行可视化展示。
一种代码差异检测装置,包括:
代码监听模块,用于监听代码的更新;
代码比对模块,用于比对更新前后的代码,以获得差异代码;
路径寻找模块,用于寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重;
文本查找模块,用于根据差异代码预先关联的PM业务单号,查找业务描述文本信息;
标签选取模块,用于根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签;
信息确定模块,用于基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。
上述的代码差异检测装置,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。
一种计算机存储介质,其上存储有计算机指令,计算机指令被处理器执行时实现上述任一实施例的代码差异检测方法。
上述的计算机存储介质,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的代码差异检测方法。
上述的计算机设备,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一实施方式的代码差异检测方法流程图;
图2为另一实施方式的代码差异检测方法流程图;
图3为一实施方式的代码差异检测装置模块结构图;
图4为一实施方式的计算机内部构造示意图。
具体实施方式
为了更好地理解本发明的目的、技术方案以及技术效果,以下结合附图和实施例对本发明进行进一步的讲解说明。同时声明,以下所描述的实施例仅用于解释本发明,并不用于限定本发明。
本发明实施例提供了一种代码差异检测方法。
图1为一实施方式的代码差异检测方法流程图,如图1所示,一实施方式的代码差异检测方法包括步骤S100至步骤S105:
S100,监听代码的更新;
S101,比对更新前后的代码,以获得差异代码;
S102,寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重;
S103,根据差异代码预先关联的PM业务单号,查找业务描述文本信息;
S104,根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签;
S105,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。
其中,代码的更新包括软件版本的迭代、业务功能的变化等,表征为代码的变化。通过监听代码的更新,在代码出现变化时捕获触发事件,以启动后续的代码处理。
在其中一个实施例中,图2为另一实施方式的代码差异检测方法流程图,如图2所示,步骤S100中监听代码的更新的过程,包括步骤S200:
S200,通过开发持续集成工具监听代码的更新。
其中,通过预设程序监听代码的更新。通过预设程序与开发持续集成工具进行结合,持续集成来监听代码的更新,触发构建。基于此,实现对代码更新的实时监听,快速触发差异代码的确定。
作为一个较优的实施方式,开发持续集成工具选用Jenkins。
通过比对更新前后的代码,确定新增/修改的代码作为差异代码。
在其中一个实施例中,如图2所示,步骤S101中比对更新前后的代码,以获得差异代码的过程,包括步骤S201和步骤S202:
S201,比对更新前后的代码,整理出差异代码;
S202,解析差异代码的抽象语法树并分析代码结构,以展示差异代码的方法维度。
其中,可根据代码版本分析工具,将更新前后的代码分支进行比对,将差异代码整理出来。作为一个较优的实施方式,通过JGIT代码版本分析工具,将版本迭代的开发分支与线上当前分支进行比对,将java差异代码整理出来,并结合AST程序解析代码抽象语法树,分析代码结构,以代码的方法维度作为最小的粒度进行展示。
在差异代码的对外功能实现中,需要借助API路径,基于此在确定差异代码后,再寻找与差异代码相关的API路径。
在其中一个实施例中,如图2所示,步骤S102中寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重的过程,包括步骤S203至步骤S205:
S203,确定差异代码的调用链路;
S204,根据调用链路确定相关的API路径;
S205,基于调用链路和API路径确定API路径的关联文本信息和方法修改权重。
作为一个较优的实施方式,通过javaasist去分析更新后代码所在的调用关系,并整理分析出一整条差异代码调用链路,根据调用链追溯并解析差异代码方法中存在的Mapping类型标签,分析对外提供的API路径以及该API调用路径中涉及修改方法权重。
其中,Mapping类型标签包括@DeleteMapping标签、@PostMapping标签、@GetMapping标签或@RequestMapping标签等。
在其中一个实施例中,API路径的关联文本信息包括方法注释或代码提交注释。
进一步地,根据差异代码预先关联的PM(Product manager 项目管理)业务单号,查找业务描述文本信息。其中,通过预先关联,在差异代码被提交的过程中,需要同步提交关联的PM业务单号。
根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。其中,功能标签数据库预先存储有功能标签,根据文字识别或映射等关系,从业务描述文本信息和关联文本信息中选取对应的功能标签,作为特定功能标签。其中,功能标签用于表征代码的功能、业务或产品等直接信息,用于为相关开发人员或测试人员提供参考。
在其中一个实施例中,如图2所示,步骤S104中根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签的过程,包括步骤S206:
S206,对业务描述文本信息和关联文本信息进行词性分析,在功能标签数据库中选取出特定功能标签。
在其中一个实施例中,以hanlp(Han Language Processing 汉语言处理包)为基础,开发一套解析语言文本,并反馈功能标签数据库中的功能标签的程序。分别以java代码方法注释、代码提交时的文本注释以及代码提交时关联的PM业务单号所涉及的业务内容三个维度进行分析,确定代码影响范围涉及的功能的特定功能标签,以提高反馈准确性。
基于此,根据API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。相关开发或测试人员可根据代码差异检测结果信息,以PM业务系统为核心汇总,将关注点聚焦在企业对外提供服务的API路径上,对每个PM业务单对应的差异代码涉及的提供服务API路径有一个清晰明确的把握,保障了对外服务API的功能质量。同时,将差异代码涉及的改动与功能标签数据库进行关联,给业务功能影响范围的指引,在开发测试阶段锁定测试范围和关联工单,有目标有针对性的对业务进行测试与回归,提高测试质量与效率,并可对接其他系统进行其他的一些操作,如功能自动化测试、代码测试覆盖率等。
同时,代码差异检测结果信息可用于引导PM业务单对应的相关产品/开发/测试人员关注业务功能中可能存在的一些忽略/遗漏的问题,提高业务聚焦度。同时通过代码差异检测结果信息内的方法修改权重,突出修改权重大的API路径,以便于进行重点测试,降低API功能风险。
在其中一个实施例中,步骤S105中基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息的过程,包括步骤S207:
S207,基于PM业务单号对应的差异代码的API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。
以PM业务单号为单位,汇总API路径、方法修改权重和特定功能标签。基于此,根据API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。相关开发或测试人员可根据代码差异检测结果信息,以PM业务系统为核心汇总,将关注点聚焦在企业对外提供服务的API路径上,对每个PM业务单对应的差异代码涉及的提供服务API路径有一个清晰明确的把握,保障了对外服务API的功能质量。同时,将差异代码涉及的改动与功能标签数据库进行关联,给业务功能影响范围的指引,在开发测试阶段锁定测试范围和关联工单,有目标有针对性的对业务进行测试与回归,提高测试质量与效率,并可对接其他系统进行其他的一些操作,如功能自动化测试、代码测试覆盖率等。
同时,代码差异检测结果信息可用于引导PM业务单对应的相关产品/开发/测试人员关注业务功能中可能存在的一些忽略/遗漏的问题,提高业务聚焦度。同时通过代码差异检测结果信息内的方法修改权重,突出修改权重大的API路径,以便于进行重点测试,降低API功能风险。
在其中一个实施例中,如图2所示,另一实施方式的代码差异检测方法还包括步骤S208:
S208,将代码差异检测结果信息进行可视化展示。
将代码差异检测结果信息通过文字、音频或图像等方式进行可视化展示,便于相关测试或开发人员快速了解代码变化的深层次表征。
上述任一实施例的代码差异检测方法,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。
本发明实施例还提供了一种代码差异检测装置。
图3为一实施方式的代码差异检测装置模块结构图,如图3所示,一实施方式的代码差异检测装置包括:
代码监听模块100,用于监听代码的更新;
代码比对模块101,用于比对更新前后的代码,以获得差异代码;
路径寻找模块102,用于寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重;
文本查找模块103,用于根据差异代码预先关联的PM业务单号,查找业务描述文本信息;
标签选取模块104,用于根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签;
信息确定模块105,用于基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。
上述的代码差异检测装置,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述任一实施例的代码差异检测方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、终端、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、RAM、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
与上述的计算机存储介质对应的是,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现如上述各实施例中的任意一种代码差异检测方法。
该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种代码差异检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
上述计算机设备,在监听到代码的更新后,比对更新前后的代码,以获得差异代码。寻找与差异代码相关的API路径,并确定API路径的关联文本信息和方法修改权重,并根据差异代码预先关联的PM业务单号,查找业务描述文本信息,再根据业务描述文本信息和关联文本信息,在功能标签数据库中选取出特定功能标签。最后,基于API路径、方法修改权重和特定功能标签,确定代码差异检测结果信息。基于此,代码的相关开发人员和测试人员可根据代码差异检测结果信息直观了解代码的更新变化,并与代码相关业务功能建立关联,确定代码变化的深层次表征,为开发工作或测试工作提供准确参考以提高效率。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种代码差异检测方法,其特征在于,包括步骤:
监听代码的更新;
比对更新前后的代码,以获得差异代码;
寻找与所述差异代码相关的API路径,并确定所述API路径的关联文本信息和方法修改权重;
所述寻找与所述差异代码相关的API路径,并确定所述API路径的关联文本信息和方法修改权重的过程,包括步骤:
确定差异代码的调用链路;
根据调用链路确定相关的API路径;
基于调用链路和API路径确定API路径的关联文本信息和方法修改权重;
其中,根据调用链追溯并解析差异代码方法中存在的Mapping类型标签,分析对外提供的API路径以及该API调用路径中涉及修改方法权重;
根据所述差异代码预先关联的PM业务单号,查找业务描述文本信息;
根据所述业务描述文本信息和所述关联文本信息,在功能标签数据库中选取出特定功能标签;
基于所述API路径、所述方法修改权重和所述特定功能标签,确定代码差异检测结果信息。
2.根据权利要求1所述的代码差异检测方法,其特征在于,所述监听代码的更新的过程,包括步骤:
通过开发持续集成工具监听代码的更新。
3.根据权利要求1所述的代码差异检测方法,其特征在于,所述比对更新前后的代码,以获得差异代码的过程,包括步骤:
比对更新前后的代码,整理出差异代码;
解析所述差异代码的抽象语法树并分析代码结构,以展示所述差异代码的方法维度。
4.根据权利要求1所述的代码差异检测方法,其特征在于,所述根据所述业务描述文本信息和所述关联文本信息,在功能标签数据库中选取出特定功能标签的过程,包括步骤:
对所述业务描述文本信息和所述关联文本信息进行词性分析,在功能标签数据库中选取出特定功能标签。
5.根据权利要求1所述的代码差异检测方法,其特征在于,基于所述API路径、所述方法修改权重和所述特定功能标签,确定代码差异检测结果信息的过程,包括步骤:
基于所述PM业务单号对应的差异代码的所述API路径、所述方法修改权重和所述特定功能标签,确定代码差异检测结果信息。
6.根据权利要求1所述的代码差异检测方法,其特征在于,还包括步骤:
将所述代码差异检测结果信息进行可视化展示。
7.一种代码差异检测装置,其特征在于,包括:
代码监听模块,用于监听代码的更新;
代码比对模块,用于比对更新前后的代码,以获得差异代码;
路径寻找模块,用于寻找与所述差异代码相关的API路径,并确定所述API路径的关联文本信息和方法修改权重;
所述寻找与所述差异代码相关的API路径,并确定所述API路径的关联文本信息和方法修改权重的过程,包括步骤:
确定差异代码的调用链路;
根据调用链路确定相关的API路径;
基于调用链路和API路径确定API路径的关联文本信息和方法修改权重;
其中,根据调用链追溯并解析差异代码方法中存在的Mapping类型标签,分析对外提供的API路径以及该API调用路径中涉及修改方法权重;
文本查找模块,用于根据所述差异代码预先关联的PM业务单号,查找业务描述文本信息;
标签选取模块,用于根据所述业务描述文本信息和所述关联文本信息,在功能标签数据库中选取出特定功能标签;
信息确定模块,用于基于所述API路径、所述方法修改权重和所述特定功能标签,确定代码差异检测结果信息。
8.一种计算机存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1至6任意一项所述的代码差异检测方法。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行程序时实现如权利要求1至6任意一项所述的代码差异检测方法。
CN202111502364.6A 2021-12-10 2021-12-10 代码差异检测方法及装置 Active CN113900962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111502364.6A CN113900962B (zh) 2021-12-10 2021-12-10 代码差异检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111502364.6A CN113900962B (zh) 2021-12-10 2021-12-10 代码差异检测方法及装置

Publications (2)

Publication Number Publication Date
CN113900962A CN113900962A (zh) 2022-01-07
CN113900962B true CN113900962B (zh) 2022-03-18

Family

ID=79025473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111502364.6A Active CN113900962B (zh) 2021-12-10 2021-12-10 代码差异检测方法及装置

Country Status (1)

Country Link
CN (1) CN113900962B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115422095A (zh) * 2022-11-07 2022-12-02 易方信息科技股份有限公司 一种回归测试用例推荐方法、装置、设备及介质
CN115904480B (zh) * 2023-01-09 2023-07-14 成方金融科技有限公司 代码重构方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656544A (zh) * 2018-12-26 2019-04-19 苏州博纳讯动软件有限公司 一种基于执行路径相似度的云服务api适配方法
CN109753286A (zh) * 2018-12-28 2019-05-14 四川新网银行股份有限公司 一种基于功能标签的代码方法统计其调用次数的方法
CN112214399A (zh) * 2020-09-16 2021-01-12 北京京航计算通讯研究所 基于序列模式匹配的api误用缺陷检测系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446723B (zh) * 2014-09-02 2018-11-23 国际商业机器公司 用于标识源代码版本之间的语义区别的方法和装置
CN109656615A (zh) * 2018-12-28 2019-04-19 四川新网银行股份有限公司 一种基于代码方法重要程度进行权限预警的方法
CN110489321A (zh) * 2019-07-08 2019-11-22 平安科技(深圳)有限公司 测试用例筛选方法、装置、计算机设备和存储介质
CN111831574B (zh) * 2020-07-27 2023-09-05 中国工商银行股份有限公司 回归测试规划方法、装置、计算机系统和介质
CN112685079A (zh) * 2021-01-05 2021-04-20 上海中通吉网络技术有限公司 基于代码差异对比自动分析测试范围的方法及设备
CN113342685A (zh) * 2021-06-29 2021-09-03 平安资产管理有限责任公司 精准测试方法、装置、计算机设备和存储介质
CN113448854A (zh) * 2021-06-30 2021-09-28 中国建设银行股份有限公司 一种回归测试方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656544A (zh) * 2018-12-26 2019-04-19 苏州博纳讯动软件有限公司 一种基于执行路径相似度的云服务api适配方法
CN109753286A (zh) * 2018-12-28 2019-05-14 四川新网银行股份有限公司 一种基于功能标签的代码方法统计其调用次数的方法
CN112214399A (zh) * 2020-09-16 2021-01-12 北京京航计算通讯研究所 基于序列模式匹配的api误用缺陷检测系统

Also Published As

Publication number Publication date
CN113900962A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
CN110413506B (zh) 测试用例推荐方法、装置、设备及存储介质
CN113900962B (zh) 代码差异检测方法及装置
US7137106B2 (en) Method and apparatus for analyzing data
CN109491891A (zh) 全自动接口压测方法、装置、计算机设备及存储介质
US20180060224A1 (en) Distinguishing Public and Private Code in Testing Environments
KR101588027B1 (ko) 소프트웨어 현지화를 위한 테스트 케이스 생성 장치 및 방법
CN110069404B (zh) 代码调试方法、装置、设备及介质
CN111290950B (zh) 程序测试中测试点获取方法、装置、存储介质和设备
CN111897727A (zh) 软件测试方法、装置、计算机设备及存储介质
US9213543B2 (en) Software internationalization estimation model
CN111026647A (zh) 代码覆盖率的获取方法、装置、计算机设备和存储介质
CN108399125B (zh) 自动化测试方法、装置、计算机设备和存储介质
Feitosa et al. Code reuse in practice: Benefiting or harming technical debt
CN111324375A (zh) 代码管理方法、装置、计算机设备和存储介质
CN113126955A (zh) 一种随机数据生成方法、装置、智能终端及存储介质
CN114610608A (zh) 测试用例处理方法、装置、电子设备以及存储介质
CN114064497A (zh) 应用程序测试方法、装置、计算机设备及存储介质
KR20100069147A (ko) 웹사이트 품질 테스트 방법 및 시스템
CN112612706A (zh) 自动化测试方法、计算机设备及存储介质
CN110413518B (zh) 控件对象库的生成方法及生成装置和计算机可读存储介质
CN116069667A (zh) 基于代码分析的测试用例辅助定位方法及装置
CN111625835B (zh) 程序漏洞路径追踪方法、装置、计算机设备及存储介质
CN116932414B (zh) 界面测试用例的生成方法、设备及计算机可读存储介质
CN111611153B (zh) 一种用户界面过度绘制的检测方法和装置
Rajan et al. Measuring Change Impact on Program Behaviour

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 402, No. 66, North Street, University Town Center, Panyu District, Guangzhou City, Guangdong Province, 510006

Patentee after: Yifang Information Technology Co.,Ltd.

Address before: 510006 Room 601, 603, 605, science museum, Guangdong University of technology, 100 Waihuan West Road, Xiaoguwei street, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU EASEFUN INFORMATION TECHNOLOGY Co.,Ltd.