软件系统测试方法及装置制造方法及图纸

技术编号:31089423 阅读:13 留言:0更新日期:2021-12-01 12:49
本申请实施例提供一种软件系统测试方法及装置,可用于大数据技术领域,方法包括:在软件系统对应的API依赖关系图中查找当前在软件系统中发生变更的目标API对应的目标测试对象,目标测试对象包括:目标API和该目标API对应的全部依赖API,以及目标API和依赖API各自所属的应用或子系统;获取目标测试对象对应的测试用例集并生成目标测试方案以在软件系统中对目标测试对象进行测试。本申请能够有效提高查找受到当前发生变更的目标API影响的全部的测试对象的效率及自动化程度,进而能够有效提高软件系统测试过程的效率及自动化程度,并能够在提高测试效率并降低冗余的基础上,提高软件系统测试过程的测试可靠性及全面性。软件系统测试过程的测试可靠性及全面性。软件系统测试过程的测试可靠性及全面性。

【技术实现步骤摘要】
软件系统测试方法及装置


[0001]本申请涉及软件测试
,特别涉及大数据
,具体涉及软件系统测试方法及装置。

技术介绍

[0002]随着云计算、云原生等技术迅速发展,用户对软件系统的需求趋于多样化,软件系统的复杂度日益提升,并且向分布式、高可用、可伸缩和智能化运维方向发展。当前,软件系统逐渐向微服务技术架构演进。在微服务技术框架下,复杂软件系统由大量拥有独立进程,具备独立的开发、测试、部署和运维能力的微服务构建,微服务之间由应用编程接口API相互连接。API的变更对整个软件系统的稳定性带来重大影响,因此,需要针对API变更快速制定单元测试和系统集成测试方案,并评估测试效果。
[0003]在现有的软件系统测试过程中,当软件系统中的部分API发生变化时,需要依赖人工或使用预先定义的映射表判定受到影响的子系统进行集成测试。当API发生变化时,由于需要依赖人工或使用预先定义的映射表判定受到影响的API、应用及子系统等待测试对象,因此导致现有的软件系统测试方式存在测试效率低、冗余度高以及待测试对象被遗漏而导致的测试可靠性及全面性差等问题。

技术实现思路

[0004]针对现有技术中的问题,本申请提供一种软件系统测试方法及装置,能够有效提高查找受到当前发生变更的目标API影响的全部的测试对象的效率及自动化程度,进而能够有效提高软件系统测试过程的效率及自动化程度,并能够在提高测试效率并降低冗余的基础上,提高软件系统测试过程的测试可靠性及全面性。
[0005]为解决上述技术问题,本申请提供以下技术方案:
[0006]第一方面,本申请提供一种软件系统测试方法,包括:
[0007]在软件系统对应的API依赖关系图中查找当前在所述软件系统中发生变更的目标API对应的目标测试对象,其中,所述目标测试对象包括:所述目标API和该目标API对应的全部依赖API,以及所述目标API和依赖API各自所属的应用或子系统;
[0008]获取所述目标测试对象对应的测试用例集并生成目标测试方案,以基于该目标测试方案在所述软件系统中对所述目标测试对象进行测试。
[0009]进一步地,在所述在软件系统对应的API依赖关系图中查找当前在所述软件系统中发生变更的目标API对应的目标测试对象之前,还包括:
[0010]获取软件系统对应的各个API元数据,其中,所述API元数据用于存储唯一对应的一个API的唯一标识以及该API与其他API之间的依赖关系,该API元数据还用于唯一对应的一个API所属的应用或子系统;
[0011]将各个所述API元数据分别作为节点,并根据各个API之间的依赖关系确定各个所述节点之间的有向边,以生成由各个所述节点和各个所述节点之间的有向边构成的API依
赖关系图。
[0012]进一步地,所述在软件系统对应的API依赖关系图中查找当前在所述软件系统中发生变更的目标API对应的目标测试对象,包括:
[0013]接收针对所述软件系统的API变更消息,其中,该API变更消息中包含有发送变更的目标API的唯一标识和变更类型,所述变更类型包括:新增、删除或修改;
[0014]基于所述目标API的唯一标识,在软件系统对应的API依赖关系图中查找该目标API对应的API依赖关系子图,其中,该API依赖关系子图中包含有所述目标API对应的目标测试对象。
[0015]进一步地,所述获取所述目标测试对象对应的测试用例集并生成目标测试方案,包括:
[0016]获取所述目标测试对象中各个API各自对应的API覆盖图,其中,各个所述API覆盖图与各个测试用例之间为一一对应关系;
[0017]根据所述API依赖关系子图及所述API覆盖图,选取所述目标测试对象对应的测试用例集;
[0018]基于所述测试用例集生成针对所述目标测试对象的目标测试方案。
[0019]进一步地,在所述获取所述目标测试对象对应的测试用例集并生成目标测试方案之前,还包括:
[0020]获取软件系统中各个子系统或应用对应的测试用例,所述测试用例包括:用于覆盖单一子系统或应用中的API的单元测试用例,以及,用于覆盖多个子系统或应用之间的API的集成测试用例;
[0021]根据所述软件系统当前对应的API依赖关系图,生成各个所述测试用例各自对应的API覆盖图;
[0022]其中,所述单元测试用例对应的API覆盖图用于存储该单元测试用例覆盖的单一子系统或应用中的API,若覆盖单一子系统或应用中的API有多个,则所述单元测试用例对应的API覆盖图还用于存储该单元测试用例覆盖的单一子系统或应用中的各个API之间的依赖关系;
[0023]所述集成测试用例对应的API覆盖图用于存储该集成测试用例覆盖的多个子系统或应用之间的各个API及各个API之间的依赖关系。
[0024]进一步地,所述根据所述API依赖关系子图及所述API覆盖图,选取所述目标测试对象对应的测试用例集,包括:
[0025]根据所述API依赖关系子图和所述API覆盖图,确定所述API依赖关系子图中的各个所述API各自对应的测试用例的标识及总数;
[0026]若所述API依赖关系子图中存在测试用例总数为1的API,则将测试用例总数为1的API对应的测试用例的标识加入测试用例集中;
[0027]若所述API依赖关系子图中存在测试用例总数多于1的API,且该API对应的测试用例中覆盖预设的热点子系统和/或热点API,则将覆盖预设的热点子系统和/或热点API的测试用例的标识加入所述测试用例集中。
[0028]进一步地,所述API覆盖图还用于存储对应的测试用例的测试成本;
[0029]相对应的,所述根据所述API依赖关系子图及所述API覆盖图,选取所述目标测试
对象对应的测试用例集,还包括:
[0030]若所述API依赖关系子图中存在测试用例总数多于1的API,且该API对应的测试用例中未覆盖所述热点子系统和/或热点API,则根据该API对应的各个所述测试用例各自对应的测试成本及API覆盖率选取对应的测试用例的标识加入所述测试用例集中。
[0031]进一步地,还包括:
[0032]接收针对所述软件系统的API新增消息,其中,该API新增消息中包含有待新增API对应的API元数据;
[0033]根据所述待新增API对应的API元数据,在所述API依赖关系图增加所述待新增API对应的节点以及与所述待新增API之间存在的依赖关系的其他节点之间的有向边。
[0034]进一步地,还包括:
[0035]接收针对所述软件系统的API删除消息,其中,该API删除消息中包含有待删除API对应的API元数据;
[0036]根据所述待删除API对应的API元数据,在所述API依赖关系图删除所述待删除API对应的节点以及与所述待删除API之间存在的依赖关系的其他节点之间的有向边。
[0037]进一步地,还包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件系统测试方法,其特征在于,包括:在软件系统对应的API依赖关系图中查找当前在所述软件系统中发生变更的目标API对应的目标测试对象,其中,所述目标测试对象包括:所述目标API和该目标API对应的全部依赖API,以及所述目标API和依赖API各自所属的应用或子系统;获取所述目标测试对象对应的测试用例集并生成目标测试方案,以基于该目标测试方案在所述软件系统中对所述目标测试对象进行测试。2.根据权利要求1所述的软件系统测试方法,其特征在于,在所述在软件系统对应的API依赖关系图中查找当前在所述软件系统中发生变更的目标API对应的目标测试对象之前,还包括:获取软件系统对应的各个API元数据,其中,所述API元数据用于存储唯一对应的一个API的唯一标识以及该API与其他API之间的依赖关系,该API元数据还用于唯一对应的一个API所属的应用或子系统;将各个所述API元数据分别作为节点,并根据各个API之间的依赖关系确定各个所述节点之间的有向边,以生成由各个所述节点和各个所述节点之间的有向边构成的API依赖关系图。3.根据权利要求2所述的软件系统测试方法,其特征在于,所述在软件系统对应的API依赖关系图中查找当前在所述软件系统中发生变更的目标API对应的目标测试对象,包括:接收针对所述软件系统的API变更消息,其中,该API变更消息中包含有发送变更的目标API的唯一标识和变更类型,所述变更类型包括:新增、删除或修改;基于所述目标API的唯一标识,在软件系统对应的API依赖关系图中查找该目标API对应的API依赖关系子图,其中,该API依赖关系子图中包含有所述目标API对应的目标测试对象。4.根据权利要求3所述的软件系统测试方法,其特征在于,所述获取所述目标测试对象对应的测试用例集并生成目标测试方案,包括:获取所述目标测试对象中各个API各自对应的API覆盖图,其中,各个所述API覆盖图与各个测试用例之间为一一对应关系;根据所述API依赖关系子图及所述API覆盖图,选取所述目标测试对象对应的测试用例集;基于所述测试用例集生成针对所述目标测试对象的目标测试方案。5.根据权利要求4所述的软件系统测试方法,其特征在于,在所述获取所述目标测试对象对应的测试用例集并生成目标测试方案之前,还包括:获取软件系统中各个子系统或应用对应的测试用例,所述测试用例包括:用于覆盖单一子系统或应用中的API的单元测试用例,以及,用于覆盖多个子系统或应用之间的API的集成测试用例;根据所述软件系统当前对应的API依赖关系图,生成各个所述测试用例各自对应的API覆盖图;其中,所述单元测试用例对应的API覆盖图用于存储该单元测试用例覆盖的单一子系统或应用中的API,若覆盖单一子系统或应用中的API有多个,则所述单元测试用例对应的API覆盖图还用于存储该单元测试用例覆盖的单一子系统或应用中的各个API之间的依赖
关系;所述集成测试用例对应的API覆盖图用于存储该集成测试用例覆盖的多个子系统或应用之间的各个API及各个API之间的依赖关系。6.根据权利要求4或5所述的软件系统测试方法,其特征在于,所述根据所述API依赖关系子图及所述API覆盖图,选取所述目标测试对象对应的测试用例集,包括:根据所述API依赖关系子图和所述API覆盖图,确定所述API依赖关系子图中的各个所述API各自对应的测试用例的标识及总数;若所述API依赖关系子图中存在测试用例总数为1的API,则将测试用例总数为1的API对应的测试用例的标识加入测试用例集中;若所述API依赖关系子图中存在测试用例总数多于1的API,且该API对应的...

【专利技术属性】
技术研发人员:戴婷婷张志李洁
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1