CN115061908A - 缺陷代码的定位方法、装置、存储介质及计算机设备 - Google Patents

缺陷代码的定位方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN115061908A
CN115061908A CN202210674796.3A CN202210674796A CN115061908A CN 115061908 A CN115061908 A CN 115061908A CN 202210674796 A CN202210674796 A CN 202210674796A CN 115061908 A CN115061908 A CN 115061908A
Authority
CN
China
Prior art keywords
defect
code
target
software
server
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
Application number
CN202210674796.3A
Other languages
English (en)
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.)
Ping An E Wallet Electronic Commerce Co Ltd
Original Assignee
Ping An E Wallet Electronic Commerce 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 Ping An E Wallet Electronic Commerce Co Ltd filed Critical Ping An E Wallet Electronic Commerce Co Ltd
Priority to CN202210674796.3A priority Critical patent/CN115061908A/zh
Publication of CN115061908A publication Critical patent/CN115061908A/zh
Pending legal-status Critical Current

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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种缺陷代码的定位方法、装置、存储介质及计算机设备,涉及信息技术领域,主要在于能够提高缺陷代码的定位效率和定位准确度。其中方法包括:基于调用链,确定所述待定位缺陷软件在测试过程中调用的各个服务端;基于所述各个服务端,获取所述待定位缺陷软件对应的源代码;基于测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端、目标类和目标方法;基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。本发明适用于对缺陷代码进行定位。

Description

缺陷代码的定位方法、装置、存储介质及计算机设备
技术领域
本发明涉及信息技术领域,尤其是涉及一种缺陷代码的定位方法、装置、存储介质及计算机设备。
背景技术
开发人员开发完一款软件,为了保证软件的质量,需要对软件进行测试,测试人员在对软件进行测试的过程中,若发现缺陷,会将缺陷反馈给开发人员,开发人员需要基于测试人员反馈的缺陷对软件的缺陷代码进行修改,以此来解决该软件存在的缺陷,而缺陷代码修改的基础为缺陷代码的定位。
目前,通常将测试人员文字描述的软件缺陷发送给开发人员,开发人员根据文字描述内容复现测试过程来进行缺陷代码定位。然而,这种方法需要开发人员查看该软件对应的所有源代码,并在所有源代码中查找缺陷代码,导致缺陷代码定位的效率较低,同时在大量源代码中查找缺陷代码会使开发人员产生视觉疲劳,从而出现缺陷代码定位错误的情况,进而导致缺陷代码的定位准确度较低。
发明内容
本发明提供了一种缺陷代码的定位方法、装置、存储介质及计算机设备,主要在于能够提高缺陷代码的定位效率和定位准确度。
根据本发明的第一个方面,提供一种缺陷代码的定位方法,包括:
获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;
基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;
基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;
基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;
根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
根据本发明的第二个方面,提供一种缺陷代码的定位装置,包括:
第一获取单元,用于获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;
第二获取单元,用于基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;
第一确定单元,用于基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;
第二确定单元,用于基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;
定位单元,用于根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;
基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;
基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;
基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;
根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;
基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;
基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;
基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;
根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
根据本发明提供的一种缺陷代码的定位方法、装置、存储介质及计算机设备,与目前在源代码中直接对缺陷代码进行定位的方式相比,本发明通过获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;并基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;与此同时,基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;之后基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;最终根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位,由此通过获取待定位缺陷软件对应的调用链,并基于所述调用链,确定所述待定位缺陷软件对应的源代码,并在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位,提高了缺陷代码的定位效率,与此同时,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种缺陷代码的定位方法流程图;
图2示出了本发明实施例提供的另一种缺陷代码的定位方法流程图;
图3示出了本发明实施例提供的一种缺陷代码的定位装置的结构示意图;
图4示出了本发明实施例提供的另一种缺陷代码的定位装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
目前,在软件对应的所有源代码中定位缺陷代码的方式,缺陷代码定位的效率较低,同时在大量源代码中查找缺陷代码会使开发人员产生视觉疲劳,从而出现缺陷代码定位错误的情况,进而导致缺陷代码的定位准确度较低。
为了解决上述问题,本发明实施例提供了一种缺陷代码的定位方法,如图1所示,所述方法包括:
101、获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志。
其中,所述调用链记录了待定位缺陷软件在测试时的执行过程,包括执行是经过的系统、执行时调用的服务器、执行时调用的类名和方法名等,所述缺陷报告中记录了有关缺陷的文字描述和代码描述,所述测试执行日志中记录了调用链中的各种链路数据,在测试过程中,当系统完成一次业务调用的过程中,会把服务之间的调用信息,包括时间、接口、层次和结果打点至测试执行日志中。
对于本发明实施例,为了克服现有技术中缺陷代码定位的效率较低和准确度较低的问题,本发明实施例通过获取待定位缺陷软件对应的调用链,并基于所述调用链,确定所述待定位缺陷软件对应的源代码,并在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位,提高了缺陷代码的定位效率,与此同时,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。本发明实施例主要应用于对缺陷代码进行定位的场景,本发明实施例的执行主体为能够对缺陷代码进行定位的装置或者设备,具体可以设置在客户端或者服务器一侧。
具体地,开发人员开发完待定位缺陷软件后,测试人员对所述待定位缺陷软件进行测试,若测试过程中发现缺陷,则将所述缺陷记录至缺陷报告中,并将缺陷报告发送给开发人员,开发人员针对所述缺陷报告,对所述待定位缺陷软件中的缺陷代码进行定位,最终基于定位的缺陷代码,对所述缺陷代码进行修复,以此完成对所述待定位缺陷软件中缺陷部分的修复,具体地,首先测试人员在对待定位缺陷软件进行测试的过程中,在测试系统完成一次业务调用的过程中,把服务之间的调用信息,所述调用信息包括调用系统、调用服务器、调用类名、调用方法名、调用时间、调用接口、调用层次和调用结果等数据连接为一个树状链条,即构造了一个所述调用链,同时对每个调用链进行编码,命名为链路追踪流水号,每个链路追踪流水号对应一个执行系统(服务器),以及该执行系统下调用的类名和方法名,即为每个链路追踪流水号、系统名、类名和方法名之间建立映射关系,与此同时,将上述调用信息和链路追踪流水号打点到日志中,即形成了测试执行日志,同时在测试结束后,测试人员针对测试时候出现的缺陷进行记录,即得到了所述待定位缺陷软件经过测试后的缺陷报告,所述缺陷报告中还记录着测试的软件编号,缺陷模块等信息,为了便于开发人员对缺陷代码进行定位,每个缺陷报告应只记录一条缺陷,测试结束后,将所述调用链、测试执行日志和所述缺陷报告发送至开发人员终端,测试人员基于所述调用链,获取所述待定位缺陷软件对应的源代码,同时基于所述缺陷报告中记录的缺陷在所述测试执行日志搜索出缺陷部分对应的日志信息,并在所述缺陷部分对应的日志信息中确定链路追踪流水号,并基于所述链路追踪流水号,确定缺陷部分执行过程中调用的目标服务器、目标类和目标方法,最终基于所述目标服务器、目标类和目标方法,获取所述待定位缺陷软件中缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。
102、基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码。
对于本发明实施例,基于所述调用链,获取所述待定位缺陷软件对应的测试用列在执行过程中调用的各个服务端,即系统,之后根据系统名调用打包服务器接口去获取到对应的代码分支的SVN或者GIT的地址,并通过执行脚本可以拉取到各个分值对应的代码,各个分支对应的代码组成所述待定位缺陷软件对应的源代码,之后在所述源代码中确定所述待定位缺陷软件缺陷代码所属的目标代码内容,最终在所述目标代码内容中定位所述缺陷代码,提高了缺陷代码的定位效率,与此同时,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。
103、基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法。
其中,目标服务端、目标类和目标方法是待定位缺陷软件缺陷部分在用列执行过程中调用系统、类名和方法名,例如,若所述缺陷部分为登录名与密码不匹配时,系统也能够登录上,则目标服务器即为进行登录测试时,执行用列经过的服务器,此时在所述服务器中调用的类即为目标类,在所述类中调用的方法即为目标方法。
对于本发明实施例,测试执行日志中记录着执行每项测试时的链路追踪流水号,根据缺陷报告中记录的缺陷关键字搜索到测试执行的时候打印的目标日志信息,所述目标日志信息为缺陷部分的日志信息,并在所述缺陷部分的日志信息中确定目标链路追踪流水号,基于所述目标链路追踪流水号,以及所述链路追踪流水号与服务器名、类名和方法名之间的映射关系,确定与所述目标链路追踪流水号对应的目标服务器、目标类和目标方法,之后基于所述目标服务器、目标类和目标方法,获取所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中为所述缺陷代码进行定位,避免在大量源代码中对所述缺陷代码进行定位时,缺陷代码定位效率较低的情况。
104、基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容。
对于本发明实施例,在执行测试用列时,基于待定位缺陷软件缺陷部分调用的目标服务端、目标类和目标方法,利用Python程序可以获取到缺陷代码所属的目标代码内容,最终在所述目标代码内容中查询缺陷代码,并对查询到的缺陷代码进行定位,将在源代码进行缺陷代码定位限缩至在目标代码内容中进行缺陷代码定位,由此能够提高缺陷代码的定位效率。
105、根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
其中,所述缺陷报告用来描述在使用软件或者对软件进行测试时所遇到的异常现象,对于本发明实施例,测试人员对软件进行测试后,若所述软件存在异常现象,则将所述异常现象记录至缺陷报告中,所述缺陷报告中记录着测试软件对应的缺陷描述信息、缺陷报告编号、提交时间等信息,可以建立缺陷报告数据库,将所有的缺陷报告存储至缺陷报告库中,开发人员在所述缺陷报告库中获取缺陷报告,并对所述软件中的缺陷代码进行定位并修复,从而完善软件的质量问题。
对于本发明实施例,在获取所述待定位缺陷软件对应的缺陷报告和所述缺陷代码所属的目标代码内容后,将所述缺陷报告中的代码内容与所述目标代码内容进行相似度匹配,在所述目标代码内容中确定与所述缺陷报告内容最相似的目标代码,并将所述目标代码确定为所述缺陷代码,最终在所述目标代码内容中对所述缺陷代码进行定位,由此通过获取待定位缺陷软件对应的调用链,并基于所述调用链,确定所述待定位缺陷软件对应的源代码,并在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位,提高了缺陷代码的定位效率,与此同时,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。
根据本发明提供的一种缺陷代码的定位方法,与目前在源代码中直接对缺陷代码进行定位的方式相比,本发明通过获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;并基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;与此同时,基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;之后基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;最终根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位,由此通过获取待定位缺陷软件对应的调用链,并基于所述调用链,确定所述待定位缺陷软件对应的源代码,并在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位,提高了缺陷代码的定位效率,与此同时,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。
进一步的,为了更好的说明上述对缺陷代码进行定位的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种缺陷代码的定位方法,如图2所示,所述方法包括:
201、获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志。
对于本发明实施例,为了对所述待定位缺陷软件中的缺陷代码进行定位,首先需要获取所述待定位缺陷软件在测试过程中经过的调用链,基于此,步骤201具体包括:利用预设监控采集模型获取所述待定位缺陷软件在测试过程中经过的调用链。
具体地,所述预设监控采集模型可以为agent监控采集器,在执行测试的系统服务器上安装agent监控采集器,所述监控采集器是采取注入代码的方式,注入到运行的字节码文件里,在测试人员执行测试的时候,即在执行用例时,此时监控采集器会将监控到的链路追踪流水号(traceId)以及用例执行经过的系统(服务端)、类和方法名以及通过调用宙斯获取到的traceId采集下来,传到采集服务端,并建立链路追踪流水号、系统、类和方法名之间的映射关系,服务端将traceId和系统、类和方法名的映射关系保存下来,与此同时,若在测试过程中发现软件异常行为,则将有关异常行为的描述信息记录下来,形成所述异常行为对应的缺陷报告,同时在测试人员执行用例的过程中,当系统完成一次业务调用会将服务之间的调用信息,包括时间、接口、层次和结果、以及链路追踪流水号打点至测试执行日志中,用户可以登录执行用列的服务器查看并下载所述测试执行日志。
202、基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码。
具体地,在获取所述待定位缺陷软件在测试过程中经过的调用链后,需要基于所述调用链,获取所述待定位缺陷软件对应的源代码,基于此,步骤202具体包括:在所述各个服务端中确定所述待定位缺陷软件对应的代码调用接口;基于所述代码调用接口,在所述各个服务端中获取所述待定位缺陷软件对应的源代码。
具体地,在执行待定位缺陷软件对应的执行用例时,所述执行用例可能会调用多个服务端,而执行用列调用的各个服务端,以及调用顺序均记录在所述调用链中,所以可以在所述调用链中获取所述待定位缺陷软件在测试过程中调用的各个服务端,并在所述各个服务端中确定所述待定位缺陷软件对应的代码调用接口,并基于所述代码调用接口,利用python调用api接口在所述各个服务器中获取对应的分支代码,基于所述调用链中记录的各个服务端对应的调用顺序,按照此顺序将所述各个分支代码进行汇总整合,最终得到所述待定位缺陷软件对应的源代码,并在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位。
203、基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法。
对于本发明实施例,为了对所述缺陷代码进行定位,需要获取所述缺陷代码所属的目标代码内容,而为了获取所述目标代码内容,首先需要确定所述待定位缺陷软件缺陷部分在执行同例时调用的目标服务器,以及在所述目标服务器中调用的目标类,以及在所述目标类中调用的目标方法,基于此,步骤203具体包括:在所述缺陷报告中确定与所述缺陷有关的目标字符;基于所述目标字符,在所述测试运行日志中获取待定位缺陷软件缺陷部分对应的目标日志信息;在所述目标日志信息中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法。
具体地,可以在测试用例执行的服务器中下载所述测试执行日志,之后根据业务测试关键字或者缺陷报告中记录的有关缺陷问题描述信息,在所述测试执行日志中进行搜索,能够搜索到待定位缺陷软件缺陷部分测试执行时记录的目标日志信息,所述目标日志信息中记录有与缺陷部分有关的目标链路追踪流水号,基于所述目标链路追踪流水号与服务端、类和方法之间的映射关系,在监控服务器中获取与所述目标链路追踪流水号相对应的目标服务端、目标类和目标方法,例如目标链路追踪流水号为:1239283754993,目标服务器名为:mallerp,目标类名为:supplierFacadeImpl,目标方法名为:querySupplier,之后基于所述目标服务器名、目标类名和所述目标方法名,在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中定位所述缺陷代码。
204、基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容。
其中,所述目标代码内容为待定位缺陷软件缺陷部分对应的执行代码,所述目标代码内容中包括缺陷代码和正确代码,例如,测试人员在执行所述待定位缺陷软件时,在登录部分出现异常情况,则所述目标代码内容为登录部门对应的代码内容。
对于本发明实施例,开发人员在开发完软件后,在获取所述待定位缺陷软件缺陷部分对应的用例在执行过程中调用的目标服务器、并在所述目标服务器中调用的目标类,以及在所述目标类中调用的目标方法后,基于所述目标服务器、目标类和所述目标方法,在所述待定位缺陷软件对应的源代码中搜索所述目标代码内容,为了方便在所述目标代码内容中对所述缺陷代码进行定位,可以将所述目标代码内容以抽象语法树的形式展示出来,抽象语法树上的每一个节点都表示目标代码内容中的一种结构。
205、获取所述目标代码内容中包含的各段代码。
其中,所述各段代码可以为各行代码,也可以为各句代码,即将所述目标代码内容划分为各句短代码。
具体地,可以基于标点符号,例如句号,对所述目标代码内容进行分词处理,得到所述目标代码内容中包含的各段代码,之后将所述各段代码分别与所述缺陷报告中的文本内容进行相似度匹配,将所述最大相似度对应的目标段代码,确定为所述缺陷代码,并在所述目标代码内容中对所述缺陷代码进行标记定位。
206、确定所述各段代码中包含的各个第一字符,并确定所述各段代码中各个第一字符对应的第一嵌入向量。
具体地,对所述各段代码中包含的字符进行切割处理,得到所述各段代码分别对应的各个第一字符,并确定各个第一字符在与其对应的各段代码中的位置信息,基于所述各个字符对应的位置信息,利用Word2Vec等词嵌入方法将各段代码中的各个字符转化为第一嵌入向量,同时利用相同的方法确定所述缺陷报告中各个第二字符对应的第二嵌入向量,最终基于所述第一嵌入向量和所述第二嵌入向量,分别计算所述文本内容与各段代码之间的相似度,并基于所述相似度,在各段代码中确定与文本内容相似的目标段代码,并将所述目标段代码确定为所述缺陷代码,并对其进行定位标记。
207、确定所述缺陷报告的文本内容中包含的各个第二字符,并确定所述各个第二字符对应的第二嵌入向量。
具体地,对所述缺陷报告的文本内容进行分词处理,得到所述文本内容对应的各个第二字符,同时确定所述各个第二字符在所述文本内容中的位置信息,并基于所述位置信息,利用Word2Vec等词嵌入方法将各个第二字符转化为第二嵌入向量,例如,缺陷报告中的文本内容为:bug ID:99266,summary:[viewers]bogus empty rows at the beginningof a table,对所述缺陷报告中的文本内容进行分词处理,得到所述文本内容对应的各个第二字符为:bug/ID/:/99266/,/summary/:/[viewers]/bogus/empty/rows/at/the/beginning/of/a/table/,之后基于所述各个第二字符在所述字符中的位置顺序,确定所述各个第二字符对应的位置信息,例如字符rows对应的位置信息为11,字符beginning对应的位置信息为14,最终基于所述各个第二字符对应的位置信息,确定所述各个第二字符对应的第二嵌入向量,并基于所述第一嵌入向量和所述第二嵌入向量,分别计算所述文本内容与各段代码之间的相似度,并基于所述相似度,在各段代码中确定与文本内容最相似的目标段代码,并将所述目标段代码确定为所述缺陷代码,并对其进行定位标记。
208、基于各个第一嵌入向量和所述第二嵌入向量,分别计算所述各段代码与所述文本内容之间的余弦相似度。
对于本发明实施例,在确定所述各段代码对应的第一嵌入向量,以及所述缺陷报告中的文本内容对应的第二嵌入向量后,需要基于所述各个第一嵌入向量和所述第二嵌入向量,分别计算所述各段代码与所述文本内容之间的余弦相似度,基于此,步骤208具体包括:将所述各个第一嵌入向量输入至预设自然语言模型中进行语义信息提取,得到所述各段代码对应的第一语义信息向量;将所述第二嵌入向量输入至所述预设自然语言模型中进行语义信息提取,得到所述缺陷报告中的文本内容对应的第二语义信息向量;基于各个第一语义信息向量和所述第二语义信息向量,分别计算所述各段代码与所述缺陷报告中的文本内容之间的余弦相似度。
具体地,在获取各段代码中各个第一字符对应的第一嵌入向量,以及所述缺陷报告中各个第二字符对应的第二嵌入向量后,为了分别计算文本内容与各段代码之间的相似度,首先需要确定各段代码对应的第一语义信息向量,以及所述文本内容对应的第二语义信息向量,基于此,计算各段代码对应的第一语义信息向量,以及所述文本内容对应的第二语义信息向量的方法包括:将所述各个第一嵌入向量分别输入至所述注意力层进行特征提取,得到所述各段代码中各个第一字符对应的第一特征向量;将各个第一特征向量与其对应的第一嵌入向量相加,得到所述各段代码中各个第一字符对应的第二特征向量;将各个第二特征向量输入至所述前馈神经网络层进行特征提取,得到所述各段代码对应的第一语义信息向量;将所述第二嵌入向量输入至所述注意力层进行特征提取,得到所述各个第二字符对应的第三特征向量;将所述第三特征向量与所述第二嵌入向量相加,得到所述各个第二字符对应的第四特征向量;将所述第四特征向量输入至所述前馈神经网络层进行特征提取,得到所述缺陷代码中的文本内容对应的第二语义信息向量。
其中,所述预设自然语言模型具体可以为预设BERT模型,预设BERT模型中包括多个编码器,每个编码器首尾相连,上一个编码器的输出会作为下一个编码器的输入,该编码器具体包括注意力层和前馈神经网络层。
具体地,在利用预设BERT模型提取各段代码对应的第一语义信息向量的过程中,首先将各段代码中各个第一字符对应的第一嵌入向量输入至预设BERT模型中第一个编码器的注意力层进行特征提取,得到该注意力层的输出向量,即各个第一字符对应的第一特征向量,之后将第一特征向量与各个字符对应的嵌入向量相加,得到各个第一字符对应的第二特征向量,并将第二特征向量输入至第一个编码器的前馈神经网络层中进行特征提取,得到第一个编码器的输出向量,因为本发明实施例中的预设BERT模型包含多个编码器,且多个编码器之间采用首尾串联的方式,因此将第一个编码器的输出向量输入至第二个编码器中进行特征提取,得到第二个编码器的输出向量,以此将前一个编码器的输出向量作为下一个编码器的输入向量,最终将最后一个编码器的输出向量确定为各段代码对应的第一语义信息向量,同理,在利用预设BERT模型提取缺陷报告中的文本内容对应的第二语义信息向量的过程中,首先将文本内容中各个第二字符对应的第二嵌入向量输入至预设BERT模型中第一个编码器的注意力层进行特征提取,得到该注意力层的输出向量,即各个第二字符对应的第三特征向量,之后将第三特征向量与各个第二字符对应的第二嵌入向量相加,得到各个第二字符对应的第四特征向量,并将第四特征向量输入至第一个编码器的前馈神经网络层中进行特征提取,得到第一个编码器的输出向量,因为本发明实施例中的预设BERT模型包含多个编码器,且多个编码器之间采用首尾串联的方式,因此将第一个编码器的输出向量输入至第二个编码器中进行特征提取,得到第二个编码器的输出向量,以此将前一个编码器的输出向量作为下一个编码器的输入向量,最终将最后一个编码器的输出向量确定为所述文本内容对应的第二语义信息向量。
进一步地,在获取所述各段代码对应的第一语义信息向量和缺陷报告对应的第二语义信息向量后,具体可以采用下述公式计算各段代码与所述缺陷报告中的文本内容之间的余弦相似度:
Figure BDA0003695987750000141
其中,所述cos(θ)表示某段代码与文本内容之间的余弦相似度,xi表示某段代码对应的第一语义信息向量,yi表示缺陷报告中文本内容对应的第二语义信息向量,按照此公式能够计算出各段代码与所述缺陷报告中文本内容对应的余弦相似度。
209、在各个余弦相似度中确定最大余弦相似度,并将所述最大余弦相似度对应的目标段代码确定为所述缺陷代码,并在所述目标代码内容中对所述缺陷代码进行标记。
具体地,在计算各段代码与缺陷文本内容之间的余弦相似度胡,在各个余弦相似度中确定最大余弦相似度,并将所述最大余弦相似度对应的目标端代码确定为所述缺陷代码,并在所述目标代码内容中对所述目标段代码进行标记,例如,A段代码与缺陷文本内容之间的相似度为85%,B段代码与缺陷文本内容之间的相似度为75%,C段代码与缺陷文本内容之间的相似度为98%,则确定C段代码为缺陷代码,则在所述目标代码内容中对所述C段代码进行定位标记,定位标记的方法可以以添加底纹颜色的方式,也可以采用其他方式进行定位标记,本发明对定位标记的方式不做具体限定,以便开发人员针对定位标记,对所述缺陷代码进行修改。
根据本发明提供的另一种缺陷代码的定位方法,与目前在源代码中直接对缺陷代码进行定位的方式相比,本发明通过获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;并基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;与此同时,基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;之后基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;最终根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位,由此通过获取待定位缺陷软件对应的调用链,并基于所述调用链,确定所述待定位缺陷软件对应的源代码,并在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位,提高了缺陷代码的定位效率,与此同时,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。
进一步地,作为图1的具体实现,本发明实施例提供了一种缺陷代码的定位装置,如图3所示,所述装置包括:第一获取单元31、第二获取单元32、第一确定单元33、第二确定单元34和定位单元35。
所述第一获取单元31,可以用于获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志。
所述第二获取单元32,可以用于基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码。
所述第一确定单元33,可以用于基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法。
所述第二确定单元34,可以用于基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容。
所述定位单元35,可以用于根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
在具体应用场景中,为了在所述目标代码内容中对所述缺陷代码进行定位,如图4所示,所述定位单元35,包括第一获取模块351、第一确定模块352、计算模块353和标记模块354。
所述第一获取模块351,可以用于获取所述目标代码内容中包含的各段代码。
所述第一确定模块352,可以用于确定所述各段代码中包含的各个第一字符,并确定所述各段代码中各个第一字符对应的第一嵌入向量。
所述第一确定模块352,还可以用于确定所述缺陷报告的文本内容中包含的各个第二字符,并确定所述各个第二字符对应的第二嵌入向量。
所述计算模块353,可以用于基于各个第一嵌入向量和所述第二嵌入向量,分别计算所述各段代码与所述文本内容之间的余弦相似度。
所述标记模块354,可以用于在各个余弦相似度中确定最大余弦相似度,并将所述最大余弦相似度对应的目标段代码确定为所述缺陷代码,并在所述目标代码内容中对所述缺陷代码进行标记。
在具体应用场景中,为了分别计算所述各段代码与所述文本内容之间的余弦相似度,所述计算模块353,包括提取子模块和计算子模块。
所述提取子模块,可以用于将所述各个第一嵌入向量输入至预设自然语言模型中进行语义信息提取,得到所述各段代码对应的第一语义信息向量。
所述提取子模块,还可以用于将所述第二嵌入向量输入至所述预设自然语言模型中进行语义信息提取,得到所述缺陷报告中的文本内容对应的第二语义信息向量。
所述计算子模块,可以用于基于各个第一语义信息向量和所述第二语义信息向量,分别计算所述各段代码与所述缺陷报告中的文本内容之间的余弦相似度。
在具体应用场景中,为了确定所述各段代码对应的第一语义信息向量,所述提取子模块,具体可以用于将所述各个第一嵌入向量分别输入至所述注意力层进行特征提取,得到所述各段代码中各个第一字符对应的第一特征向量;将各个第一特征向量与其对应的第一嵌入向量相加,得到所述各段代码中各个第一字符对应的第二特征向量;将各个第二特征向量输入至所述前馈神经网络层进行特征提取,得到所述各段代码对应的第一语义信息向量。
所述提取子模块,还可以用于将所述第二嵌入向量输入至所述注意力层进行特征提取,得到所述各个第二字符对应的第三特征向量;将所述第三特征向量与所述第二嵌入向量相加,得到所述各个第二字符对应的第四特征向量;将所述第四特征向量输入至所述前馈神经网络层进行特征提取,得到所述缺陷代码中的文本内容对应的第二语义信息向量。
在具体应用场景中,为了获取待定位缺陷软件在测试过程中经过的调用链,所述第一获取单元31,具体可以用于利用预设监控采集模型获取所述待定位缺陷软件在测试过程中经过的调用链。
在具体应用场景中,为了在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法,所述第一确定单元33,具体可以用于在所述缺陷报告中确定与所述缺陷有关的目标字符;基于所述目标字符,在所述测试运行日志中获取待定位缺陷软件缺陷部分对应的目标日志信息;在所述目标日志信息中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法。
在具体应用场景中,为了获取所述待定位缺陷软件对应的源代码,所述第二获取单元32,包括第二确定模块321和第二获取模块322。
所述第二确定模块321,可以用于在所述各个服务端中确定所述待定位缺陷软件对应的代码调用接口。
所述第二获取模块322,可以用于基于所述代码调用接口,在所述各个服务端中获取所述待定位缺陷软件对应的源代码。
需要说明的是,本发明实施例提供的一种缺陷代码的定位装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
通过本发明的技术方案,本发明通过获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;与此同时,基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;之后基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;最终根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位,由此通过获取待定位缺陷软件对应的调用链,并基于所述调用链,确定所述待定位缺陷软件对应的源代码,并在所述源代码中确定所述缺陷代码所属的目标代码内容,最终在所述目标代码内容中对所述缺陷代码进行定位,提高了缺陷代码的定位效率,与此同时,避免了由于开发人员视觉疲劳,导致对缺陷代码定位错误的问题,从而提高了缺陷代码的定位准确度。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种缺陷代码的定位方法,其特征在于,包括:
获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;
基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;
基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;
基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;
根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
2.根据权利要求1所述的方法,其特征在于,所述根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位,包括:
获取所述目标代码内容中包含的各段代码;
确定所述各段代码中包含的各个第一字符,并确定所述各段代码中各个第一字符对应的第一嵌入向量;
确定所述缺陷报告的文本内容中包含的各个第二字符,并确定所述各个第二字符对应的第二嵌入向量;
基于各个第一嵌入向量和所述第二嵌入向量,分别计算所述各段代码与所述文本内容之间的余弦相似度;
在各个余弦相似度中确定最大余弦相似度,并将所述最大余弦相似度对应的目标段代码确定为所述缺陷代码,并在所述目标代码内容中对所述缺陷代码进行标记。
3.根据权利要求2所述的方法,其特征在于,所述基于各个第一嵌入向量和所述第二嵌入向量,分别计算所述各段代码与所述文本内容之间的余弦相似度,包括:
将所述各个第一嵌入向量输入至预设自然语言模型中进行语义信息提取,得到所述各段代码对应的第一语义信息向量;
将所述第二嵌入向量输入至所述预设自然语言模型中进行语义信息提取,得到所述缺陷报告中的文本内容对应的第二语义信息向量;
基于各个第一语义信息向量和所述第二语义信息向量,分别计算所述各段代码与所述缺陷报告中的文本内容之间的余弦相似度。
4.根据权利要求3所述的方法,其特征在于,所述预设自然语言模型包括注意力层和前馈神经网络层,所述将所述各个第一嵌入向量输入至预设自然语言模型中进行语义信息提取,得到所述各段代码对应的第一语义信息向量,包括:
将所述各个第一嵌入向量分别输入至所述注意力层进行特征提取,得到所述各段代码中各个第一字符对应的第一特征向量;
将各个第一特征向量与其对应的第一嵌入向量相加,得到所述各段代码中各个第一字符对应的第二特征向量;
将各个第二特征向量输入至所述前馈神经网络层进行特征提取,得到所述各段代码对应的第一语义信息向量;
所述将所述第二嵌入向量输入至所述预设自然语言模型中进行语义信息提取,得到所述缺陷报告中的文本内容对应的第二语义信息向量,包括:
将所述第二嵌入向量输入至所述注意力层进行特征提取,得到所述各个第二字符对应的第三特征向量;
将所述第三特征向量与所述第二嵌入向量相加,得到所述各个第二字符对应的第四特征向量;
将所述第四特征向量输入至所述前馈神经网络层进行特征提取,得到所述缺陷代码中的文本内容对应的第二语义信息向量。
5.根据权利要求1所述的方法,其特征在于,获取待定位缺陷软件在测试过程中经过的调用链,包括:
利用预设监控采集模型获取所述待定位缺陷软件在测试过程中经过的调用链。
6.根据权利要求1所述的方法,其特征在于,所述基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法,包括:
在所述缺陷报告中确定与所述缺陷有关的目标字符;
基于所述目标字符,在所述测试运行日志中获取待定位缺陷软件缺陷部分对应的目标日志信息;
在所述目标日志信息中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法。
7.根据权利要求1所述的方法,其特征在于,所述基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码,包括:
在所述各个服务端中确定所述待定位缺陷软件对应的代码调用接口;
基于所述代码调用接口,在所述各个服务端中获取所述待定位缺陷软件对应的源代码。
8.一种缺陷代码的定位装置,其特征在于,包括:
第一获取单元,用于获取待定位缺陷软件在测试过程中经过的调用链,以及获取所述待定位缺陷软件经过测试后的缺陷报告和测试运行日志;
第二获取单元,用于基于所述调用链中记录的所述待定位缺陷软件在测试过程中调用的各个服务端,获取所述待定位缺陷软件对应的源代码;
第一确定单元,用于基于所述测试运行日志,在所述各个服务端中确定所述待定位缺陷软件缺陷部分调用的目标服务端,以及在所述目标服务端中调用的目标类和在所述目标类中调用的目标方法;
第二确定单元,用于基于所述目标服务端、所述目标类和所述目标方法,在所述源代码中确定缺陷代码所属的目标代码内容;
定位单元,用于根据所述缺陷报告,在所述目标代码内容中对所述缺陷代码进行定位。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202210674796.3A 2022-06-15 2022-06-15 缺陷代码的定位方法、装置、存储介质及计算机设备 Pending CN115061908A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210674796.3A CN115061908A (zh) 2022-06-15 2022-06-15 缺陷代码的定位方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210674796.3A CN115061908A (zh) 2022-06-15 2022-06-15 缺陷代码的定位方法、装置、存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN115061908A true CN115061908A (zh) 2022-09-16

Family

ID=83201101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210674796.3A Pending CN115061908A (zh) 2022-06-15 2022-06-15 缺陷代码的定位方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN115061908A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115391233A (zh) * 2022-10-31 2022-11-25 深圳联友科技有限公司 一种基于覆盖率分析和链路追踪的精准测试方法
CN116662206A (zh) * 2023-07-24 2023-08-29 泰山学院 计算机软件在线实时可视化调试方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115391233A (zh) * 2022-10-31 2022-11-25 深圳联友科技有限公司 一种基于覆盖率分析和链路追踪的精准测试方法
CN116662206A (zh) * 2023-07-24 2023-08-29 泰山学院 计算机软件在线实时可视化调试方法及装置
CN116662206B (zh) * 2023-07-24 2024-02-13 泰山学院 计算机软件在线实时可视化调试方法及装置

Similar Documents

Publication Publication Date Title
CN109902016B (zh) 一种Web的测试方法及测试平台
CN115061908A (zh) 缺陷代码的定位方法、装置、存储介质及计算机设备
Gupta et al. Neural attribution for semantic bug-localization in student programs
US20160196021A1 (en) Automated Modularization of Graphical User Interface Test Cases
CN111563051B (zh) 基于爬虫的数据核验方法、装置、计算机设备及存储介质
US8904352B2 (en) Systems and methods for processing source code during debugging operations
CN112988595A (zh) 动态同步测试方法、装置、设备及存储介质
CN112416778A (zh) 测试用例推荐方法、装置和电子设备
CN112241370B (zh) 一种api接口类的校验方法、系统及装置
CN108388606B (zh) 一种校验Sql语句中库表字段名的方法以及计算机设备
CN111597069A (zh) 程序处理方法、装置、电子设备和存储介质
Seiler et al. Comparing traceability through information retrieval, commits, interaction logs, and tags
CN116775488A (zh) 异常数据确定方法、装置、设备、介质及产品
CN116340172A (zh) 基于测试场景的数据收集方法、装置及测试用例检测方法
CN115830602A (zh) 元素定位方法、装置、电子设备及存储介质
CN112925874B (zh) 基于案例标记的相似代码搜索方法及系统
CN113742208B (zh) 一种软件检测方法、装置、设备及计算机可读存储介质
CN115373982A (zh) 基于人工智能的测试报告分析方法、装置、设备及介质
CN113568662B (zh) 一种基于调用关系的代码变更影响范围分析方法及系统
CN115237936B (zh) 检测sql语句中字段的方法、装置、存储介质和设备
CN117667711B (zh) 一种产线bug检测方法、装置、系统和存储介质
CN116414610B (zh) 异常日志片段的获取方法、装置、设备及存储介质
CN114911698B (zh) 一种自动测试方法、装置、电子设备及存储介质
CN117407430B (zh) 数据查询方法、装置、计算机设备及存储介质
CN113485715B (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