源代码测试方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34423471 阅读:16 留言:0更新日期:2022-08-06 15:50
本申请实施例提供了一种源代码测试方法、装置、电子设备及存储介质,涉及大数据以及云技术领域。该方法包括:获取待测试的源代码数据,源代码数据包括待测试源代码以及待测试源代码对应的测试管理信息,其中,测试管理信息为待测试源代码的注释信息,测试管理信息包括测试指示信息或目标人员的联系信息中的至少一项;基于源代码数据,生成对应的测试用例;若测试管理信息包括测试指示信息,则根据测试指示信息对测试用例进行测试,得到测试结果;若测试管理信息包括目标人员的联系信息,则基于目标人员的联系信息,将测试结果发给目标人员的电子设备。本申请实施例可以提高测试效率。的电子设备。本申请实施例可以提高测试效率。的电子设备。本申请实施例可以提高测试效率。

【技术实现步骤摘要】
源代码测试方法、装置、电子设备及存储介质


[0001]本申请涉及大数据以及云
,具体而言,本申请涉及一种源代码测试方法、装置、电子设备及存储介质。

技术介绍

[0002]单元测试是对程序代码单元进行函数级的测试,可以完成对最小软件设计单元的验证。在前端项目中,单元测试也是必不可少的,前端项目中的单元测试可以保证项目的正确性,避免项目上线后才发现问题。
[0003]当下前端流行的单元测试框架有mocha和jest等,可以提供测试所需要的环境、模拟测试需要的数据以及对编写好的测试用例进行收集、运行,判断测试用例执行的正确性。在实际使用过程中,采用Jest、mocha等前端单元测试框架对测试用例进行测试的效率较低。

技术实现思路

[0004]本申请提供了一种可以提高测试效率的源代码测试方法、装置、电子设备及存储介质。
[0005]一方面,提供了一种源代码测试方法,该方法包括:
[0006]获取待测试的源代码数据,源代码数据包括待测试源代码以及待测试源代码对应的测试管理信息,其中,测试管理信息为待测试源代码的注释信息,测试管理信息包括测试指示信息或目标人员的联系信息中的至少一项;
[0007]基于源代码数据,生成对应的测试用例;
[0008]若测试管理信息包括测试指示信息,则根据测试指示信息对测试用例进行测试,得到测试结果;
[0009]若测试管理信息包括目标人员的联系信息,则基于目标人员的联系信息,将所述测试结果发给目标人员的电子设备。
[0010]另一方面,提供了一种源代码测试装置,该装置包括:
[0011]代码数据获取模块,用于获取待测试的源代码数据,源代码数据包括待测试源代码以及待测试源代码对应的测试管理信息,其中,测试管理信息为待测试源代码的注释信息,测试管理信息包括测试指示信息或目标人员的联系信息中的至少一项;
[0012]测试用例生成模块,用于基于源代码数据,生成对应的测试用例;
[0013]测试用例测试模块,用于当测试管理信息包括测试指示信息,则根据测试指示信息对测试用例进行测试,得到测试结果;
[0014]测试结果发送模块,用于当测试管理信息包括目标人员的联系信息,则基于目标人员的联系信息,将测试结果发给目标人员的电子设备。
[0015]在一种可能的实现方式中,源代码数据包括至少两个待测试源代码,测试指示信息包括至少两个待测试源代码之间的测试优先级信息;
[0016]测试用例测试模块在根据测试指示信息对测试用例进行测试时,具体用于:
[0017]按照至少两个待测试源代码之间的测试优先级信息,依次对各源代码数据对应的测试用例进行测试。
[0018]在一种可能的实现方式中,源代码数据包括至少两个待测试源代码,测试管理信息还包括各待测试源代码的测试类型,源代码测试装置还包括:
[0019]测试通过率确定模块,用于统计各测试类型的测试结果,并基于各测试类型的测试结果,确定各测试类型对应的测试通过率。
[0020]在一种可能的实现方式中,测试用例生成模块具体用于:
[0021]将源代码数据转化为抽象语法树,抽象语法树上的各节点分别对应于待测试源代码中的各个函数,节点之间的连接关系对应于函数之间的包含关系;
[0022]根据抽象语法树和源代码数据,生成对应的测试用例。
[0023]在一种可能的实现方式中,测试用例生成模块在根据抽象语法树和源代码数据,生成对应的测试用例时,具体用于:
[0024]通过遍历抽象语法树,确定目标结构的节点,目标结构包括函数调用结构;
[0025]若目标结构的节点在抽象语法树中对应的内容包含调用函数,则将目标结构的节点确定为目标节点;
[0026]基于各目标节点在源代码数据中对应的内容,得到测试用例。
[0027]在一种可能的实现方式中,测试用例生成模块在基于各目标节点在源代码数据中对应的内容,得到测试用例时,具体用于:
[0028]根据各调用函数在源代码数据中对应的内容生成各第一测试用例集,测试用例包括各第一测试用例集;
[0029]对于任一调用函数,若调用函数在源代码数据中对应的内容包括调用函数的被调用函数,则根据被调用函数在源代码数据中对应的内容生成第二测试用例集,并将第二测试用例集合并至第一测试用例集中。
[0030]在一种可能的实现方式中,调用函数为describe函数,被调用函数为it函数。
[0031]又一方面,提供了一种电子设备,电子设备包括存储器和处理器,其中,存储器中存储有计算机程序;处理器在运行计算机程序时,执行本申请任一可选实施方式所提供的源代码测试方法。
[0032]又一方面,提供了一种计算机可读存储介质,存储介质中存储有计算机程序,计算机程序被处理器执行时实现本申请任一可选实施方式所提供的源代码测试方法。
[0033]本申请提供的技术方案带来的有益效果是:
[0034]本申请提供了一种源代码测试方法、装置、电子设备及存储介质,与现有技术相比,本申请可以基于源代码数据,生成对应的测试用例,源代码数据中可以包含测试指示信息,可以根据测试指示信息对测试用例进行测试,测试指示信息能够有效的指示测试用例的测试过程,能够提高测试效率,源代码数据中也可以包含目标人员的联系信息,在对测试用例进行测试得到测试结果时,可以基于目标人员的联系信息,将测试结果发给目标人员的电子设备,实现对源代码相关人员的快速定位,有利于快速将源代码的测试结果告知相关人员,以便进行后续处理,能够有效地提高测试效率。
附图说明
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
[0036]图1为本申请实施例提供的一种测试用例的生成方法的流程示意图;
[0037]图2为本申请实施例提供的一种源代码测试方法的流程示意图;
[0038]图3为本申请实施例提供的一种源代码测试装置的结构示意图;
[0039]图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0040]下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0041]本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种源代码测试方法,其特征在于,包括:获取待测试的源代码数据,所述源代码数据包括待测试源代码以及所述待测试源代码对应的测试管理信息,其中,所述测试管理信息为所述待测试源代码的注释信息,所述测试管理信息包括测试指示信息或目标人员的联系信息中的至少一项;基于所述源代码数据,生成对应的测试用例;若所述测试管理信息包括所述测试指示信息,则根据所述测试指示信息对所述测试用例进行测试,得到测试结果;若所述测试管理信息包括所述目标人员的联系信息,则基于所述目标人员的联系信息,将所述测试结果发给所述目标人员的电子设备。2.根据权利要求1所述的方法,其特征在于,所述源代码数据包括至少两个待测试源代码,所述测试指示信息包括至少两个所述待测试源代码之间的测试优先级信息;所述根据所述测试指示信息对所述测试用例进行测试,包括:按照至少两个所述待测试源代码之间的测试优先级信息,依次对各所述源代码数据对应的测试用例进行测试。3.根据权利要求1所述的方法,其特征在于,所述源代码数据包括至少两个待测试源代码,所述测试管理信息还包括各所述待测试源代码的测试类型,所述方法还包括:统计各所述测试类型的测试结果;基于各所述测试类型的测试结果,确定各所述测试类型对应的测试通过率。4.根据权利要求1

3任一项所述的方法,其特征在于,所述基于所述源代码数据,生成对应的测试用例,包括:将所述源代码数据转化为抽象语法树,所述抽象语法树上的各节点分别对应于所述待测试源代码中的各个函数,节点之间的连接关系对应于函数之间的包含关系;根据所述抽象语法树和所述源代码数据,生成对应的测试用例。5.根据权利要求4所示的方法,其特征在于,所述根据所述抽象语法树和所述源代码数据,生成对应的测试用例,包括:通过遍历所述抽象语法树,确定目标结构的节点,所述目标结构包括函数调用结构;若所述目标结构的节点在所述抽象语法树...

【专利技术属性】
技术研发人员:顾况吴涛赵卓然梁啸
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1