一种接口测试参数的优化方法、设备、介质与流程

未命名 07-15 阅读:86 评论:0


1.本发明涉及计算机技术领域,尤其是涉及一种接口测试参数的优化方法、设备、介质。


背景技术:

2.当前主流的软件系统绝大多数为b/s架构方式,而api接口作为b/s软件系统的服务组成单元,其功能的正确性、稳定性对软件系统的质量具有至关重要的影响。接口测试作为api接口质量的重要保证手段,其实施好坏的关键在于接口测试参数的设计,现有的接口测试参数设计方案主要有2种方式。
3.方式1:人工设计接口测试参数,根据等价类划分、边界值、特定场景规则、历史经验等方法进行接口测试参数设计。该方式效率低下,覆盖率不够全面。
4.方式2:通过自动化工具自动生成接口测试参数,根据方式1的原则和规则,利用基于规则的工具对接口测试参数进行穷举,从而生成测试参数表。该方法生成的测试参数冗余率高,执行效率低下,浪费算力资源。
5.上述现有技术方案,主要有如下几点问题:
6.(1)使用人工设计接口测试参数,受制于人工效率的限制,接口测试脚本的编写效率低,接口测试参数重复利用率低。
7.(2)通过自动化工具自动生成接口测试参数,由于其基本思路是基于等价类划分、边界值、特定业务规则等进行暴力穷举,因此,生成的测试参数集冗余率高,需要花费大量的人力进行筛选过滤,维护成本高。
8.(3)通过自动化工具自动生成接口测试参数,虽然一定程度上解决了效率问题,但其没有进化迭代机制,其执行和维护成本不会随时间的增加而降低。


技术实现要素:

9.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种接口测试参数的优化方法、设备、介质,以解决现有测试参数设计方案效率低,缺乏迭代机制的问题。
10.本发明的目的可以通过以下技术方案来实现:
11.本发明的一个方面,提供了一种接口测试参数的优化方法,包括如下步骤:
12.生成接口测试参数集,
13.基于当前的接口测试参数集进行接口测试,获取测试输出,基于当前的测试参数集以及所述测试输出,获取特征表集合,使用聚类算法对所述特征表集合进行聚类处理,获取聚类结果表,基于所述聚类结果表对所述聚类算法进行更新,通过对所述聚类结果表进行筛选保留与接口测试参数集中参数种类相匹配的测试参数,并向筛选后的接口测试参数集中加入新的测试参数,获取新的接口测试参数集,重复执行本步骤,直至满足预设的停止条件,得到最终的接口测试参数集。
14.作为优选的技术方案,所述的接口测试参数集的生成过程包括如下步骤:
15.使用通用参数生成逻辑生成整数型、字符串型和布尔型的测试参数;
16.根据接口的业务规则和逻辑,使用特定参数生成逻辑生成包括手机号、身份证件号和客户标识符的测试参数。
17.作为优选的技术方案,所述的特征表集合包括参数名称、参数值、参数长度、类型、使用次数和错误返回次数。
18.作为优选的技术方案,所述的获取特征表集合之后,还包括:
19.针对所述特征表集合进行数值化、归一化和one-hot编码处理。
20.作为优选的技术方案,所述的聚类算法为kmeans聚类算法。
21.作为优选的技术方案,所述的聚类结果表的获取包括如下步骤:
22.确定聚类算法的聚类类别数量,基于所述聚类算法获取所述聚类结果表。
23.作为优选的技术方案,基于所述聚类结果表对所述聚类算法进行更新的过程包括如下步骤:
24.从所述聚类结果表中的同类参数中随机选择二次测试参数并执行二次接口测试,获取二次接口测试的响应结果分布,根据所述响应结果分布调整聚类算法的聚类类别数量,实现对所述聚类算法进行更新。
25.作为优选的技术方案,所述的预设的停止条件为:
26.筛选后的所述聚类结果表中各个类中的参数的个数的方差小于预设值。
27.本发明的另一个方面,提供了一种电子设备,包括:一个或多个处理器以及存储器,所述存储器内储存有一个或多个程序,所述一个或多个程序包括用于执行上述接口测试参数的优化方法的指令。
28.本发明的另一个方面,提供了一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行上述接口测试参数的优化方法的指令。
29.与现有技术相比,本发明具有以下优点:
30.(1)生成效率高:本方法首先生成基础接口测试参数集,将基础参数集作为待测api接口输入,获取接口返回结果统计数据,构建接口测试参数特征集,通过机器学习的聚类算法,过滤筛选出同类型参数集作为接口测试数据集合,达到有效过滤冗余参数的目的,根据聚类结果生成新的测试参数并加入筛选后的测试参数集中,然后对聚类算法进行更新,多次重复以上步骤,得到最终的测试参数集,与现有方法相比,本方法的测试参数可根据特定场景不断丰富,不断优化,且复用率高,既避免了人工设计方式效率低,复用率低的缺点,又兼顾了有效性高的优点。
31.(2)具备迭代进化能力,维护方便:利用机器学习的智能化方法进行接口参数的优化,避免了仅仅依靠自动化工具暴力穷举的方式造成的测试参数冗余度高,执行成本高及维护难度大的问题,并且具备迭代和进化能力。
附图说明
32.图1为实施例1中接口测试参数的优化方法的流程图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
34.实施例1
35.如图1所述,本实施例提供了一种接口测试参数的优化方法,以克服人工设计方式的低效性及低复用率,并克服当前自动化工具生成方式的冗余度高,执行及维护成本高的问题,同时具备一定的迭代进化能力,随时间的推移,其生成的测试参数有效性,执行收益率逐步提高,维护成本逐渐降低。
36.本方法包括如下步骤:
37.步骤s1,生成基础接口测试参数集。
38.基础接口测试参数集的生成分为通用参数生成和特定参数生成逻辑:
39.通用参数生成逻辑;按照等价类、边界值等原则生成如整数型【-2**32,-1,0,1,2**32】,字符串型【“a”,“a!@”,“*¥%^&*+_-<<”】,布尔型参数【1,0,t,f,y,n,true,false】等测试参数,用于无特定业务规则的通用接口测试参数。
40.特定参数生成逻辑;按照特定的业务规则和逻辑,生成具有特定业务规则的接口测试参数。如手机号,身份证号,客户id等。
41.步骤s2,构建测试参数特征集合。
42.以基础接口测试参数集作为输入,执行接口测试,统计返回结果,与测试参数集进行组合,构建测试参数的特征集合。该特征集合表包括参数名称,参数值,参数长度,类型,使用次数,200返回次数,301返回次数,401返回次数,500返回次数等等。
43.步骤s3,处理测试参数特征集。
44.对特征表进行数值化,归一化,one-hot编码等处理。例如,对参数类型进行one-hot编码,对使用次数,不同类型的返回次数特征进行归一化处理。为后续聚类算法做好数据准备。
45.步骤s4,利用机器学习聚类算法对参数特征表进行聚类。
46.通过kmeans聚类算法对参数特征集进行聚类,根据聚类结果分析调整聚类的类别数量,输出参数特征聚类结果表。
47.步骤s5,根据聚类结果筛选和过滤接口测试参数,作为api接口测试的输入。
48.从聚类结果的同类参数中随机选择测试参数作为接口测试的参数集,执行接口测试,统计接口测试的响应结果分布,分析接口在当前参数集上的测试执行结果,当接口测试响应正常结果比例较高的情况下,考虑增加参数集的聚类类别,以提高测试覆盖率;如果接口测试响应异常结果占比较高,可适当缩减聚类类别,降低冗余率。
49.步骤s6,扩充基础接口测试集,迭代优化最终接口测试数据集。
50.根据业务需要扩充和丰富基础接口测试参数集合,重复步骤s2-s5,迭代更新聚类接口测试数据集。
51.本技术方案基于通用规则及特定场景规则,通过自动化工具生成基础接口测试参数集合,将基础参数集作为待测api接口输入,获取接口返回结果统计数据,通过数值化,
one-hot编码,归一化等手段,构建接口测试参数特征集,通过机器学习的聚类算法,过滤筛选出同类型参数集作为接口测试数据集合,达到有效过滤冗余参数的目的。并且,通过分析接口测试结果,不断改进算法模型,同时,可根据特定业务场景,不断丰富基础参数集,从而持续补充和优化最终接口测试数据集。
52.本技术方案与现有的通过人工设计方式,或者通过自动化工具根据测试一般性原则及特定业务规则进行暴力穷举,然后通过人工方式进行筛选和维护的方式相比,本方法通过构建接口参数特征,利用机器学习的智能化方法进行接口参数的优化,避免了仅仅依靠自动化工具暴力穷举的方式造成的测试参数冗余度高,执行成本高及维护难度大的问题,并且具备迭代和进化能力。另外,由于本方案的机制,测试参数可根据特定场景不断丰富,不断优化,且复用率高,既避免了人工设计方式效率低,复用率低的缺点,又兼顾了有效性高的优点。
53.实施例2
54.本实施例提供了一种电子设备,包括:一个或多个处理器以及存储器,所述存储器内储存有一个或多个程序,所述一个或多个程序包括用于执行如实施例1所述bms控制方法的指令。
55.实施例3
56.本实施例一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如实施例1所述bms控制方法的指令。
57.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种接口测试参数的优化方法,其特征在于,包括如下步骤:生成接口测试参数集,基于当前的接口测试参数集进行接口测试,获取测试输出,基于当前的测试参数集以及所述测试输出,获取特征表集合,使用聚类算法对所述特征表集合进行聚类处理,获取聚类结果表,基于所述聚类结果表对所述聚类算法进行更新,通过对所述聚类结果表进行筛选保留与接口测试参数集中参数种类相匹配的测试参数,并向筛选后的接口测试参数集中加入新的测试参数,获取新的接口测试参数集,重复执行本步骤,直至满足预设的停止条件,得到最终的接口测试参数集。2.根据权利要求1所述的一种接口测试参数的优化方法,其特征在于,所述的接口测试参数集的生成过程包括如下步骤:使用通用参数生成逻辑生成整数型、字符串型和布尔型的测试参数;根据接口的业务规则和逻辑,使用特定参数生成逻辑生成包括手机号、身份证件号和客户标识符的测试参数。3.根据权利要求1所述的一种接口测试参数的优化方法,其特征在于,所述的特征表集合包括参数名称、参数值、参数长度、类型、使用次数和错误返回次数。4.根据权利要求1所述的一种接口测试参数的优化方法,其特征在于,所述的获取特征表集合之后,还包括:针对所述特征表集合进行数值化、归一化和one-hot编码处理。5.根据权利要求1所述的一种接口测试参数的优化方法,其特征在于,所述的聚类算法为kmeans聚类算法。6.根据权利要求1所述的一种接口测试参数的优化方法,其特征在于,所述的聚类结果表的获取包括如下步骤:确定聚类算法的聚类类别数量,基于所述聚类算法获取所述聚类结果表。7.根据权利要求1所述的一种接口测试参数的优化方法,其特征在于,基于所述聚类结果表对所述聚类算法进行更新的过程包括如下步骤:从所述聚类结果表中的同类参数中随机选择二次测试参数并执行二次接口测试,获取二次接口测试的响应结果分布,根据所述响应结果分布调整聚类算法的聚类类别数量,实现对所述聚类算法进行更新。8.根据权利要求1所述的一种接口测试参数的优化方法,其特征在于,所述的预设的停止条件为:筛选后的所述聚类结果表中各个类中的参数的个数的方差小于预设值。9.一种电子设备,其特征在于,包括:一个或多个处理器以及存储器,所述存储器内储存有一个或多个程序,所述一个或多个程序包括用于执行如权利要求1-8任一所述接口测试参数的优化方法的指令。10.一种计算机可读存储介质,其特征在于,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如权利要求1-8任一所述接口测试参数的优化方法的指令。

技术总结
本发明涉及一种接口测试参数的优化方法、设备、介质,所述方法包括如下步骤:生成接口测试参数集,基于当前的接口测试参数集进行接口测试,获取测试输出,基于当前的测试参数集以及所述测试输出,获取特征表集合,使用聚类算法对所述特征表集合进行聚类处理,获取聚类结果表,基于所述聚类结果表对所述聚类算法进行更新,通过对所述聚类结果表进行筛选保留与接口测试参数集中参数种类相匹配的测试参数,并向筛选后的接口测试参数集中加入新的测试参数,获取新的接口测试参数集,重复执行本步骤,直至满足预设的停止条件,得到最终的接口测试参数集。与现有技术相比,本发明具有生成效率高、维护方便等优点。维护方便等优点。维护方便等优点。


技术研发人员:铁锦程 孙良平 陈嘉 田志广
受保护的技术使用者:上海浦东发展银行股份有限公司
技术研发日:2023.04.14
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐