CN117389908A - 接口自动化测试用例的依赖关系分析方法、系统及介质 - Google Patents

接口自动化测试用例的依赖关系分析方法、系统及介质 Download PDF

Info

Publication number
CN117389908A
CN117389908A CN202311702866.2A CN202311702866A CN117389908A CN 117389908 A CN117389908 A CN 117389908A CN 202311702866 A CN202311702866 A CN 202311702866A CN 117389908 A CN117389908 A CN 117389908A
Authority
CN
China
Prior art keywords
test
case
dependency
scene
test case
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311702866.2A
Other languages
English (en)
Other versions
CN117389908B (zh
Inventor
薛凯杰
肖丽芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yiyun Cloud Computing Co ltd
Original Assignee
Shenzhen Yiyun Cloud Computing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Yiyun Cloud Computing Co ltd filed Critical Shenzhen Yiyun Cloud Computing Co ltd
Priority to CN202311702866.2A priority Critical patent/CN117389908B/zh
Publication of CN117389908A publication Critical patent/CN117389908A/zh
Application granted granted Critical
Publication of CN117389908B publication Critical patent/CN117389908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及接口测试技术领域,发明了一种接口自动化测试用例的依赖关系分析方法、系统及介质,包括:获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集;对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集;对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集;对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景;根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。本发明可以提高依赖关系分析的效率。

Description

接口自动化测试用例的依赖关系分析方法、系统及介质
技术领域
本发明涉及接口测试技术领域,尤其涉及一种接口自动化测试用例的依赖关系分析方法、系统及介质。
背景技术
随着软件的迭代不断更新,软件系统的业务逻辑越发复杂,质量保障的成本也不断增加,而接口自动化测试作为接口质量的保障手段加入到迭代研发过程中,通过与持续集成或持续交付系统的集成进行持续测试,提升测试效率以及保证测试回归范围,而随着接口逻辑复杂度的增加以及用例数量的膨胀,不同业务顺序依赖或数据依赖关系的场景非常多,每个测试用例既保持一定的独立性,又因为实际业务的需求相互依赖,如何更高效的复用用例并解决用例依赖关系就成了接口自动化测试的关键。
现有的测试用例的依赖分析方法多为基于前后数据依赖的依赖关系分析方法,例如Postman的接口依赖,通过全局变量解决用例间的前后数据依赖,依赖关系通过hooks机制进行关联,或者通过用例集合顺序执行的方式整合多用例场景,实际应用中,当接口测试场景依赖多个上游用例以及场景链路较长的情况下,基于前后数据依赖的依赖关系分析方法在设计用例、维护及使用上均会异常复杂,无法直观管理复杂测试场景的接口的依赖关系以及数据关系,可能导致进行依赖关系分析时的效率较低。
发明内容
本发明提供一种接口自动化测试用例的依赖关系分析方法、系统及介质,其主要目的在于解决进行依赖关系分析时的效率较低的问题。
为实现上述目的,本发明提供的一种接口自动化测试用例的依赖关系分析方法,包括:
获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集;
对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集;
对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集;
对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景;
根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。
可选地,所述获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集,包括:
将任务请求发送至预设的测试管理组件;
获取所述测试管理组件针对所述任务请求反馈的测试任务;
从所述测试任务中提取出测试名称集;
根据所述测试名称集从预设的测试数据库中提取出测试用例数据集。
可选地,所述对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集,包括:
对所述测试用例数据集进行单位格式统一操作,得到规格测试用例数据集;
对所述规格测试用例数据集进行哈希去重,得到去重测试用例数据集;
对所述去重测试用例数据集进行初级数据除噪,得到除噪测试用例数据集;
对所述除噪测试用例数据集进行数据特征映射,得到测试用例特征集;
根据所述测试用例特征集对所述除噪测试用例数据集进行聚类离群特征检测,得到离群测试用例数据组;
利用所述离群测试用例数据组对所述除噪测试用例数据集进行次级数据除噪,得到标准测试用例数据集。
可选地,所述根据所述测试用例特征集对所述除噪测试用例数据集进行聚类离群特征检测,得到离群测试用例数据组,包括:
将所述测试用例特征集随机拆分成用例特征组集,为所述用例特征组集中的各个用例特征组随机筛选出初级用例中心特征;
计算出各个初级用例中心特征与所述用例特征组集中的各个用例特征之间的聚类特征距离:
根据所述聚类特征距离重新对所有的用例特征进行分组,得到多个次级用例特征组;
计算出各个次级用例特征组对应的次级用例中心特征,并计算出各个次级用例中心特征与对应的初级用例中心特征之间的中心特征距离;
根据所有的中心特征距离将各个次级用例特征组迭代更新成用例特征类,得到用例特征类集;
根据所述用例特征类集从测试用例特征集中筛选出离群用例特征组,利用所述离群用例测试组从所述除噪测试用例数据集中映射出离群测试用例数据组。
可选地,所述对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集,包括:
逐个选取所述标准测试用例数据中的标准测试用例数据作为目标测试用例数据,对所述目标测试用例数据进行属性提取,得到目标用例属性;
对所述目标测试用例数据进行配置提取,得到目标用例配置;
分别从所述目标用例配置中提取出配置结构、配置分隔符以及配置标签;
根据所述配置结构和所述配置分隔符将所述目标用例配置拆分成目标配置字段集;
利用所述配置标签对所述配置字段集进行数据解析,得到配置数据;
对所述配置数据进行依赖提取,得到目标用例依赖;
将所有的目标用例属性汇集成用例属性集,将所有的目标用例依赖汇集成用例依赖集。
可选地,所述对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,包括:
从所述用例依赖集中提取出用例节点集;
从所述用例节点集中统计出节点总数,根据所述节点总数初始化用例节点邻接矩阵;
逐个选取所述用例依赖集中的用例依赖作为目标用例依赖,从所述目标用例依赖中分别提取出源节点以及目标节点;
根据所述源节点和所述目标节点对所述用例节点邻接矩阵进行指向更新,直至所述目标用例依赖为所述用例依赖集中最后一个用例依赖时,将所述用例节点邻接矩阵作为依赖拓扑关系。
可选地,所述根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景,包括:
从所述测试任务中提取出测试场景集,从所述测试场景集中提取出场景用例组集;
逐个选取所述测试场景集中的测试场景作为目标测试场景,将所述场景用例组集中所述目标测试场景对应的场景用例组作为目标场景用例组;
根据所述依赖拓扑关系判断所述目标场景用例组中是否存在依赖用例;
若是,则根据所述依赖拓扑关系和所述场景用例组集从所述测试场景集中筛选出所述目标测试场景的依赖测试场景;
将所述依赖测试场景作为所述目标测试场景,返回所述逐个选取所述测试场景集中的测试场景作为目标测试场景的步骤;
若否,则将所述目标测试场景作为最小测试依赖场景。
可选地,所述对所述最小测试用例场景进行拓扑构图,得到场景依赖关系,包括:
从所述最小测试用例场景中提取出场景用例属性集;
对所述场景用例属性集进行节点图形化操作,得到场景节点集;
根据所述场景节点集生成初始节点图;
按照遍历的方法从所述最小测试用例场景中提取出指向元素集;
根据所述指向元素集生成有向边集,利用所述有向边集对所述初始节点图进行更新,得到场景依赖关系。
为了解决上述问题,本发明还提供一种接口自动化测试用例的依赖关系分析系统,所述系统包括:
数据获取模块,用于获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集;
数据清洗模块,用于对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集;
配置解析模块,用于对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集;
拓扑检测模块,用于对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景;
拓扑构图模块,用于根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的接口自动化测试用例的依赖关系分析方法。
本发明通过获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集,能够实现接口自动化测试的统一归档管理,更加方面依赖关系的分析,通过对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集,能够确保测试的可靠性、稳定性和有效性,可以解决测试用例数据中可能存在的问题,以减少测试以及依赖关系分析的误差和提高依赖关系分析的准确性,通过对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集,能够实现测试用例依赖信息的快速提取,提高了依赖关系分析的效率。
通过对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,能够通过多个上下游的依赖关系组合成用例拓扑关系,实现快速的依赖关系查询,通过根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景,能够满足研发过程中不同阶段快速获取及运行对应维度的接口测试用例的需求,提高依赖关系分析的效率,通过根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,能够专注于最关键的测试场景,可以节省测试资源,减少测试成本,通过对所述最小测试用例场景进行拓扑构图,得到场景依赖关系,可以可视化展示依赖关系,提高依赖关系分析的效率。因此本发明提出的接口自动化测试用例的依赖关系分析方法、系统及介质,可以解决进行依赖关系分析时的效率较低的问题。
附图说明
图1为本发明一实施例提供的接口自动化测试用例的依赖关系分析方法的流程示意图;
图2为本发明一实施例提供的提取用例属性集以及用例依赖集的流程示意图;
图3为本发明一实施例提供的场景依赖关系的示意图;
图4为本发明一实施例提供的接口自动化测试用例的依赖关系分析系统的功能模块图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种接口自动化测试用例的依赖关系分析方法。所述接口自动化测试用例的依赖关系分析方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述接口自动化测试用例的依赖关系分析方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的接口自动化测试用例的依赖关系分析方法的流程示意图。在本实施例中,所述接口自动化测试用例的依赖关系分析方法包括:
S1、获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集。
本发明实施例中,所述接口自动化测试是一种用于测试应用或系统的接口或API的自动化测试方法,所述接口自动化测试的目的是验证接口是否按照预期工作,在不同输入和输出组合下是否与预期行为结果一致,并通过自动化运行的方式提升执行效率,所述测试任务是指所述接口自动化测试的整体任务,包括测试的场景、测试用例以及测试数据等。
详细地,所述测试用例数据集中的各个测试用例数据包括测试用例的输入数据、测试对象、测试条件、配置环境以及依赖关系等。
本发明实施例中,所述获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集,包括:
将任务请求发送至预设的测试管理组件;
获取所述测试管理组件针对所述任务请求反馈的测试任务;
从所述测试任务中提取出测试名称集;
根据所述测试名称集从预设的测试数据库中提取出测试用例数据集。
具体地,所述测试管理组件可以是HttpRunner的Manager组件,所述任务请求是用以获取测试任务的请求,可以利用HttpRunner的Web组件将任务请求发送至预设的测试管理组件,可以利用HttpRunner的Worker组件获取所述测试管理组件针对所述任务请求反馈的测试任务。
详细地,可以利用正则表达式或关键字提取算法从所述测试任务中提取出测试名称集,所述测试名称集中的每个测试名称对应所述测试任务中每个测试用例的ID名称,所述测试数据库可以是HttpRunner的Neo4j组件或MongoDB组件,可以利用java数据库访问方法(Java Database Connectivity,简称JDBC)或通用数据库访问方法(Open DatabaseConnectivity,简称ODBC)根据所述测试名称集从预设的测试数据库中提取出测试用例数据集。
本发明实施例中,通过获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集,能够实现接口自动化测试的统一归档管理,更加方面依赖关系的分析。
S2、对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集。
本发明实施例中,所述测试用例数据集中存在着许多不符合预期格式或预期规范的数据,可能会导致测试用例执行失败,给后续测试过程引入不确定性,因此需要对所述测试用例数据集进行用例数据清洗,其中,所述测试用例是指在接口自动化测试中的用例,每个接口在特定输入情况下的请求为一个测试用例。
本发明实施例中,所述对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集,包括:
对所述测试用例数据集进行单位格式统一操作,得到规格测试用例数据集;
对所述规格测试用例数据集进行哈希去重,得到去重测试用例数据集;
对所述去重测试用例数据集进行初级数据除噪,得到除噪测试用例数据集;
对所述除噪测试用例数据集进行数据特征映射,得到测试用例特征集;
根据所述测试用例特征集对所述除噪测试用例数据集进行聚类离群特征检测,得到离群测试用例数据组;
利用所述离群测试用例数据组对所述除噪测试用例数据集进行次级数据除噪,得到标准测试用例数据集。
详细地,所述对所述测试用例数据集进行单位格式统一操作,得到规格测试用例数据集是指将所述测试用例数据集中的相同数据类型的数据统一到同一单位格式,例如将日期格式转换以及字符编码调整等。
具体地,所述对所述规格测试用例数据集进行哈希去重,得到去重测试用例数据集是指将所述规格测试用例数据集中的每个规格测试用例数据哈希编码成哈希用例编码,对所述规格测试用例数据集中所有哈希用例编码相同的规格测试用例数据进行去重,得到去重测试用例数据集。
详细地,所述对所述去重测试用例数据集进行初级数据除噪,得到除噪测试用例数据集是指将所述去重测试用例数据集中的乱码数据、错误数据作为异常数据进行删除替换,得到除噪测试用例数据集,其中,可以利用正则表达式的方法对所述去重测试用例数据集进行初级数据除噪,得到除噪测试用例数据集。
具体地,所述对所述除噪测试用例数据集进行数据特征映射,得到测试用例特征集是指从所述除噪测试用例数据集中映射出用例数据信息集,对所述用例数据信息集进行数据特征化操作,得到测试用例特征集,其中,所述数据特征化的方法可以是数据编码、文本向量化或卷积等操作。
具体地,所述根据所述测试用例特征集对所述除噪测试用例数据集进行聚类离群特征检测,得到离群测试用例数据组,包括:
将所述测试用例特征集随机拆分成用例特征组集,为所述用例特征组集中的各个用例特征组随机筛选出初级用例中心特征;
计算出各个初级用例中心特征与所述用例特征组集中的各个用例特征之间的聚类特征距离:
根据所述聚类特征距离重新对所有的用例特征进行分组,得到多个次级用例特征组;
计算出各个次级用例特征组对应的次级用例中心特征,并计算出各个次级用例中心特征与对应的初级用例中心特征之间的中心特征距离;
根据所有的中心特征距离将各个次级用例特征组迭代更新成用例特征类,得到用例特征类集;
根据所述用例特征类集从测试用例特征集中筛选出离群用例特征组,利用所述离群用例测试组从所述除噪测试用例数据集中映射出离群测试用例数据组。
具体地,可以利用余弦距离算法计算出各个初级用例中心特征与所述用例特征组集中的各个用例特征之间的聚类特征距离,所述根据所述聚类特征距离重新对所有的用例特征进行分组,得到多个次级用例特征组是指将用例特征分配到聚类特征距离最近的初级用例中心特征所在的用例特征组中,得到次级用例特征组,所述计算出各个次级用例特征组对应的次级用例中心特征是指计算出与所述次级用例特征组的各次级用例特征的均值特征,所述中心特征距离是指次级用例中心特征与对应的所述初级用例中心特征之间的聚类特征距离。
本发明实施例中,所述根据所有的中心特征距离将各个次级用例特征组迭代更新成用例特征类,包括:将所有的中心特征距离的平均值作为标准中心特征距离,判断所述标准中心特征距离是否小于预设的距离阈值;若是,则将所述次级用例中心特征作为初级用例中心特征,并返回所述利用如下的聚类特征距离算法计算出各个初级用例中心特征与所述用例特征组集中的各个用例特征之间的聚类特征距离的步骤;若否,则逐个将所述次级用例特征组作为用例特征类。
详细地,所述利用所述离群测试用例数据组对所述除噪测试用例数据集进行次级数据除噪,得到标准测试用例数据集是指将所述除噪测试用例数据集中的所述离群测试用例数据组中的各个离群测试用例数据删除或反馈给用户进行更新。
本发明实施例中,通过对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集,能够确保测试的可靠性、稳定性和有效性,可以解决测试用例数据中可能存在的问题,以减少测试以及依赖关系分析的误差和提高依赖关系分析的准确性。
S3、对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集。
本发明实施例中,所述用例属性集中的各个用例属性对应所述标准测试用例数据集中各个标准测试用例数据的属性信息,所述属性信息包括名称、状态以及模板等,所述用例依赖集中的各个用例依赖对应所述标准测试用例数据集中各个标准测试用例数据的依赖关系。
本发明实施例中,参照图2所示,所述对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集,包括:
S21、逐个选取所述标准测试用例数据中的标准测试用例数据作为目标测试用例数据,对所述目标测试用例数据进行属性提取,得到目标用例属性;
S22、对所述目标测试用例数据进行配置提取,得到目标用例配置;
S23、分别从所述目标用例配置中提取出配置结构、配置分隔符以及配置标签;
S24、根据所述配置结构和所述配置分隔符将所述目标用例配置拆分成目标配置字段集;
S25、利用所述配置标签对所述配置字段集进行数据解析,得到配置数据;
S26、对所述配置数据进行依赖提取,得到目标用例依赖;
S27、将所有的目标用例属性汇集成用例属性集,将所有的目标用例依赖汇集成用例依赖集。
具体地,所述目标用例配置是指记录了目标测试用例数据的各项配置的文件,所述目标用例配置可以是JSON、XML 等格式的文件,所述配置结构是指配置的整体组织方式,包括字段的顺序、分隔符的使用或者可能的嵌套结构等,所述配置分割付是用于将配置中的字段分开的字符或字符串,所述配置标签是字段的描述性标识或名称,指示字段的含义,可以利用字符串的split方法根据所述配置结构和所述配置分隔符将所述目标用例配置拆分成目标配置字段集。
本发明实施例中,通过对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集,能够实现测试用例依赖信息的快速提取,提高了依赖关系分析的效率。
S4、对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景。
本发明实施例中,所述依赖拓扑关系是指任一测试用例可依赖有多个上游测试用例或被有多个下游测试用例依赖,所述依赖拓扑关系可以简单快速的检索多层拓扑关系中复杂的关系数据。
本发明实施例中,所述对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,包括:
从所述用例依赖集中提取出用例节点集;
从所述用例节点集中统计出节点总数,根据所述节点总数初始化用例节点邻接矩阵;
逐个选取所述用例依赖集中的用例依赖作为目标用例依赖,从所述目标用例依赖中分别提取出源节点以及目标节点;
根据所述源节点和所述目标节点对所述用例节点邻接矩阵进行指向更新,直至所述目标用例依赖为所述用例依赖集中最后一个用例依赖时,将所述用例节点邻接矩阵作为依赖拓扑关系。
详细地,所述用例节点集中的每个用例节点对应所述用例依赖集中的一个测试用例接口,所述节点总数是指所述用例节点集中用例节点的总数,所述根据所述节点总数初始化用例节点邻接矩阵是指创建一个边长为所述节点总数的元素为零的矩阵。
详细地,所述源节点是指所述目标用例依赖中的上游节点,所述目标节点是指所述目标用例依赖中的下游节点,例如c4依赖c2时,源节点为c4,目标节点为c2,所述根据所述源节点和所述目标节点对所述用例节点邻接矩阵进行指向更新是指将所述源节点和所述目标节点对应的邻接坐标的元素值更新为1。
详细地,所述最小测试依赖场景是指是指包含执行测试的测试场景中的最小必要场景,所述最小测试依赖场景的目标是提高测试效率,减少执行时间,并确保在有限的资源下仍然能够有效地验证系统。
具体地,所述根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景,包括:
从所述测试任务中提取出测试场景集,从所述测试场景集中提取出场景用例组集;
逐个选取所述测试场景集中的测试场景作为目标测试场景,将所述场景用例组集中所述目标测试场景对应的场景用例组作为目标场景用例组;
根据所述依赖拓扑关系判断所述目标场景用例组中是否存在依赖用例;
若是,则根据所述依赖拓扑关系和所述场景用例组集从所述测试场景集中筛选出所述目标测试场景的依赖测试场景;
将所述依赖测试场景作为所述目标测试场景,返回所述逐个选取所述测试场景集中的测试场景作为目标测试场景的步骤;
若否,则将所述目标测试场景作为最小测试依赖场景。
详细地,所述测试场景是指特定的业务流程为一个场景,特定业务流程中一般会涉及多个接口请求,通过多个测试用例组合成一个测试场景,所述场景用例组集中的每个场景用例组对应所述测试场景集中一个测试场景的所有测试用例。
具体地,所述根据所述依赖拓扑关系判断所述目标场景用例组中是否存在依赖用例是指判断所述目标场景用例组中的各个场景用例是否被其他场景用例组中的场景用例依赖,例如测试场景A有新增商品的测试用例,测试场景B有删除商品的测试用例,而删除商品的测试用例本身依赖新增商品测试用例,则测试场景A的目标场景用例组中存在依赖用例,所述根据所述依赖拓扑关系和所述场景用例组集从所述测试场景集中筛选出所述目标测试场景的依赖测试场景,是指将所述测试场景B作为所述测试场景A的以来测试场景。
本发明实施例中,通过对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,能够通过多个上下游的依赖关系组合成用例拓扑关系,实现快速的依赖关系查询,通过根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景,能够满足研发过程中不同阶段快速获取及运行对应维度的接口测试用例的需求,提高依赖关系分析的效率。
S5、根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。
本发明实施例中,所述最小测试用例场景是节点替换成对应用例属性名称的最小测试依赖场景,所述最小测试用例场景更具直观性,所述场景依赖关系是以拓扑图展示的最小测试用例场景。
本发明实施例中,所述根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景是指利用所述用例属性集中的用例属性对所述最小测试依赖场景中的源节点和目标节点进行替换。
本发明实施例中,所述对所述最小测试用例场景进行拓扑构图,得到场景依赖关系,包括:
从所述最小测试用例场景中提取出场景用例属性集;
对所述场景用例属性集进行节点图形化操作,得到场景节点集;
根据所述场景节点集生成初始节点图;
按照遍历的方法从所述最小测试用例场景中提取出指向元素集;
根据所述指向元素集生成有向边集,利用所述有向边集对所述初始节点图进行更新,得到场景依赖关系。
具体地,所述场景用例属性集中的各个场景用例属性对应所述最小测试用例场景中替换的得到的用例属性,可以利用NetworkX、Matplotlib等图形库对所述场景用例属性集进行节点图形化操作,得到场景节点集,并根据所述场景节点集生成初始节点图,所述指向元素集是指所述最小测试用例场景的矩阵中数值为1的元素。
具体地,参照图3所示,为所述场景依赖关系,其中,GetToken、商品列表、订单列表以及客户列表等为所述场景节点集中的场景节点,指向箭头为所述有向边集中的有向边。
本发明实施例中,通过根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,能够专注于最关键的测试场景,可以节省测试资源,减少测试成本,通过对所述最小测试用例场景进行拓扑构图,得到场景依赖关系,可以可视化展示依赖关系,提高依赖关系分析的效率。
本发明通过获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集,能够实现接口自动化测试的统一归档管理,更加方面依赖关系的分析,通过对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集,能够确保测试的可靠性、稳定性和有效性,可以解决测试用例数据中可能存在的问题,以减少测试以及依赖关系分析的误差和提高依赖关系分析的准确性,通过对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集,能够实现测试用例依赖信息的快速提取,提高了依赖关系分析的效率。
通过对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,能够通过多个上下游的依赖关系组合成用例拓扑关系,实现快速的依赖关系查询,通过根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景,能够满足研发过程中不同阶段快速获取及运行对应维度的接口测试用例的需求,提高依赖关系分析的效率,通过根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,能够专注于最关键的测试场景,可以节省测试资源,减少测试成本,通过对所述最小测试用例场景进行拓扑构图,得到场景依赖关系,可以可视化展示依赖关系,提高依赖关系分析的效率。因此本发明提出的接口自动化测试用例的依赖关系分析方法,可以解决进行依赖关系分析时的效率较低的问题。
如图4所示,是本发明一实施例提供的接口自动化测试用例的依赖关系分析系统的功能模块图。
本发明所述接口自动化测试用例的依赖关系分析系统100可以安装于电子设备中。根据实现的功能,所述接口自动化测试用例的依赖关系分析系统100可以包括数据获取模块101、数据清洗模块102、配置解析模块103、拓扑检测模块104及拓扑构图模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述数据获取模块101,用于获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集;
所述数据清洗模块102,用于对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集;
所述配置解析模块103,用于对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集;
所述拓扑检测模块104,用于对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景;
所述拓扑构图模块105,用于根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。
详细地,本发明实施例中所述接口自动化测试用例的依赖关系分析系统100中所述的各模块在使用时采用与上述图1至图3中所述的接口自动化测试用例的依赖关系分析方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集;
对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集;
对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集;
对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景;
根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统实施例中陈述的多个单元或系统也可以由一个单元或系统通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种接口自动化测试用例的依赖关系分析方法,其特征在于,所述方法包括:
获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集;
对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集;
对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集;
对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景;
根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。
2.如权利要求1所述的接口自动化测试用例的依赖关系分析方法,其特征在于,所述获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集,包括:
将任务请求发送至预设的测试管理组件;
获取所述测试管理组件针对所述任务请求反馈的测试任务;
从所述测试任务中提取出测试名称集;
根据所述测试名称集从预设的测试数据库中提取出测试用例数据集。
3.如权利要求1所述的接口自动化测试用例的依赖关系分析方法,其特征在于,所述对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集,包括:
对所述测试用例数据集进行单位格式统一操作,得到规格测试用例数据集;
对所述规格测试用例数据集进行哈希去重,得到去重测试用例数据集;
对所述去重测试用例数据集进行初级数据除噪,得到除噪测试用例数据集;
对所述除噪测试用例数据集进行数据特征映射,得到测试用例特征集;
根据所述测试用例特征集对所述除噪测试用例数据集进行聚类离群特征检测,得到离群测试用例数据组;
利用所述离群测试用例数据组对所述除噪测试用例数据集进行次级数据除噪,得到标准测试用例数据集。
4.如权利要求3所述的接口自动化测试用例的依赖关系分析方法,其特征在于,所述根据所述测试用例特征集对所述除噪测试用例数据集进行聚类离群特征检测,得到离群测试用例数据组,包括:
将所述测试用例特征集随机拆分成用例特征组集,为所述用例特征组集中的各个用例特征组随机筛选出初级用例中心特征;
计算出各个初级用例中心特征与所述用例特征组集中的各个用例特征之间的聚类特征距离:
根据所述聚类特征距离重新对所有的用例特征进行分组,得到多个次级用例特征组;
计算出各个次级用例特征组对应的次级用例中心特征,并计算出各个次级用例中心特征与对应的初级用例中心特征之间的中心特征距离;
根据所有的中心特征距离将各个次级用例特征组迭代更新成用例特征类,得到用例特征类集;
根据所述用例特征类集从测试用例特征集中筛选出离群用例特征组,利用所述离群用例测试组从所述除噪测试用例数据集中映射出离群测试用例数据组。
5.如权利要求1所述的接口自动化测试用例的依赖关系分析方法,其特征在于,所述对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集,包括:
逐个选取所述标准测试用例数据中的标准测试用例数据作为目标测试用例数据,对所述目标测试用例数据进行属性提取,得到目标用例属性;
对所述目标测试用例数据进行配置提取,得到目标用例配置;
分别从所述目标用例配置中提取出配置结构、配置分隔符以及配置标签;
根据所述配置结构和所述配置分隔符将所述目标用例配置拆分成目标配置字段集;
利用所述配置标签对所述配置字段集进行数据解析,得到配置数据;
对所述配置数据进行依赖提取,得到目标用例依赖;
将所有的目标用例属性汇集成用例属性集,将所有的目标用例依赖汇集成用例依赖集。
6.如权利要求1所述的接口自动化测试用例的依赖关系分析方法,其特征在于,所述对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,包括:
从所述用例依赖集中提取出用例节点集;
从所述用例节点集中统计出节点总数,根据所述节点总数初始化用例节点邻接矩阵;
逐个选取所述用例依赖集中的用例依赖作为目标用例依赖,从所述目标用例依赖中分别提取出源节点以及目标节点;
根据所述源节点和所述目标节点对所述用例节点邻接矩阵进行指向更新,直至所述目标用例依赖为所述用例依赖集中最后一个用例依赖时,将所述用例节点邻接矩阵作为依赖拓扑关系。
7.如权利要求1所述的接口自动化测试用例的依赖关系分析方法,其特征在于,所述根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景,包括:
从所述测试任务中提取出测试场景集,从所述测试场景集中提取出场景用例组集;
逐个选取所述测试场景集中的测试场景作为目标测试场景,将所述场景用例组集中所述目标测试场景对应的场景用例组作为目标场景用例组;
根据所述依赖拓扑关系判断所述目标场景用例组中是否存在依赖用例;
若是,则根据所述依赖拓扑关系和所述场景用例组集从所述测试场景集中筛选出所述目标测试场景的依赖测试场景;
将所述依赖测试场景作为所述目标测试场景,返回所述逐个选取所述测试场景集中的测试场景作为目标测试场景的步骤;
若否,则将所述目标测试场景作为最小测试依赖场景。
8.如权利要求1所述的接口自动化测试用例的依赖关系分析方法,其特征在于,所述对所述最小测试用例场景进行拓扑构图,得到场景依赖关系,包括:
从所述最小测试用例场景中提取出场景用例属性集;
对所述场景用例属性集进行节点图形化操作,得到场景节点集;
根据所述场景节点集生成初始节点图;
按照遍历的方法从所述最小测试用例场景中提取出指向元素集;
根据所述指向元素集生成有向边集,利用所述有向边集对所述初始节点图进行更新,得到场景依赖关系。
9.一种接口自动化测试用例的依赖关系分析系统,其特征在于,所述系统包括:
数据获取模块,用于获取接口自动化测试的测试任务以及所述测试任务对应的测试用例数据集;
数据清洗模块,用于对所述测试用例数据集进行用例数据清洗,得到标准测试用例数据集;
配置解析模块,用于对所述标准测试用例数据集进行配置解析,得到用例属性集以及所述用例属性集对应的用例依赖集;
拓扑检测模块,用于对所述用例依赖集进行拓扑检测,得到依赖拓扑关系,根据所述依赖拓扑关系生成所述测试任务对应的最小测试依赖场景;
拓扑构图模块,用于根据所述最小测试依赖场景和所述用例属性集生成最小测试用例场景,对所述最小测试用例场景进行拓扑构图,得到场景依赖关系。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述的接口自动化测试用例的依赖关系分析方法。
CN202311702866.2A 2023-12-12 2023-12-12 接口自动化测试用例的依赖关系分析方法、系统及介质 Active CN117389908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311702866.2A CN117389908B (zh) 2023-12-12 2023-12-12 接口自动化测试用例的依赖关系分析方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311702866.2A CN117389908B (zh) 2023-12-12 2023-12-12 接口自动化测试用例的依赖关系分析方法、系统及介质

Publications (2)

Publication Number Publication Date
CN117389908A true CN117389908A (zh) 2024-01-12
CN117389908B CN117389908B (zh) 2024-03-26

Family

ID=89441452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311702866.2A Active CN117389908B (zh) 2023-12-12 2023-12-12 接口自动化测试用例的依赖关系分析方法、系统及介质

Country Status (1)

Country Link
CN (1) CN117389908B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225282B1 (en) * 2003-11-25 2012-07-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
CN110232016A (zh) * 2019-03-08 2019-09-13 上海蔚来汽车有限公司 接口测试用例生成方法、装置及控制器和介质
CN111552509A (zh) * 2020-04-30 2020-08-18 深圳前海微众银行股份有限公司 一种接口间依赖关系的确定方法及装置
CN113434396A (zh) * 2021-06-22 2021-09-24 中国农业银行股份有限公司 接口测试方法、装置、设备、存储介质及程序产品
CN113591073A (zh) * 2021-06-11 2021-11-02 中国科学院信息工程研究所 一种Web API安全威胁检测方法及装置
CN116225886A (zh) * 2021-12-06 2023-06-06 北京字节跳动网络技术有限公司 测试用例生成方法、装置、设备、存储介质及程序产品
US20230376408A1 (en) * 2021-02-26 2023-11-23 Huawei Cloud Computing Technologies Co., Ltd. Application programming interface test method and apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225282B1 (en) * 2003-11-25 2012-07-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
CN110232016A (zh) * 2019-03-08 2019-09-13 上海蔚来汽车有限公司 接口测试用例生成方法、装置及控制器和介质
CN111552509A (zh) * 2020-04-30 2020-08-18 深圳前海微众银行股份有限公司 一种接口间依赖关系的确定方法及装置
US20230376408A1 (en) * 2021-02-26 2023-11-23 Huawei Cloud Computing Technologies Co., Ltd. Application programming interface test method and apparatus
CN113591073A (zh) * 2021-06-11 2021-11-02 中国科学院信息工程研究所 一种Web API安全威胁检测方法及装置
CN113434396A (zh) * 2021-06-22 2021-09-24 中国农业银行股份有限公司 接口测试方法、装置、设备、存储介质及程序产品
CN116225886A (zh) * 2021-12-06 2023-06-06 北京字节跳动网络技术有限公司 测试用例生成方法、装置、设备、存储介质及程序产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
奚培锋等: "电力需求响应管理平台互操作接口设计", 现代建筑电气, no. 01, 30 January 2020 (2020-01-30) *

Also Published As

Publication number Publication date
CN117389908B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
US10649838B2 (en) Automatic correlation of dynamic system events within computing devices
US20210342369A1 (en) Method and system for implementing efficient classification and exploration of data
US11238069B2 (en) Transforming a data stream into structured data
CN107111625B (zh) 实现数据的高效分类和探索的方法和系统
EP4086771B1 (en) Method and system for the on-demand generation of graph-like models out of multidimensional observation data
US20160055044A1 (en) Fault analysis method, fault analysis system, and storage medium
CN106062751A (zh) 对与数据类型有关的数据剖析操作的管理
CN111309550A (zh) 应用程序的数据采集方法、系统、设备和存储介质
CN114968754A (zh) 一种应用程序接口api测试方法以及装置
US20230281179A1 (en) Load Balancing For A Storage System
CN113760847A (zh) 日志数据处理方法、装置、设备及存储介质
CN114461792A (zh) 告警事件关联方法、装置、电子设备、介质及程序产品
CN115203435A (zh) 基于知识图谱的实体关系生成方法及数据查询方法
CN113220907A (zh) 业务知识图谱的构建方法及装置、介质、电子设备
CN115827380A (zh) 云平台监控方法及云平台监控系统
US11153183B2 (en) Compacted messaging for application performance management system
US11822578B2 (en) Matching machine generated data entries to pattern clusters
CN115329011A (zh) 数据模型的构建方法、数据查询的方法、装置及存储介质
CN110309206B (zh) 订单信息采集方法及系统
CN117389908B (zh) 接口自动化测试用例的依赖关系分析方法、系统及介质
US9824140B2 (en) Method of creating classification pattern, apparatus, and recording medium
CN114706893A (zh) 故障检测方法、装置、设备及存储介质
US20120284315A1 (en) Optimization of non-deterministic computational paths
WO2024012186A1 (zh) 根因定位方法、通信设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant