CN116841913B - 测试用例生成方法、装置、电子设备及存储介质 - Google Patents
测试用例生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116841913B CN116841913B CN202311111966.8A CN202311111966A CN116841913B CN 116841913 B CN116841913 B CN 116841913B CN 202311111966 A CN202311111966 A CN 202311111966A CN 116841913 B CN116841913 B CN 116841913B
- Authority
- CN
- China
- Prior art keywords
- test case
- target
- difference degree
- information
- degree calculation
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 659
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004364 calculation method Methods 0.000 claims abstract description 183
- 230000004044 response Effects 0.000 claims description 56
- 230000002776 aggregation Effects 0.000 claims description 29
- 238000004220 aggregation Methods 0.000 claims description 29
- 238000006116 polymerization reaction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010367 cloning Methods 0.000 claims description 5
- 238000013522 software testing Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及软件测试技术领域,提供一种测试用例生成方法、装置、电子设备及存储介质。方法包括:确定基于请求信息从测试用例集中查询到至少一个历史测试用例,从至少一个历史测试用例中确定出目标基准测试用例;基于目标基准测试用例与目标测试用例的目标差异度计算结果,确定目标测试用例的目标置信度;确定至少一个历史测试用例中不存在置信度与目标置信度相同的测试用例,将目标测试用例添加至测试用例集;确定基于请求信息从测试用例集中未查询到历史测试用例,将目标测试用例添加至测试用例集,将目标测试用例设为请求信息对应的基准测试用例,将目标测试用例的置信度设为基准置信度。本发明可以提高用例去重效率和测试用例的生成效率。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种测试用例生成方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的迅速发展,越来越多的软件***产生。而在软件***的开发中,对软件***进行自动化测试是十分必要的。而在自动化测试中,需要投入测试人员依据需求文档和设计方案等设计测试用例,然而其需要投入大量人力,浪费人力成本,且过于依赖测试人员的经验,导致无法完全模拟线上场景从而出现漏测等情况,从而导致软件测试不够全面,进而导致被测***可靠性降低,因此,需要自动生成测试用例,以解决上述问题。
目前,基于请求信息的相关参数信息自动生成多个测试用例。然而,自动生成的多个测试用例中可能出现重复的测试用例,从而导致重复测试;虽然可以对多个测试用例进行去重处理,但是需要计算多个测试用例中两两之间的相似度,其计算量较大,进而导致去重效率低,最终降低测试用例的生成效率。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种测试用例生成方法,其用例去重方式只需要计算目标基准测试用例与目标测试用例的差异度计算结果,从而减少计算量,进而提高用例去重效率,最终提高测试用例的生成效率。
本发明还提出一种测试用例生成装置。
本发明还提出一种电子设备。
本发明还提出一种非暂态计算机可读存储介质。
根据本发明第一方面实施例的测试用例生成方法,包括:
基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;
确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;
基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;
确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;
确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度。
根据本发明实施例的测试用例生成方法,基于请求信息和其对应的响应信息,自动生成目标测试用例,从而减少人力成本,并提高目标测试用例的生成准确性,以提高测试的全面性;若确定基于请求信息从测试用例集中查询到至少一个历史测试用例,从该至少一个历史测试用例中确定出目标基准测试用例,以基于目标基准测试用例与该目标测试用例的目标差异度计算结果,确定目标测试用例的目标置信度,若确定至少一个历史测试用例中不存在置信度与该目标置信度相同的测试用例,将目标测试用例添加至测试用例集,以供后续基于添加的目标测试用例进行***测试,相应地,若确定该至少一个历史测试用例中存在置信度与目标置信度相同的测试用例,不做任何处理,即相同置信度表明二者用例相似度高,进而不将重复的且为后面自动生成的目标测试用例添加至测试用例集,最终实现用例的去重,且该去重方式只需要计算目标基准测试用例与目标测试用例的差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率;若确定基于请求信息从测试用例集中未查询到历史测试用例,将该目标测试用例添加至测试用例集,即在无请求信息对应的历史测试用例时可以直接将该目标测试用例添加至测试用例集,无需计算差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率,并将目标测试用例设为请求信息对应的基准测试用例,以及将目标测试用例的置信度设为基准置信度,以供后续生成新的测试用例时可以执行上述去重处理。
根据本发明的一个实施例,所述基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度,包括:
基于所述目标差异度计算结果与所述目标基准测试用例对应的最大差异度计算结果的比值,确定所述目标测试用例的目标置信度;
其中,所述最大差异度计算结果为所述目标基准测试用例与第一测试用例的差异度计算结果,所述第一测试用例为与所述目标基准测试用例差异度最大的测试用例,所述目标差异度计算结果越大则所述目标基准测试用例与所述目标测试用例的差异度越大。
根据本发明的一个实施例,所述最大差异度计算结果是基于如下步骤确定:
获取所述目标基准测试用例对应的第一请求体信息;
对所述第一请求体信息进行提取得到第一N维数组;
分别计算所述第一N维数组中各数据与0的最大子差异度计算结果;
基于N个所述最大子差异度计算结果的第一聚合结果,确定所述最大差异度计算结果。
根据本发明的一个实施例,所述目标差异度计算结果是基于如下步骤确定:
获取所述目标基准测试用例对应的第一请求体信息,以及所述请求信息中的第二请求体信息;
对所述第一请求体信息进行提取得到第一N维数组,并对所述第二请求体信息进行提取得到第二N维数组,其中,N表示第一请求体信息的字段数量,所述第一N维数组中的任一数据用于表征所述第一请求体信息中的任一字段信息;
计算所述第一N维数组与所述第二N维数组的N个差异度计算结果,所述N个差异度计算结果中任一差异度计算结果为所述第一N维数组中的第一数据与所述第二N维数组中所述第一数据对应的第二数据的差异度计算结果;
基于所述N个差异度计算结果的第二聚合结果,确定所述目标差异度计算结果。
根据本发明的一个实施例,所述基于所述N个差异度计算结果的第二聚合结果,确定所述目标差异度计算结果,包括:
基于各字段信息的权重值,对所述N个差异度计算结果进行加权聚合处理,得到所述第二聚合结果;
基于所述第二聚合结果,确定所述目标差异度计算结果。
根据本发明的一个实施例,所述基于请求信息和所述请求信息对应的响应信息,生成目标测试用例,包括:
接收请求方设备发送的网络流量,将所述网络流量发送至与待测试***相同的线上***,以使所述线上***基于所述网络流量生成响应信息,所述网络流量包括请求信息;
接收所述线上***发送的所述响应信息;
基于所述请求信息和所述响应信息,生成目标测试用例。
根据本发明的一个实施例,所述基于所述请求信息和所述响应信息,生成目标测试用例,包括:
将所述响应信息发送至所述请求方设备,并异步基于所述请求信息和所述响应信息,生成目标测试用例。
根据本发明的一个实施例,还包括:
将所述线上***的环境信息克隆至所述待测试***,以使所述线上***与所述待测试***的环境相同;
其中,所述测试用例集中各测试用例用于对所述待测试***进行测试。
根据本发明的一个实施例,所述确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,包括:
基于所述请求信息中的唯一标识信息,从测试用例集中查询到至少一个历史测试用例;
其中,所述唯一标识信息包括统一资源定位符URL、请求路径和请求方法。
根据本发明第二方面实施例的测试用例生成装置,包括:
用例生成模块,用于基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;
用例查询模块,用于确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;
置信度确定模块,用于基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;
第一用例添加模块,用于确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;
第二用例添加模块,用于确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度。
根据本发明第三方面实施例的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述测试用例生成方法。
根据本发明第四方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述测试用例生成方法。
本发明实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
基于请求信息和其对应的响应信息,自动生成目标测试用例,从而减少人力成本,并提高目标测试用例的生成准确性,以提高测试的全面性;若确定基于请求信息从测试用例集中查询到至少一个历史测试用例,从该至少一个历史测试用例中确定出目标基准测试用例,以基于目标基准测试用例与该目标测试用例的目标差异度计算结果,确定目标测试用例的目标置信度,若确定至少一个历史测试用例中不存在置信度与该目标置信度相同的测试用例,将目标测试用例添加至测试用例集,以供后续基于添加的目标测试用例进行***测试,相应地,若确定该至少一个历史测试用例中存在置信度与目标置信度相同的测试用例,不做任何处理,即相同置信度表明二者用例相似度高,进而不将重复的且为后面自动生成的目标测试用例添加至测试用例集,最终实现用例的去重,且该去重方式只需要计算目标基准测试用例与目标测试用例的差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率;若确定基于请求信息从测试用例集中未查询到历史测试用例,将该目标测试用例添加至测试用例集,即在无请求信息对应的历史测试用例时可以直接将该目标测试用例添加至测试用例集,无需计算差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率,并将目标测试用例设为请求信息对应的基准测试用例,以及将目标测试用例的置信度设为基准置信度,以供后续生成新的测试用例时可以执行上述去重处理。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的测试用例生成方法的流程示意图之一;
图2是本发明实施例提供的测试用例生成方法的流程示意图之二;
图3是本发明实施例提供的测试用例生成装置的结构示意图;
图4是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
随着计算机技术的迅速发展,越来越多的软件***产生。而在软件***的开发中,对软件***进行自动化测试是十分必要的。而在自动化测试中,例如接口自动化测试场景中,需要投入测试人员依据需求文档和设计方案等设计测试用例,然而其需要投入大量人力,浪费人力成本,且过于依赖测试人员的经验,导致无法完全模拟线上场景从而出现漏测等情况,从而导致软件测试不够全面,进而导致被测***可靠性降低,因此,需要自动生成测试用例,以解决上述问题。
目前,基于请求信息的相关参数信息自动生成多个测试用例。然而,自动生成的多个测试用例中可能出现重复的测试用例,从而导致重复测试;虽然可以对多个测试用例进行去重处理,但是需要计算多个测试用例中两两之间的相似度,例如M个测试用例则需要计算得到M*(M-1)/2个相似度,其计算量较大,进而导致去重效率低,进而影响最终去重后的测试用例集的生成效率,最终降低测试用例的生成效率。
基于上述问题,本发明提出以下各实施例。下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例用于说明本发明,但不能用来限制本发明的范围。
图1是本发明实施例提供的测试用例生成方法的流程示意图之一,如图1所示,该测试用例生成方法包括步骤110至步骤150。
本发明实施例提供的测试用例生成方法的执行主体可以为测试设备,该测试设备可以包括但不限于:台式电脑、笔记本电脑、服务器、智能终端设备等等。
步骤110,基于请求信息和所述请求信息对应的响应信息,生成目标测试用例。
此处,请求信息为请求方设备发送的请求对应的相关信息。在一实施例中,该请求信息可以包括但不限于以下至少一种:URL(Uniform Resource Locator,统一资源定位符)、请求方法(例如get、post、put、delete)、请求路径、协议版本、报文头(Headers)、请求体(body)等等。
此处,响应信息为响应方设备基于请求信息所响应生成的信息。在一实施例中,该响应信息可以包括但不限于以下至少一种:状态行、报文头(Headers)、响应体(body)等等。
此处,目标测试用例可以用于对待测***进行回归测试。可以理解的是,该目标测试用例可能存在对应的重复测试用例,因此,需要实现用例去重。
在一具体实施例中,解析响应信息,得到测试用例有关的断言信息;基于请求信息和请求信息对应的响应信息,以及该断言信息,生成目标测试用例。示例性的,基于请求信息和请求信息对应的响应信息,自动生成接口相关的协议、报文体和断言信息。
步骤120,确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例。
此处,测试用例集包括至少一个测试用例,该测试用例集用于存放测试用例。
在上述步骤120之前,基于请求信息,查询测试用例集,以查询请求信息对应的至少一个历史测试用例。可以理解的是,至少一个历史测试用例为该请求信息相关的测试用例,即并非所有历史测试用例均为请求信息相关的测试用例,从而实现相关测试用例的去重。
在一实施例中,基于请求信息中的唯一标识信息,查询测试用例集,以查询唯一标识信息对应的至少一个历史测试用例。可以理解的是,至少一个历史测试用例为该唯一标识信息相关的测试用例,即并非所有历史测试用例均为唯一标识信息相关的测试用例,从而实现相关测试用例的去重。该唯一标识信息包括URL、请求路径和请求方法。
此处,目标基准测试用例用于供与自动生成的目标测试用例进行差异度计算。该目标基准测试用例在一个请求信息对应的至少一个历史测试用例中是固定的,即只有请求信息变化大了,目标基准测试用例才会变化;换言之,该目标基准测试用例为该请求信息对应的基准测试用例。
可以理解的是,目标基准测试用例为确定基于该请求信息从测试用例集中未查询到历史测试用例时,自动生成的测试用例;即目标基准测试用例为至少一个历史测试用例中第一个添加至测试用例集,且为请求信息对应的测试用例。例如,测试用例集以数据库进行表征,则目标基准测试用例为第一个入库的,且为请求信息对应的测试用例。
在一具体实施例中,基于基准置信度,从该至少一个历史测试用例中确定出基准置信度对应的目标基准测试用例,即目标基准测试用例的置信度为基准置信度。
步骤130,基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度。
此处,目标置信度用于表征目标测试用例与目标基准测试用例的差别程度。可以目标置信度越高则差别程度越大,也可以目标置信度越高则差别程度越小。
具体地,可以直接将该目标差异度计算结果确定为目标置信度,也可以对该目标差异度计算结果做进一步的数据处理得到目标置信度。
在一实施例中,可以对目标差异度计算结果做归一化处理,得到目标置信度,以更为准确地表征目标测试用例与目标基准测试用例的差别程度,进而更为准确地实现用例的去重。
在一实施例中,可以对目标差异度计算结果做取整处理,得到目标置信度,以更为准确地表征目标测试用例与目标基准测试用例的差别程度,进而更为准确地实现用例的去重。
在一些实施例中,目标差异度计算结果是基于如下步骤确定:获取目标基准测试用例对应的第一请求体信息,以及该请求信息中的第二请求体信息;基于第一请求体信息与第二请求体信息的差异度计算结果,确定目标差异度计算结果。例如,第一请求体信息和第二请求体信息为body。
在一实施例中,将第一请求体信息与第二请求体信息的差异度计算结果直接确定为目标差异度计算结果。在另一实施例中,将第一请求体信息与第二请求体信息的差异度计算结果进一步数据处理得到目标差异度计算结果。
在一实施例中,对第一请求体信息进行提取得到第一N维数组,并对第二请求体信息进行提取得到第二N维数组,计算第一N维数组与第二N维数组的N个差异度计算结果,该N个差异度计算结果中任一差异度计算结果为第一N维数组中的第一数据与第二N维数组中该第一数据对应的第二数据的差异度计算结果;基于该N个差异度计算结果的第二聚合结果,确定第一请求体信息与第二请求体信息的差异度计算结果。更为具体地,可以直接将该第二聚合结果确定为第一请求体信息与第二请求体信息的差异度计算结果,也可以对该第二聚合结果进一步数据处理得到第一请求体信息与第二请求体信息的差异度计算结果。
步骤140,确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集。
可以理解的是,至少一个历史测试用例中各历史测试用例均有相应的置信度,且其置信度的计算方式与目标置信度的计算方式基本相同,此处不再一一赘述。
例如,测试用例集为数据库,则将目标测试用例***数据库。进一步地,置信度为唯一键,从而使相同置信度的测试用例无法重复入库,进而实现用例的去重。
进一步地,确定该至少一个历史测试用例中存在置信度与目标置信度相同的测试用例,不做任何处理。即相同置信度表明二者用例相似度高,进而不将重复的且为后面自动生成的目标测试用例添加至测试用例集,最终实现用例的去重。换言之,相同置信度表明二者用例与目标基准测试用例的差别程度一样,进而表明二者用例相似度高。
进一步地,在上述步骤140之后,存储目标测试用例的目标置信度,换言之,将目标测试用例的置信度设为该目标置信度。
步骤150,确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度。
在上述步骤150之前,基于请求信息,查询测试用例集,以查询测试用例集中是否存在请求信息对应的历史测试用例。
在一实施例中,基于请求信息中的唯一标识信息,查询测试用例集,以查询测试用例集中是否存在唯一标识信息对应的历史测试用例。该唯一标识信息包括URL、请求路径和请求方法。
此处,基准测试用例用于供与自动生成的目标测试用例进行差异度计算。该基准测试用例与请求信息一一对应。进一步地,基准测试用例与唯一标识信息一一对应。
可以理解的是,基准测试用例为第一个添加至测试用例集,且为请求信息对应的测试用例。例如,测试用例集以数据库进行表征,则基准测试用例为第一个入库的,且为请求信息对应的测试用例。
其中,测试用例集中各测试用例用于对待测试***进行测试,未添加至测试用例集的测试用例去除,即未添加至测试用例集的测试用例不用于对待测试***进行测试。
此处,基准置信度为基准测试用例的置信度。若置信度越高差别程度越大则基准置信度为最小值,例如置信度的区间为0-100,则基准置信度为0;若置信度越高差别程度越小则基准置信度为最大值,例如置信度的区间为0-100,则基准置信度为100。
本发明实施例提供的测试用例生成方法,基于请求信息和其对应的响应信息,自动生成目标测试用例,从而减少人力成本,并提高目标测试用例的生成准确性,以提高测试的全面性;若确定基于请求信息从测试用例集中查询到至少一个历史测试用例,从该至少一个历史测试用例中确定出目标基准测试用例,以基于目标基准测试用例与该目标测试用例的目标差异度计算结果,确定目标测试用例的目标置信度,若确定至少一个历史测试用例中不存在置信度与该目标置信度相同的测试用例,将目标测试用例添加至测试用例集,以供后续基于添加的目标测试用例进行***测试,相应地,若确定该至少一个历史测试用例中存在置信度与目标置信度相同的测试用例,不做任何处理,即相同置信度表明二者用例相似度高,进而不将重复的且为后面自动生成的目标测试用例添加至测试用例集,最终实现用例的去重,且该去重方式只需要计算目标基准测试用例与目标测试用例的差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率;若确定基于请求信息从测试用例集中未查询到历史测试用例,将该目标测试用例添加至测试用例集,即在无请求信息对应的历史测试用例时可以直接将该目标测试用例添加至测试用例集,无需计算差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率,并将目标测试用例设为请求信息对应的基准测试用例,以及将目标测试用例的置信度设为基准置信度,以供后续生成新的测试用例时可以执行上述去重处理。
基于上述任一实施例,该方法中,上述步骤130包括:
基于所述目标差异度计算结果与所述目标基准测试用例对应的最大差异度计算结果的比值,确定所述目标测试用例的目标置信度。
具体地,可以直接将该比值确定为目标置信度,也可以对该比值做进一步数据处理得到目标置信度。
可以理解的是,计算该比值,即对目标差异度计算结果做归一化处理,以更为准确地表征目标测试用例与目标基准测试用例的差别程度,进而更为准确地实现用例的去重。该比值的范围为0-1。
在一实施例中,可以对该比值做取整处理,得到目标置信度,以更为准确地表征目标测试用例与目标基准测试用例的差别程度,进而更为准确地实现用例的去重。例如,将该比值与100相乘得到目标置信度。
示例性的,目标置信度的计算公式如下所示:
D=d(x,y)/d(x,0)*100;
式中,D表示目标置信度,d(x,y)表示目标差异度计算结果,d(x,0)表示最大差异度计算结果。
其中,所述最大差异度计算结果为所述目标基准测试用例与第一测试用例的差异度计算结果,所述第一测试用例为与所述目标基准测试用例差异度最大的测试用例,所述目标差异度计算结果越大则所述目标基准测试用例与所述目标测试用例的差异度越大。
此处,目标基准测试用例与第一测试用例的差异度计算结果的计算方式可以参考上述差异度计算结果的计算方式,此处不再一一赘述。
在本实施例中,若目标置信度越高则目标基准测试用例与目标测试用例差别程度越大。
本发明实施例提供的测试用例生成方法,基于目标差异度计算结果与目标基准测试用例对应的最大差异度计算结果的比值,确定目标测试用例的目标置信度,从而对目标差异度计算结果做归一化处理,以更为准确地表征目标测试用例与目标基准测试用例的差别程度,且所有测试用例的置信度均为归一化值,以供更为准确地确定是否存在相同置信度的测试用例,从而提高用例去重的准确性。
基于上述任一实施例,该方法中,所述最大差异度计算结果是基于如下步骤确定:
获取所述目标基准测试用例对应的第一请求体信息;
对所述第一请求体信息进行提取得到第一N维数组;
分别计算所述第一N维数组中各数据与0的最大子差异度计算结果;
基于N个所述最大子差异度计算结果的第一聚合结果,确定所述最大差异度计算结果。
示例性的,第一请求体信息为body。
此处,第一N维数组包括N个数据。例如,第一N维数组为Q=(x1, x2,..... xN)。
在一具体实施例中,对第一请求体信息经过代码处理,将其抽象为一个N维数组。
具体地,可以直接将该第一聚合结果确定为最大差异度计算结果,也可以对该第一聚合结果做进一步数据处理得到最大差异度计算结果。
示例性的,第一聚合结果的计算公式如下所示:
;
式中,表示第一聚合结果,/>表示第一N维数组,N表示第一N维数组的维数。
可以理解的是,可以将第一N维数组抽象为N维坐标中的点,从而将第一测试用例对应的N维数组抽象为坐标原点,进而简单快速地确定最大差异度计算结果,且可以计算两个点的欧拉距离,进而简单快速地确定最大差异度计算结果。
进一步地,N表示第一请求体信息的字段数量,第一N维数组中的任一数据用于表征第一请求体信息中的任一字段信息。
更进一步地,基于各字段信息的权重值,对N个最大子差异度计算结果进行加权聚合处理,得到该第一聚合结果;基于该第一聚合结果,确定最大差异度计算结果。
具体地,可以直接将该第一聚合结果确定为最大差异度计算结果,也可以对该第一聚合结果做进一步数据处理得到最大差异度计算结果。
示例性的,第一聚合结果的计算公式如下所示:
;
式中,表示第一聚合结果,/>表示第一N维数组,N表示第一N维数组的维数,/>至/>表示各字段信息的权重值。
可以理解的是,权重值的数量与第一请求体信息的字段数量相同,即第一请求体信息中每一字段对应一个权重值。基于各字段信息的权重值,对N个最大子差异度计算结果进行加权聚合处理,从而考虑了不同字段的权重,进而更为准确地确定最大差异度计算结果,从而更为准确地确定目标测试用例的目标置信度,进而提高用例去重的准确性,最终进一步提高测试用例的生成准确性。
本发明实施例提供的测试用例生成方法,通过上述方式简单快速地确定最大差异度计算结果,从而基于目标差异度计算结果与目标基准测试用例对应的最大差异度计算结果的比值,更为准确地确定目标测试用例的目标置信度,从而更为准确地对目标差异度计算结果做归一化处理,以更为准确地表征目标测试用例与目标基准测试用例的差别程度,且所有测试用例的置信度均为归一化值,以供更为准确地确定是否存在相同置信度的测试用例,从而提高用例去重的准确性,最终进一步提高测试用例的生成准确性。
基于上述任一实施例,图2是本发明实施例提供的测试用例生成方法的流程示意图之二,如图2所示,所述目标差异度计算结果是基于如下步骤确定:
步骤210,获取所述目标基准测试用例对应的第一请求体信息,以及所述请求信息中的第二请求体信息。
示例性的,第一请求体信息和第二请求体信息为body。
步骤220,对所述第一请求体信息进行提取得到第一N维数组,并对所述第二请求体信息进行提取得到第二N维数组,其中,N表示第一请求体信息的字段数量,所述第一N维数组中的任一数据用于表征所述第一请求体信息中的任一字段信息。
此处,第一N维数组包括N个数据,第二N维数组也包括N个数据。例如,第一N维数组为Q=(x1, x2,..... xN),第二N维数组为P=(y1, y2,..... yN )。N还表示第二请求体信息的字段数量,第二N维数组中的任一数据用于表征第二请求体信息中的任一字段信息。
在一具体实施例中,对第一请求体信息经过代码处理,将其抽象为一个N维数组;对第二请求体信息经过代码处理,将其抽象为一个N维数组。
可以理解的是,将请求体信息提取为与请求体信息的字段数量匹配的N维数组,以便于后续在更高维度进行差异度计算,从而提高目标差异度计算结果的计算准确性,进而提高用例去重的准确性,最终进一步提高测试用例的生成准确性。
步骤230,计算所述第一N维数组与所述第二N维数组的N个差异度计算结果,所述N个差异度计算结果中任一差异度计算结果为所述第一N维数组中的第一数据与所述第二N维数组中所述第一数据对应的第二数据的差异度计算结果。
步骤240,基于所述N个差异度计算结果的第二聚合结果,确定所述目标差异度计算结果。
具体地,可以直接将该第二聚合结果确定为目标差异度计算结果,也可以对该第二聚合结果做进一步数据处理得到目标差异度计算结果。
示例性的,第二聚合结果的计算公式如下所示:
;
式中,表示第二聚合结果,/>表示第一N维数组,/>表示第二N维数组,N表示第一N维数组的维数,N还表示第二N维数组的维数。
可以理解的是,可以将N维数组抽象为N维坐标中的点,从而将N维数组抽象为坐标原点,进而简单快速地确定目标差异度计算结果,且可以计算两个点的欧拉距离,进而简单快速地确定目标差异度计算结果。
本发明实施例提供的测试用例生成方法,通过上述方式简单快速地确定目标差异度计算结果,从而更为准确地确定目标测试用例的目标置信度,进而提高用例去重的准确性,最终进一步提高测试用例的生成准确性。
基于上述任一实施例,该方法中,上述步骤240包括:
基于各字段信息的权重值,对所述N个差异度计算结果进行加权聚合处理,得到所述第二聚合结果;
基于所述第二聚合结果,确定所述目标差异度计算结果。
考虑到每个接口在定义的时候,都会依据一些字段进行逻辑计算,且考虑到不同字段含义不同,基于此,预先设定各字段信息的权重值,以供进行加权聚合处理。不同字段信息的权重值可能不同。
示例性的,第二聚合结果的计算公式如下所示:
;
式中,表示第二聚合结果,/>表示第一N维数组,/>表示第二N维数组,N表示第一N维数组的维数,N还表示第二N维数组的维数,/>至/>表示各字段信息的权重值。
可以理解的是,权重值的数量与请求体信息的字段数量相同,即请求体信息中每一字段对应一个权重值。
本发明实施例提供的测试用例生成方法,基于各字段信息的权重值,对N个差异度计算结果进行加权聚合处理,从而考虑了不同字段的权重,进而更为准确地确定目标差异度计算结果,从而更为准确地确定目标测试用例的目标置信度,进而提高用例去重的准确性,最终进一步提高测试用例的生成准确性。
基于上述任一实施例,该方法中,上述步骤110包括:
接收请求方设备发送的网络流量,将所述网络流量发送至与待测试***相同的线上***,以使所述线上***基于所述网络流量生成响应信息,所述网络流量包括请求信息;
接收所述线上***发送的所述响应信息;
基于所述请求信息和所述响应信息,生成目标测试用例。
此处,请求方设备为调用方设备,即用于向待测试***发送请求的设备。请求方设备发送的网络流量即线上流量,其包括请求信息,以用于向待测试***发送请求。
此处,线上***与待测试***相同,即可以克隆待测试***得到线上***,以利用线上***实现测试用例的生成,从而在生成测试用例的同时,不会影响待测试***,进而提高待测试***的可靠性和稳定性。该线上***用于响应请求信息并生成响应信息。对于线上***而言,线上***基于网络流量生成响应信息,并发送响应信息至本发明实施例的执行主体。
在一实施例中,依据切流开关,获取请求方设备发送的网络流量。更为具体地,修改请求方设备中切流开关相关的配置文件,将其网络流量的发送地址修改为本发明实施例的执行主体,以供请求方设备将网络流量发送至该执行主体。且该执行主体具有流量转发功能,以将网络流量转发至线上***。
进一步地,可以将请求信息和响应信息进行封装,并基于封装的信息生成目标测试用例。例如,将请求报文和响应报文进行封装。
可以理解的是,将线上海量流量打到本实施例的执行主体,可以自动生成测试用例。
本发明实施例提供的测试用例生成方法,接收请求方设备发送的网络流量,将网络流量发送至与待测试***相同的线上***,以使线上***基于网络流量生成响应信息,并接收线上***发送的响应信息,以基于请求信息和响应信息,生成目标测试用例,从而在生成目标测试用例的同时,不会影响待测试***,进而提高待测试***的可靠性和稳定性。
基于上述任一实施例,该方法中,所述基于所述请求信息和所述响应信息,生成目标测试用例,包括:
将所述响应信息发送至所述请求方设备,并异步基于所述请求信息和所述响应信息,生成目标测试用例。
具体地,将响应信息发送至请求方设备的执行过程与基于请求信息和响应信息生成目标测试用例的执行过程互不影响,从而在确保可以生成目标测试用例的同时,响应请求方设备的请求。
本发明实施例提供的测试用例生成方法,将响应信息发送至请求方设备,并异步基于请求信息和响应信息,生成目标测试用例,从而确保可以生成目标测试用例的同时,响应请求方设备的请求,互不影响确保二者的正常运行,从而提高稳定性和可靠性。
基于上述任一实施例,该方法还包括:
将所述线上***的环境信息克隆至所述待测试***,以使所述线上***与所述待测试***的环境相同;
其中,所述测试用例集中各测试用例用于对所述待测试***进行测试。
具体地,克隆线上***的线上环境至待测试***,确保线上***与线下***(待测试***)的一致性,从而确保测试的有效性和准确性。
本发明实施例提供的测试用例生成方法,将线上***的环境信息克隆至待测试***,以使线上***与待测试***的环境相同,从而确保线上***与线下***(待测试***)的一致性,进而确保基于测试用例集中各测试用例对待测试***进行测试的准确性,即确保测试的有效性和准确性。
基于上述任一实施例,该方法中,上述步骤120中,所述确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,包括:
基于所述请求信息中的唯一标识信息,从测试用例集中查询到至少一个历史测试用例;
其中,所述唯一标识信息包括统一资源定位符URL、请求路径和请求方法。
具体地,解析请求信息,得到对应的URL、请求路径和请求方法。
本发明实施例提供的测试用例生成方法,通过上述方式,至少一个历史测试用例为该唯一标识信息相关的测试用例,即并非所有历史测试用例均为唯一标识信息相关的测试用例,从而实现相关测试用例的去重,进而提高用例去重的准确性,最终提高测试用例的生成准确性。
下面对本发明提供的测试用例生成装置进行描述,下文描述的测试用例生成装置与上文描述的测试用例生成方法可相互对应参照。
图3是本发明实施例提供的测试用例生成装置的结构示意图,如图3所示,该测试用例生成装置,包括:
用例生成模块310,用于基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;
用例查询模块320,用于确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;
置信度确定模块330,用于基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;
第一用例添加模块340,用于确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;
第二用例添加模块350,用于确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度。
本发明实施例提供的测试用例生成装置,基于请求信息和其对应的响应信息,自动生成目标测试用例,从而减少人力成本,并提高目标测试用例的生成准确性,以提高测试的全面性;若确定基于请求信息从测试用例集中查询到至少一个历史测试用例,从该至少一个历史测试用例中确定出目标基准测试用例,以基于目标基准测试用例与该目标测试用例的目标差异度计算结果,确定目标测试用例的目标置信度,若确定至少一个历史测试用例中不存在置信度与该目标置信度相同的测试用例,将目标测试用例添加至测试用例集,以供后续基于添加的目标测试用例进行***测试,相应地,若确定该至少一个历史测试用例中存在置信度与目标置信度相同的测试用例,不做任何处理,即相同置信度表明二者用例相似度高,进而不将重复的且为后面自动生成的目标测试用例添加至测试用例集,最终实现用例的去重,且该去重方式只需要计算目标基准测试用例与目标测试用例的差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率;若确定基于请求信息从测试用例集中未查询到历史测试用例,将该目标测试用例添加至测试用例集,即在无请求信息对应的历史测试用例时可以直接将该目标测试用例添加至测试用例集,无需计算差异度计算结果,从而减少计算量,进而提高去重效率,最终进一步提高测试用例的生成效率,并将目标测试用例设为请求信息对应的基准测试用例,以及将目标测试用例的置信度设为基准置信度,以供后续生成新的测试用例时可以执行上述去重处理。
基于上述任一实施例,该置信度确定模块330还用于:
基于所述目标差异度计算结果与所述目标基准测试用例对应的最大差异度计算结果的比值,确定所述目标测试用例的目标置信度;
其中,所述最大差异度计算结果为所述目标基准测试用例与第一测试用例的差异度计算结果,所述第一测试用例为与所述目标基准测试用例差异度最大的测试用例,所述目标差异度计算结果越大则所述目标基准测试用例与所述目标测试用例的差异度越大。
基于上述任一实施例,该置信度确定模块330还用于:
获取所述目标基准测试用例对应的第一请求体信息;
对所述第一请求体信息进行提取得到第一N维数组;
分别计算所述第一N维数组中各数据与0的最大子差异度计算结果;
基于N个所述最大子差异度计算结果的第一聚合结果,确定所述最大差异度计算结果。
基于上述任一实施例,该置信度确定模块330还用于:
获取所述目标基准测试用例对应的第一请求体信息,以及所述请求信息中的第二请求体信息;
对所述第一请求体信息进行提取得到第一N维数组,并对所述第二请求体信息进行提取得到第二N维数组,其中,N表示第一请求体信息的字段数量,所述第一N维数组中的任一数据用于表征所述第一请求体信息中的任一字段信息;
计算所述第一N维数组与所述第二N维数组的N个差异度计算结果,所述N个差异度计算结果中任一差异度计算结果为所述第一N维数组中的第一数据与所述第二N维数组中所述第一数据对应的第二数据的差异度计算结果;
基于所述N个差异度计算结果的第二聚合结果,确定所述目标差异度计算结果。
基于上述任一实施例,该置信度确定模块330还用于:
基于各字段信息的权重值,对所述N个差异度计算结果进行加权聚合处理,得到所述第二聚合结果;
基于所述第二聚合结果,确定所述目标差异度计算结果。
基于上述任一实施例,该用例生成模块310还用于:
接收请求方设备发送的网络流量,将所述网络流量发送至与待测试***相同的线上***,以使所述线上***基于所述网络流量生成响应信息,所述网络流量包括请求信息;
接收所述线上***发送的所述响应信息;
基于所述请求信息和所述响应信息,生成目标测试用例。
基于上述任一实施例,该用例生成模块310还用于:
将所述响应信息发送至所述请求方设备,并异步基于所述请求信息和所述响应信息,生成目标测试用例。
基于上述任一实施例,该装置还包括环境克隆模块,该环境克隆模块用于:
将所述线上***的环境信息克隆至所述待测试***,以使所述线上***与所述待测试***的环境相同;
其中,所述测试用例集中各测试用例用于对所述待测试***进行测试。
基于上述任一实施例,该用例查询模块320还用于:
基于所述请求信息中的唯一标识信息,从测试用例集中查询到至少一个历史测试用例;
其中,所述唯一标识信息包括统一资源定位符URL、请求路径和请求方法。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的测试用例生成方法,例如包括:基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是,以上实施方式仅用于说明本发明,而非对本发明的限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本发明技术方案的精神和范围,均应涵盖在本发明的范围中。
Claims (9)
1.一种测试用例生成方法,其特征在于,包括:
基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;
确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;
基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;
确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;
确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度;
所述基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度,包括:
基于所述目标差异度计算结果与所述目标基准测试用例对应的最大差异度计算结果的比值,确定所述目标测试用例的目标置信度;
其中,所述最大差异度计算结果为所述目标基准测试用例与第一测试用例的差异度计算结果,所述第一测试用例为与所述目标基准测试用例差异度最大的测试用例,所述目标差异度计算结果越大则所述目标基准测试用例与所述目标测试用例的差异度越大;
所述最大差异度计算结果是基于如下步骤确定:
获取所述目标基准测试用例对应的第一请求体信息;
对所述第一请求体信息进行提取得到第一N维数组;
分别计算所述第一N维数组中各数据与0的最大子差异度计算结果;
基于N个所述最大子差异度计算结果的第一聚合结果,确定所述最大差异度计算结果;
所述目标差异度计算结果是基于如下步骤确定:
获取所述目标基准测试用例对应的第一请求体信息,以及所述请求信息中的第二请求体信息;
对所述第一请求体信息进行提取得到第一N维数组,并对所述第二请求体信息进行提取得到第二N维数组,其中,N表示第一请求体信息的字段数量,所述第一N维数组中的任一数据用于表征所述第一请求体信息中的任一字段信息;
计算所述第一N维数组与所述第二N维数组的N个差异度计算结果,所述N个差异度计算结果中任一差异度计算结果为所述第一N维数组中的第一数据与所述第二N维数组中所述第一数据对应的第二数据的差异度计算结果;
基于所述N个差异度计算结果的第二聚合结果,确定所述目标差异度计算结果。
2.根据权利要求1所述的测试用例生成方法,其特征在于,所述基于所述N个差异度计算结果的第二聚合结果,确定所述目标差异度计算结果,包括:
基于各字段信息的权重值,对所述N个差异度计算结果进行加权聚合处理,得到所述第二聚合结果;
基于所述第二聚合结果,确定所述目标差异度计算结果。
3.根据权利要求1所述的测试用例生成方法,其特征在于,所述基于请求信息和所述请求信息对应的响应信息,生成目标测试用例,包括:
接收请求方设备发送的网络流量,将所述网络流量发送至与待测试***相同的线上***,以使所述线上***基于所述网络流量生成响应信息,所述网络流量包括请求信息;
接收所述线上***发送的所述响应信息;
基于所述请求信息和所述响应信息,生成目标测试用例。
4.根据权利要求3所述的测试用例生成方法,其特征在于,所述基于所述请求信息和所述响应信息,生成目标测试用例,包括:
将所述响应信息发送至所述请求方设备,并异步基于所述请求信息和所述响应信息,生成目标测试用例。
5.根据权利要求3所述的测试用例生成方法,其特征在于,还包括:
将所述线上***的环境信息克隆至所述待测试***,以使所述线上***与所述待测试***的环境相同;
其中,所述测试用例集中各测试用例用于对所述待测试***进行测试。
6.根据权利要求1所述的测试用例生成方法,其特征在于,所述确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,包括:
基于所述请求信息中的唯一标识信息,从测试用例集中查询到至少一个历史测试用例;
其中,所述唯一标识信息包括统一资源定位符URL、请求路径和请求方法。
7.一种测试用例生成装置,其特征在于,包括:
用例生成模块,用于基于请求信息和所述请求信息对应的响应信息,生成目标测试用例;
用例查询模块,用于确定基于所述请求信息从测试用例集中查询到至少一个历史测试用例,从所述至少一个历史测试用例中确定出目标基准测试用例;
置信度确定模块,用于基于所述目标基准测试用例与所述目标测试用例的目标差异度计算结果,确定所述目标测试用例的目标置信度;
第一用例添加模块,用于确定所述至少一个历史测试用例中不存在置信度与所述目标置信度相同的测试用例,将所述目标测试用例添加至所述测试用例集;
第二用例添加模块,用于确定基于所述请求信息从测试用例集中未查询到历史测试用例,将所述目标测试用例添加至所述测试用例集,并将所述目标测试用例设为所述请求信息对应的基准测试用例,以及将所述目标测试用例的置信度设为基准置信度;
所述置信度确定模块还用于:
基于所述目标差异度计算结果与所述目标基准测试用例对应的最大差异度计算结果的比值,确定所述目标测试用例的目标置信度;
其中,所述最大差异度计算结果为所述目标基准测试用例与第一测试用例的差异度计算结果,所述第一测试用例为与所述目标基准测试用例差异度最大的测试用例,所述目标差异度计算结果越大则所述目标基准测试用例与所述目标测试用例的差异度越大;
所述置信度确定模块还用于:
获取所述目标基准测试用例对应的第一请求体信息;
对所述第一请求体信息进行提取得到第一N维数组;
分别计算所述第一N维数组中各数据与0的最大子差异度计算结果;
基于N个所述最大子差异度计算结果的第一聚合结果,确定所述最大差异度计算结果;
所述置信度确定模块还用于:
获取所述目标基准测试用例对应的第一请求体信息,以及所述请求信息中的第二请求体信息;
对所述第一请求体信息进行提取得到第一N维数组,并对所述第二请求体信息进行提取得到第二N维数组,其中,N表示第一请求体信息的字段数量,所述第一N维数组中的任一数据用于表征所述第一请求体信息中的任一字段信息;
计算所述第一N维数组与所述第二N维数组的N个差异度计算结果,所述N个差异度计算结果中任一差异度计算结果为所述第一N维数组中的第一数据与所述第二N维数组中所述第一数据对应的第二数据的差异度计算结果;
基于所述N个差异度计算结果的第二聚合结果,确定所述目标差异度计算结果。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述测试用例生成方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述测试用例生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311111966.8A CN116841913B (zh) | 2023-08-31 | 2023-08-31 | 测试用例生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311111966.8A CN116841913B (zh) | 2023-08-31 | 2023-08-31 | 测试用例生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116841913A CN116841913A (zh) | 2023-10-03 |
CN116841913B true CN116841913B (zh) | 2023-12-29 |
Family
ID=88172840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311111966.8A Active CN116841913B (zh) | 2023-08-31 | 2023-08-31 | 测试用例生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841913B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783779A (zh) * | 2021-01-28 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 测试用例的生成方法、装置、电子设备和存储介质 |
CN113190434A (zh) * | 2021-04-12 | 2021-07-30 | 成都安易迅科技有限公司 | 一种测试用例生成方法、装置、存储介质及计算机设备 |
WO2022135276A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳前海微众银行股份有限公司 | 测试用例的处理方法、装置和存储介质 |
CN114896141A (zh) * | 2022-04-24 | 2022-08-12 | 广州虎牙科技有限公司 | 测试用例的去重方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10296446B2 (en) * | 2015-11-18 | 2019-05-21 | International Business Machines Corporation | Proactive and selective regression testing based on historic test results |
-
2023
- 2023-08-31 CN CN202311111966.8A patent/CN116841913B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022135276A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳前海微众银行股份有限公司 | 测试用例的处理方法、装置和存储介质 |
CN112783779A (zh) * | 2021-01-28 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 测试用例的生成方法、装置、电子设备和存储介质 |
CN113190434A (zh) * | 2021-04-12 | 2021-07-30 | 成都安易迅科技有限公司 | 一种测试用例生成方法、装置、存储介质及计算机设备 |
CN114896141A (zh) * | 2022-04-24 | 2022-08-12 | 广州虎牙科技有限公司 | 测试用例的去重方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
改进的可靠性测试用例自动生成方法;杨杰等;杭州电子科技大学学报(自然科学版)(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116841913A (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768943B (zh) | 一种检测异常账号的方法、装置及服务器 | |
CN109460775B (zh) | 一种基于信息熵的数据填充方法及装置 | |
CN110737891A (zh) | 一种主机入侵检测方法和装置 | |
CN112148216A (zh) | 基于云服务器和数据交互的数据处理方法及*** | |
CN110380890B (zh) | 一种cdn***服务质量检测方法及*** | |
CN116841913B (zh) | 测试用例生成方法、装置、电子设备及存储介质 | |
CN113641742A (zh) | 一种数据抽取方法、装置、设备和存储介质 | |
CN112988589A (zh) | 一种接口测试方法、装置和*** | |
CN111581235A (zh) | 识别常见关联关系的方法及*** | |
CN115906048A (zh) | 一种基于终端信息的设备识别方法及*** | |
CN111694588B (zh) | 引擎升级检测方法、装置、计算机设备和可读存储介质 | |
CN115118583B (zh) | 日志查询方法、装置、电子设备及计算机可读存储设备 | |
CN114218056B (zh) | 交易***的性能测试方法、装置、计算机设备及存储介质 | |
CN116795723B (zh) | 链式单元测试处理方法、装置及计算机设备 | |
CN113778831B (zh) | 一种数据应用性能分析方法、装置、设备和介质 | |
CN112699101B (zh) | 基于存储与处理的服务器*** | |
KR102255339B1 (ko) | 인터넷 오브 미디어 정보 생성 방법 및 장치 | |
CN108933709B (zh) | 测试服务器性能的方法、装置和计算机可读存储介质 | |
CN114417065A (zh) | 信息获取方法、装置、服务器及存储介质 | |
CN116846797A (zh) | 节点极限吞吐量确定方法、***、装置、设备和介质 | |
CN117573543A (zh) | 测试数据的生成方法及装置、电子设备和存储介质 | |
CN110618906A (zh) | 漏测接口检测方法、装置、网络设备及存储介质 | |
CN117093458A (zh) | 计算机装置效能测试方法 | |
CN116610581A (zh) | 一种测试结果生成方法及装置 | |
CN113297576A (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 |