基于KNN的软件测试范围评估方法和装置制造方法及图纸

技术编号:37122247 阅读:13 留言:0更新日期:2023-04-01 05:18
本申请提供一种基于KNN的软件测试范围评估方法和装置,方法包括:获取目标软件平台本次代码修改影响的各个第一调用链信息;确定针对目标软件平台的各个接口测试用例对应的各个自动化测试场景各自的第二调用链信息,基于各个第一调用链信息和各个第二调用链信息,采用KNN模型确定本次代码修改对应的全部自动化测试场景以生成针对目标软件平台本次代码修改的测试范围评估报告。本申请能够有效提高软件测试范围评估的自动化程度及智能化程度,并能够有效提高软件测试范围评估结果的准确性及有效性,进而能够提高根据软件测试范围评估结果进行测试的可靠性及效率。结果进行测试的可靠性及效率。结果进行测试的可靠性及效率。

【技术实现步骤摘要】
基于KNN的软件测试范围评估方法和装置


[0001]本申请涉及数据处理
,尤其涉及基于KNN的软件测试范围评估方法和装置。

技术介绍

[0002]针对如云链平台等微服务架构的软件平台,业务架构师对于软件平台产品的设计更多的是从产品和业务方去设计本次需求,所评估的范围也是依据业务依赖,尤其是对于基础功能的设计,所带来的影响面更大,甚至一个接口的调整,就影响到其他平台,所以需要从整体上评估测试范围。开发对于服务的改造,一般都是通过开发工具(eclipse或IDE)来跟踪方法所影响到的接口,此种方式对于评估本服务的改造是准确的,但是对于微服务这种架构,服务间都是通过feign调用的方式且各个微服务都是由各个团队进行负责,存在沟通效率低和评估不准确的问题。
[0003]目前,功能测试对于软件平台的测试范围的评估主要是根据需求设计文档、开发人员和测试人员对云链平台的熟悉程度出一版本测试用例范围,在测试的过程中进行测试用例的补充,生产上经常出现运维问题,根据对运维问题的分析,结果显示测试用例或测试范围评估不正确占主要部分。因此,亟需设计一种能够提高软件测试范围评估过程的自动化程度且软件测试范围评估结果的准确性的方法。

技术实现思路

[0004]鉴于此,本申请实施例提供了基于KNN的软件测试范围评估方法和装置,以消除或改善现有技术中存在的一个或更多个缺陷。
[0005]本申请的一个方面提供了一种基于KNN的软件测试范围评估方法,包括:
[0006]获取目标软件平台本次代码修改影响的各个第一调用链信息;
[0007]确定针对所述目标软件平台的各个接口测试用例对应的各个自动化测试场景各自的第二调用链信息,其中,所述第一调用链信息和所述第二调用链信息中均包含有调用链对应的各个接口的标识;
[0008]基于各个所述第一调用链信息和各个所述第二调用链信息,采用KNN模型确定本次代码修改对应的全部自动化测试场景以生成针对所述目标软件平台本次代码修改的测试范围评估报告。
[0009]在本申请的一些实施例中,所述获取目标软件平台本次代码修改影响的各个第一调用链信息,包括:
[0010]获取目标软件平台的各个调用链数据,以生成对应的调用链模型,其中,每个所述调用链数据均包含有该调用链对应的各个接口的标识;
[0011]确定目标软件平台本次修改的代码对应的各个方法分别与各个接口之间的对应关系,以生成对应的代码树形结构模型;
[0012]基于所述调用链模型和所述代码树形结构模型中的接口,生成对应的调用链和代
码树形结构模型,并自该调用链和代码树形结构模型中查找所述目标软件平台本次代码修改影响的调用链和对应的接口的标识以得到对应的各个所述第一调用链信息。
[0013]在本申请的一些实施例中,所述获取目标软件平台的各个调用链数据,以生成对应的调用链模型,包括:
[0014]自预设的数据库中调取所述目标软件平台当前全部的调用链数据,其中,所述数据库内的调用链数据是预先经由开源调用链客户端搜集的;
[0015]对调取的各个所述调用链数据进行去重处理;
[0016]采用经去重处理后的各个调用链数据生成调用链模型,使得该调用链模型用于存储各个调用链各自与多个接口之间的对应关系。
[0017]在本申请的一些实施例中,所述确定目标软件平台本次修改的代码对应的各个方法分别与各个接口之间的对应关系,以生成对应的代码树形结构模型,包括:
[0018]基于代码仓库的对比接口确定所述目标软件平台本次修改的每一行代码;
[0019]采用所述代码仓库对应的开源技术分别确定每一个代码对应的方法和接口之间的对应关系,以生成用于存储到各个所述代码对应的方法各自与多个接口之间的对应关系的代码树形结构模型。
[0020]在本申请的一些实施例中,所述确定针对所述目标软件平台的各个接口测试用例对应的各个自动化测试场景各自的第二调用链信息,包括:
[0021]接收分别代表不同业务场景的各个自动化测试场景数据,其中,所述自动化测试场景数据预先基于所述目标软件平台的各个接口测试用例获取,且所述接口测试用例包括:接口参数和返回值;
[0022]根据各个所述业务场景各自与多个接口之间的对应关系生成对应的测试用例和接口用例模型;
[0023]基于所述调用链模型和所述测试用例和接口用例模型中的接口,查找所述业务场景与所述调用链数据之间的对应关系,以得到各个所述业务场景分别对应的各个第二调用链信息,其中,所述第二调用链信息用于存储所述业务场景、调用链和对应接口的标识之间的对应关系。
[0024]在本申请的一些实施例中,所述基于各个所述第一调用链信息和各个所述第二调用链信息,采用KNN模型确定本次代码修改对应的全部自动化测试场景以生成针对所述目标软件平台本次代码修改的测试范围评估报告,包括:
[0025]将所述第一调用链信息和所述第二调用链信息输入预设的KNN模型,以使该KNN模型基于预设的欧几里得算法分别计算所述第一调用链信息与所述第二调用链信息中的接口与业务场景之间的距离值,以得到距离集合;
[0026]对所述距离集合中的各个距离值进行由小至大的排列,并在排列后的距离集合中选取前K个距离值,其中,K为等于或大于1的正整数;
[0027]确定前K个距离值分别对应的第二调用链信息作为目标第二调用链信息,并将各个所述目标第二调用链信息各自对应的自动化测试场景作为针对所述目标软件平台本次代码修改的测试范围评估数据;
[0028]基于所述测试范围评估数据生成对应的测试范围评估报告,并输出该测试范围评估报告。
[0029]在本申请的一些实施例中,在所述基于各个所述第一调用链信息和各个所述第二调用链信息,采用KNN模型确定本次代码修改对应的全部自动化测试场景以生成针对所述目标软件平台本次代码修改的测试范围评估报告之前,还包括:
[0030]基于目标软件平台的历史调用链数据和历史修改代码对应的各个方法分别与各个接口之间的对应关系,得到所述目标软件平台历史修改代码所影响的各个第一历史调用链信息;
[0031]确定针对所述目标软件平台的各个接口测试用例对应的自动化测试场景涉及的各个第二历史调用链信息;
[0032]采用所述第一历史调用链信息和所述第二历史调用链信息训练得到所述KNN模型。
[0033]本申请的另一个方面提供了一种基于KNN的软件测试范围评估装置,包括:
[0034]代码影响数据获取模块,用于获取目标软件平台本次代码修改影响的各个第一调用链信息;
[0035]测试场景数据获取模块,用于确定针对所述目标软件平台的各个接口测试用例对应的各个自动化测试场景各自的第二调用链信息,其中,所述第一调用链信息和所述第二调用链信息中均包含有调用链对应的各个接口的标识;
[0036]测试范围自动评估模块,用于基于各个所述第一调用链信息和各个所述第二调用链信息,采用KNN模型确本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于KNN的软件测试范围评估方法,其特征在于,包括:获取目标软件平台本次代码修改影响的各个第一调用链信息;确定针对所述目标软件平台的各个接口测试用例对应的各个自动化测试场景各自的第二调用链信息,其中,所述第一调用链信息和所述第二调用链信息中均包含有调用链对应的各个接口的标识;基于各个所述第一调用链信息和各个所述第二调用链信息,采用KNN模型确定本次代码修改对应的全部自动化测试场景以生成针对所述目标软件平台本次代码修改的测试范围评估报告。2.根据权利要求1所述的基于KNN的软件测试范围评估方法,其特征在于,所述获取目标软件平台本次代码修改影响的各个第一调用链信息,包括:获取目标软件平台的各个调用链数据,以生成对应的调用链模型,其中,每个所述调用链数据均包含有该调用链对应的各个接口的标识;确定目标软件平台本次修改的代码对应的各个方法分别与各个接口之间的对应关系,以生成对应的代码树形结构模型;基于所述调用链模型和所述代码树形结构模型中的接口,生成对应的调用链和代码树形结构模型,并自该调用链和代码树形结构模型中查找所述目标软件平台本次代码修改影响的调用链和对应的接口的标识以得到对应的各个所述第一调用链信息。3.根据权利要求2所述的基于KNN的软件测试范围评估方法,其特征在于,所述获取目标软件平台的各个调用链数据,以生成对应的调用链模型,包括:自预设的数据库中调取所述目标软件平台当前全部的调用链数据,其中,所述数据库内的调用链数据是预先经由开源调用链客户端搜集的;对调取的各个所述调用链数据进行去重处理;采用经去重处理后的各个调用链数据生成调用链模型,使得该调用链模型用于存储各个调用链各自与多个接口之间的对应关系。4.根据权利要求2所述的基于KNN的软件测试范围评估方法,其特征在于,所述确定目标软件平台本次修改的代码对应的各个方法分别与各个接口之间的对应关系,以生成对应的代码树形结构模型,包括:基于代码仓库的对比接口确定所述目标软件平台本次修改的每一行代码;采用所述代码仓库对应的开源技术分别确定每一个代码对应的方法和接口之间的对应关系,以生成用于存储到各个所述代码对应的方法各自与多个接口之间的对应关系的代码树形结构模型。5.根据权利要求2所述的基于KNN的软件测试范围评估方法,其特征在于,所述确定针对所述目标软件平台的各个接口测试用例对应的各个自动化测试场景各自的第二调用链信息,包括:接收分别代表不同业务场景的各个自动化测试场景数据,其中,所述自动化测试场景数据预先基于所述目标软件平台的各个接口测试用例获取,且所述接口测试用例包括:接口参数和返回值;根据各个所述业务场景各自与多个接口之间的对应关系生成对应的测试用例和接口用例模型;
基于所述调用链模型和所述测试用例和接口用例模型中的接口,查找所述业务场景与所述调用链数据之间的对应关系,以得到各个所述业务...

【专利技术属性】
技术研发人员:李印
申请(专利权)人:中企云链北京金融信息服务有限公司
类型:发明
国别省市:

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

1