一种生成接口测试用例的方法和装置制造方法及图纸

技术编号:38864619 阅读:18 留言:0更新日期:2023-09-17 10:05
本发明专利技术公开了一种生成接口测试用例的方法和装置,涉及接口测试技术领域。该方法的一具体实施方式包括:从网关测试平台拉取需要测试的网关代码;识别出所述网关代码中的各个插件类,将基线测试用例划分到所述各个插件类下;对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合;将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例。该实施方式能够解决场景遗漏、大量冗余和无效的测试用例的技术问题。余和无效的测试用例的技术问题。余和无效的测试用例的技术问题。

【技术实现步骤摘要】
一种生成接口测试用例的方法和装置


[0001]本专利技术涉及接口测试
,尤其涉及一种生成接口测试用例的方法和装置。

技术介绍

[0002]针对业务网关,不同的业务网关是通过不同的插件来实现的。网关作为所有流量的入口,对于网关的测试质量要求非常高。目前,网关的自动化测试用例主要采用场景分析法来编写,但是场景分析法编写的测试用例会存在场景遗漏或者存在大量冗余、无效的测试用例的问题,而且有些隐藏的缺陷通过场景组合的方式难以发现。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供一种生成接口测试用例的方法和装置,以解决场景遗漏、大量冗余和无效的测试用例的技术问题。
[0004]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种生成接口测试用例的方法,包括:
[0005]从网关测试平台拉取需要测试的网关代码;
[0006]识别出所述网关代码中的各个插件类,将基线测试用例划分到所述各个插件类下;
[0007]对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合;
[0008]将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例。
[0009]可选地,对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合,包括:
[0010]获取所述各个插件类对应的各个缺陷;
[0011]以任意一个缺陷为聚类中心,对所述各个缺陷进行聚类;
[0012]对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合。
[0013]可选地,以任意一个缺陷为聚类中心,对所述各个缺陷进行聚类;对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合,包括:
[0014]步骤a,按照重要程度由高到低的顺序,对所述各个缺陷进行排序;
[0015]步骤b,以排序中重要程度最高的缺陷为聚类中心,对排序中的各个缺陷进行聚类;
[0016]步骤c,对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合;
[0017]步骤d,将所述重要程度最高的缺陷从所述排序中删除;
[0018]重复步骤b和步骤d,直到所述排序中的缺陷的数量大于等于二。
[0019]可选地,将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,
从而生成变异测试用例,包括:
[0020]对于每个插件类下的每个缺陷,将所述缺陷注入被划分至所述插件类下的基线测试用例中,从而生成第一变异测试用例;
[0021]对于每个缺陷组合,将所述缺陷组合注入到被划分至所述缺陷组合对应的各个插件类下的基线测试用例中,从而生成第二变异测试用例。
[0022]可选地,将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例之后,还包括:
[0023]采用分支覆盖算法判断所述变异测试用例是否能够覆盖所述网关代码;若否,则继续对所述基线测试用例注入缺陷。
[0024]可选地,采用分支覆盖算法判断所述变异测试用例是否能够覆盖所述网关代码;若否,则继续对所述基线测试用例注入缺陷,包括:
[0025]将所述网关代码、所述基线测试用例和所述变异测试用例输入到分支覆盖算法中,从而输出所述网关代码的覆盖度和未覆盖的分支语句;
[0026]若所述覆盖度小于覆盖度阈值,则根据所述未覆盖的分支语句所属的插件类,构建新的缺陷,并继续对所述基线测试用例注入缺陷。
[0027]可选地,继续对所述基线测试用例注入缺陷,包括:
[0028]对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合;
[0029]将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例。
[0030]另外,根据本专利技术实施例的另一个方面,提供了一种生成接口测试用例的装置,包括:
[0031]拉取模块,用于从网关测试平台拉取需要测试的网关代码;
[0032]分类模块,用于识别出所述网关代码中的各个插件类,将基线测试用例划分到所述各个插件类下;
[0033]组合模块,用于对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合;
[0034]变异模块,用于将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例。
[0035]可选地,所述组合模块还用于:
[0036]获取所述各个插件类对应的各个缺陷;
[0037]以任意一个缺陷为聚类中心,对所述各个缺陷进行聚类;
[0038]对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合。
[0039]可选地,所述组合模块还用于:
[0040]步骤a,按照重要程度由高到低的顺序,对所述各个缺陷进行排序;
[0041]步骤b,以排序中重要程度最高的缺陷为聚类中心,对排序中的各个缺陷进行聚类;
[0042]步骤c,对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合;
[0043]步骤d,将所述重要程度最高的缺陷从所述排序中删除;
[0044]重复步骤b和步骤d,直到所述排序中的缺陷的数量大于等于二。
[0045]可选地,所述变异模块还用于:
[0046]对于每个插件类下的每个缺陷,将所述缺陷注入被划分至所述插件类下的基线测试用例中,从而生成第一变异测试用例;
[0047]对于每个缺陷组合,将所述缺陷组合注入到被划分至所述缺陷组合对应的各个插件类下的基线测试用例中,从而生成第二变异测试用例。
[0048]可选地,所述变异模块还用于:
[0049]采用分支覆盖算法判断所述变异测试用例是否能够覆盖所述网关代码;若否,则继续对所述基线测试用例注入缺陷。
[0050]可选地,所述变异模块还用于:
[0051]将所述网关代码、所述基线测试用例和所述变异测试用例输入到分支覆盖算法中,从而输出所述网关代码的覆盖度和未覆盖的分支语句;
[0052]若所述覆盖度小于覆盖度阈值,则根据所述未覆盖的分支语句所属的插件类,构建新的缺陷,并继续对所述基线测试用例注入缺陷。
[0053]可选地,所述变异模块还用于:
[0054]对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合;
[0055]将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例。
[0056]根据本专利技术实施例的另一个方面,还提供了一种电子设备,包括:
[0057]一个或多个处理器;
[0058]存储装置,用于存储一个或多个程序,
[0059]当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种生成接口测试用例的方法,其特征在于,包括:从网关测试平台拉取需要测试的网关代码;识别出所述网关代码中的各个插件类,将基线测试用例划分到所述各个插件类下;对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合;将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例。2.根据权利要求1所述的方法,其特征在于,对所述各个插件类对应的各个缺陷进行聚类,根据所述各个缺陷的聚类结果,确定各个缺陷组合,包括:获取所述各个插件类对应的各个缺陷;以任意一个缺陷为聚类中心,对所述各个缺陷进行聚类;对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合。3.根据权利要求2所述的方法,其特征在于,以任意一个缺陷为聚类中心,对所述各个缺陷进行聚类;对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合,包括:步骤a,按照重要程度由高到低的顺序,对所述各个缺陷进行排序;步骤b,以排序中重要程度最高的缺陷为聚类中心,对排序中的各个缺陷进行聚类;步骤c,对所述聚类中心所在的簇内的各个缺陷进行组合,从而得到各个缺陷组合;步骤d,将所述重要程度最高的缺陷从所述排序中删除;重复步骤b和步骤d,直到所述排序中的缺陷的数量大于等于二。4.根据权利要求1所述的方法,其特征在于,将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例,包括:对于每个插件类下的每个缺陷,将所述缺陷注入被划分至所述插件类下的基线测试用例中,从而生成第一变异测试用例;对于每个缺陷组合,将所述缺陷组合注入到被划分至所述缺陷组合对应的各个插件类下的基线测试用例中,从而生成第二变异测试用例。5.根据权利要求1所述的方法,其特征在于,将所述各个缺陷和所述各个缺陷组合分别注入到所述基线测试用例中,从而生成变异测试用例之后,还包括:采用分支覆盖算法判断所述变异测试用例是否能...

【专利技术属性】
技术研发人员:程妍
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1