代码测试方法及装置制造方法及图纸

技术编号:32487677 阅读:77 留言:0更新日期:2022-03-02 09:53
本公开提供了一种代码测试方法及装置。所述代码测试方法包括:获取代码测试信息,并将所述代码测试信息划分为若干单元测试用例;确定所述若干单元测试用例所用于测试的代码是否有修改;若所述若干单元测试用例中的至少一个单元测试用例所用于测试的代码有修改,则使用所述至少一个单元测试用例进行独立用例测试;若所述至少一个单元测试用例的独立用例测试通过,则确定不进行代码测试。则确定不进行代码测试。则确定不进行代码测试。

【技术实现步骤摘要】
代码测试方法及装置


[0001]本公开总体说来涉及电子
,更具体地讲,涉及一种代码测试方法及装置。

技术介绍

[0002]在每次代码变更(例如,开发人员修改代码)后,需要使用全量单元测试用例Case对修改后的代码进行测试,如果所有单元测试用例Case全部执行通过,则说明修改后的代码没有问题,如果有单元测试用例Case执行失败,则说明修改后的代码存在问题。通过这种代码测试方式对修改后的代码进行测试,能够确定修改后的代码是否存在问题,但由于每次测试均需要完整测试全部代码,因此即使是对代码做出了比较小的修改和调整,依然需要花费较多时间进行测试。

技术实现思路

[0003]本公开的示例性实施例在于提供一种代码测试方法及装置,以至少解决上述相关技术中的问题。本公开的技术方案如下:
[0004]根据本公开实施例的第一方面,提供一种代码测试方法,包括:获取代码测试信息,并将所述代码测试信息划分为若干单元测试用例;确定所述若干单元测试用例所用于测试的代码是否有修改;若所述若干单元测试用例中的至少一个单元测试用例所用于测试的代码有修改,则使用所述至少一个单元测试用例进行独立用例测试;若所述至少一个单元测试用例的独立用例测试通过,则确定不进行代码测试。
[0005]可选地,确定所述若干单元测试用例所用于测试的代码是否有修改的步骤包括:确定本次修改后的代码的类文件中与所述若干单元测试用例中的每个单元测试用例相关联的类文件;确定本次修改的代码部分所对应的类文件;根据与每个单元测试用例相关联的类文件,确定与本次修改的代码部分所对应的类文件相关联的单元测试用例,并将确定的单元测试用例作为:所用于测试的代码有修改的所述至少一个单元测试用例。
[0006]可选地,确定本次修改后的代码的类文件中与每个单元测试用例相关联的类文件的步骤包括:确定本次修改后的代码的方法调用链,其中,所述方法调用链用于表示本次修改后的代码被抽象成的多个方法之间的调用关系;根据每个单元测试用例所需调用的方法和本次修改后的代码的方法调用链,确定与每个单元测试用例相关联的类文件。
[0007]可选地,确定本次修改后的代码的方法调用链的步骤包括:根据本次修改后的代码的抽象语法树,确定本次修改后的代码的方法调用链。
[0008]可选地,根据每个单元测试用例所需调用的方法和本次修改后的代码的方法调用链,确定与每个单元测试用例相关联的类文件的步骤包括:针对每个单元测试用例,从本次修改后的代码的方法调用链中确定该单元测试用例所需调用的方法所属的方法调用链;并将所属的方法调用链所对应的类文件确定为:与该单元测试用例相关联的类文件;其中,方法调用链所对应的类文件为:所述方法调用链包括的类所在的类文件。
[0009]可选地,确定本次修改后的代码的类文件中与每个单元测试用例相关联的类文件
的步骤包括:针对每个单元测试用例,通过字节码分析的方式遍历本次修改后的代码的类文件,并将内容涉及该单元测试用例所需调用的方法的类文件确定为:与该单元测试用例相关联的类文件。
[0010]可选地,根据与每个单元测试用例相关联的类文件,确定与本次修改的代码部分所对应的类文件相关联的单元测试用例的步骤包括:根据每个单元测试用例与与其相关联的类文件之间的对应关系,将与本次修改的代码部分所对应的类文件具有对应关系的单元测试用例确定为:与本次修改的代码部分所对应的类文件相关联的单元测试用例。
[0011]可选地,所述代码测试方法还包括:若所述至少一个单元测试用例的独立用例测试未通过,则确定所述至少一个单元测试用例所用于测试的代码的修改存在问题。
[0012]根据本公开实施例的第二方面,提供一种代码测试装置,包括:单元测试获取单元,被配置为获取代码测试信息,并将所述代码测试信息划分为若干单元测试用例;修改确定单元,被配置为确定所述若干单元测试用例所用于测试的代码是否有修改;独立用例测试单元,被配置为若所述若干单元测试用例中的至少一个单元测试用例所用于测试的代码有修改,则使用所述至少一个单元测试用例进行独立用例测试;确定单元,被配置为若所述至少一个单元测试用例的独立用例测试通过,则确定不进行代码测试。
[0013]可选地,修改确定单元被配置为:确定本次修改后的代码的类文件中与所述若干单元测试用例中的每个单元测试用例相关联的类文件;确定本次修改的代码部分所对应的类文件;根据与每个单元测试用例相关联的类文件,确定与本次修改的代码部分所对应的类文件相关联的单元测试用例,并将确定的单元测试用例作为:所用于测试的代码有修改的所述至少一个单元测试用例。
[0014]可选地,修改确定单元被配置为确定本次修改后的代码的方法调用链;并根据每个单元测试用例所需调用的方法和本次修改后的代码的方法调用链,确定与每个单元测试用例相关联的类文件;其中,所述方法调用链用于表示本次修改后的代码被抽象成的多个方法之间的调用关系。
[0015]可选地,修改确定单元被配置为根据本次修改后的代码的抽象语法树,确定本次修改后的代码的方法调用链。
[0016]可选地,修改确定单元被配置为针对每个单元测试用例,从本次修改后的代码的方法调用链中确定该单元测试用例所需调用的方法所属的方法调用链;并将所属的方法调用链所对应的类文件确定为:与该单元测试用例相关联的类文件;其中,方法调用链所对应的类文件为:所述方法调用链包括的类所在的类文件。
[0017]可选地,修改确定单元被配置为针对每个单元测试用例,通过字节码分析的方式遍历本次修改后的代码的类文件,并将内容涉及该单元测试用例所需调用的方法的类文件确定为:与该单元测试用例相关联的类文件。
[0018]可选地,修改确定单元被配置为根据每个单元测试用例与与其相关联的类文件之间的对应关系,将与本次修改的代码部分所对应的类文件具有对应关系的单元测试用例确定为:与本次修改的代码部分所对应的类文件相关联的单元测试用例。
[0019]可选地,确定单元被配置为若所述至少一个单元测试用例的独立用例测试未通过,则确定所述至少一个单元测试用例所用于测试的代码的修改存在问题。
[0020]根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;至少
一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的代码测试方法。
[0021]根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的代码测试方法。
[0022]根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现如上所述的代码测试方法。
[0023]根据本公开的示例性实施例的代码测试方法及装置,通过仅使用所用于测试的代码有修改的至少一个单元测试用例进行独立用例测试,即,仅执行与本次修改的代码部分相关联的单元测试用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码测试方法,其特征在于,包括:获取代码测试信息,并将所述代码测试信息划分为若干单元测试用例;确定所述若干单元测试用例所用于测试的代码是否有修改;若所述若干单元测试用例中的至少一个单元测试用例所用于测试的代码有修改,则使用所述至少一个单元测试用例进行独立用例测试;若所述至少一个单元测试用例的独立用例测试通过,则确定不进行代码测试。2.根据权利要求1所述的代码测试方法,其特征在于,确定所述若干单元测试用例所用于测试的代码是否有修改的步骤包括:确定本次修改后的代码的类文件中与所述若干单元测试用例中的每个单元测试用例相关联的类文件;确定本次修改的代码部分所对应的类文件;根据与每个单元测试用例相关联的类文件,确定与本次修改的代码部分所对应的类文件相关联的单元测试用例,并将确定的单元测试用例作为:所用于测试的代码有修改的所述至少一个单元测试用例。3.根据权利要求2所述的代码测试方法,其特征在于,确定本次修改后的代码的类文件中与每个单元测试用例相关联的类文件的步骤包括:确定本次修改后的代码的方法调用链,其中,所述方法调用链用于表示本次修改后的代码被抽象成的多个方法之间的调用关系;根据每个单元测试用例所需调用的方法和本次修改后的代码的方法调用链,确定与每个单元测试用例相关联的类文件。4.根据权利要求3所述的代码测试方法,其特征在于,确定本次修改后的代码的方法调用链的步骤包括:根据本次修改后的代码的抽象语法树,确定本次修改后的代码的方法调用链。5.根据权利要求3所述的代码测试方法,其特征在于,根据每个单元测试用例所需调用的方法和本次修改后的代码的方法调用链,确定与每个单元测试用例相关联的类文件的步骤包括:针对每个单元测试用例,从本次修改后的代码的方法...

【专利技术属性】
技术研发人员:赵硕
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1