CN117609021A - 测试用例优化方法、装置及电子设备 - Google Patents
测试用例优化方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117609021A CN117609021A CN202311494384.2A CN202311494384A CN117609021A CN 117609021 A CN117609021 A CN 117609021A CN 202311494384 A CN202311494384 A CN 202311494384A CN 117609021 A CN117609021 A CN 117609021A
- Authority
- CN
- China
- Prior art keywords
- test case
- case path
- test
- path
- defect data
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 364
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000005457 optimization Methods 0.000 title description 5
- 230000007547 defect Effects 0.000 claims abstract description 151
- 238000010845 search algorithm Methods 0.000 claims abstract description 16
- 239000013598 vector Substances 0.000 claims description 83
- 230000009471 action Effects 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 4
- 238000013522 software testing Methods 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010998 test method 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请提供一种测试用例优化方法、装置及电子设备,涉及软件测试技术领域,所述方法包括:获取多个测试用例对应的测试用例路径;计算缺陷数据与测试用例路径的相似度,并将缺陷数据与测试用例路径进行匹配,确定缺陷数据与测试用例路径的匹配关系;根据匹配关系,通过蒙特卡洛树搜索算法确定测试用例路径的权重;根据测试用例路径的权重调整对测试用例路径进行测试的测试顺序。在上述设计中,通过实现缺陷数据与测试用例路径的智能匹配,能够有效地识别出可能存在缺陷的测试用例路径。同时,通过蒙特卡洛树搜索算法对测试用例路径的权重进行调整,可以调整对测试用例路径进行测试的测试顺序,从而显著提升了测试效率和缺陷识别的准确度。
Description
技术领域
本申请涉及软件测试技术领域,具体而言,涉及一种测试用例优化方法、装置及电子设备。
背景技术
目前,在进行软件测试时,通常会使用完整的测试用例和固定的缺陷权重进行测试,然而,这种测试方法在面对软件的更新和变化时,会影响测试效率,导致缺陷发现的准确率较低。
发明内容
为了至少克服现有技术中的上述不足,本申请的目的在于提供一种测试用例优化方法、装置及电子设备。
第一方面,本申请实施例提供一种测试用例优化方法,所述测试用例优化方法包括:
获取多个测试用例对应的测试用例路径,所述测试用例包括由至少一个动作节点和/或至少一个页面节点组成的测试用例路径;
将至少一个缺陷数据与所述测试用例路径分别进行向量化处理,计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系;
根据所述匹配关系,通过蒙特卡洛树搜索算法确定所述测试用例路径的权重;
根据所述测试用例路径的权重确定所述测试用例路径的优先级,并根据所述测试用例路径的优先级调整对所述测试用例路径进行测试的测试顺序。
在一种可能的实现方式中,所述获取多个测试用例对应的测试用例路径的步骤,包括:
对所述动作节点和/或所述页面节点进行向量化处理,得到节点向量;
对所述节点向量进行相似度计算,得到所述节点向量的相似度;
根据所述节点向量的相似度,合并与所述节点向量对应的所述动作节点和/或所述页面节点,得到用例多叉树,所述用例多叉树包括至少一个所述测试用例路径;
所述通过蒙特卡洛树搜索算法确定所述测试用例路径的权重的步骤,包括:
通过蒙特卡洛树搜索算法确定所述用例多叉树中的测试用例路径的权重。
在一种可能的实现方式中,所述将所述缺陷数据与所述测试用例路径分别进行向量化处理的步骤,包括:
通过生成式预训练模型分别对所述缺陷数据与所述测试用例路径进行向量化处理,得到缺陷向量及用例路径向量。
在一种可能的实现方式中,所述计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系的步骤,包括:
通过最近邻搜索技术,计算所述缺陷向量与所述用例路径向量的相似度;
根据所述缺陷向量与所述用例路径向量的相似度,将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系。
在一种可能的实现方式中,所述根据所述缺陷向量与所述用例路径向量的相似度,将所述缺陷数据与所述测试用例路径进行匹配的步骤,包括:
判断所述缺陷向量与所述用例路径向量的相似度是否大于预设阈值;
若大于,则将所述缺陷向量对应的缺陷数据与所述用例路径向量对应的测试用例路径进行匹配。
在一种可能的实现方式中,在所述将所述缺陷向量对应的缺陷数据与所述用例路径向量对应的测试用例路径进行匹配的步骤之后,所述方法还包括:
对所述缺陷数据与所述测试用例路径的匹配关系进行评估,并调整所述预设阈值。
在一种可能的实现方式中,所述获取多个测试用例对应的测试用例路径的步骤,包括:
从目标应用程序中获取多个测试用例对应的测试用例路径;
所述根据所述测试用例路径的优先级调整使用所述测试用例路径进行测试的测试顺序的步骤,包括:
根据所述测试用例路径的优先级调整使用所述测试用例路径进行测试的测试顺序,并根据所述测试顺序对所述目标应用程序的测试用例路径进行测试。
第二方面,本申请实施例还提供一种测试用例优化装置,包括:
获取模块:用于获取多个测试用例对应的测试用例路径,所述测试用例包括由至少一个动作节点和/或至少一个页面节点组成的测试用例路径;
匹配模块:用于将至少一个缺陷数据与所述测试用例路径分别进行向量化处理,计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系;
确定模块:用于根据所述匹配关系,通过蒙特卡洛树搜索算法确定所述测试用例路径的权重;
调整模块:用于根据所述测试用例路径的权重确定所述测试用例路径的优先级,并根据所述测试用例路径的优先级调整对所述测试用例路径进行测试的测试顺序。
第三方面,本申请实施例还提供一种电子设备,包括:
存储器,用于存储一个或多个程序;
处理器,当所述一个或多个程序被所述处理器执行时,实现上述第一方面提供的测试用例优化方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述第一方面提供的测试用例优化方法。
基于上述任意一个方面,本申请实施例提供的测试用例优化方法、装置及电子设备,可以通过分析缺陷数据与测试用例路径的相似度,实现缺陷数据与测试用例路径的智能匹配,从而能够有效地识别出可能存在缺陷的测试用例路径,并为后续的测试提供了有价值的参考。同时,通过蒙特卡洛树搜索算法对测试用例路径的权重进行调整,可以调整对测试用例路径进行测试的测试顺序,使测试的过程中优先执行对高风险的测试用例路径的测试,从而显著提升了测试效率和缺陷识别的准确度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要调用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本实施例提供的测试用例优化方法的流程图;
图2为本实施例提供的步骤S100的子步骤示意图;
图3为本实施例提供的步骤S200的子步骤示意图;
图4为本实施例提供的步骤S220的子步骤示意图;
图5为本实施例提供的电子设备的一种示意性结构框图;
图6为本实施例提供的测试用例优化装置的功能模块示意图。
图标:700-电子设备;710-处理器;720-计算机可读存储介质;730-测试用例优化装置;731-获取模块;732-匹配模块;733-确定模块;734-调整模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的不同特征之间可以相互结合。
本实施例提供一种可以解决上述问题的方案,下面结合附图,对本申请的具体实施方式进行详细说明。
请参照图1,图1为本实施例提供的测试用例优化方法的流程示意图,所述测试用例优化方法可以在每次测试时优先执行高风险测试用例路径的测试,从而提高缺陷发现的效率。所述方法可以包括以下步骤。
步骤S100,获取多个测试用例对应的测试用例路径,所述测试用例包括由至少一个动作节点和/或至少一个页面节点组成的测试用例路径。
在本实施例中,可以对获取的所述测试用例进行拆分,将所述测试用例拆分为至少一个动作节点和/或至少一个页面节点,并根据拆分的所述动作节点和/或所述页面节点优化所述测试用例中的冗余步骤及缺失步骤,从而得到优化后的所述测试用例路径。所述动作节点可以表示一个具体的操作,例如点击按钮、输入文本等;所述页面节点可以表示一个特定的页面状态,例如登录页面、主页面等。节点之间的关系可以表示所述测试用例的逻辑流程。
示例性地,一个登录测试用例可以被拆分为以下节点:“打开应用”(动作节点)——“登录页面”(页面节点)——“输入用户名”(动作节点)——“输入密码”(动作节点)——“点击登录按钮”(动作节点)——“主页面”(页面节点)。一个忘记密码的测试用例可以被拆分为以下节点:“打开应用”(动作节点)——“登录页面”(页面节点)——“输入用户名”(动作节点)——“输入密码”(动作节点)——“点击忘记密码按钮”(动作节点)——“忘记密码操作页面”(页面节点)。
在上述设计中,通过对所述测试用例的拆分,可以清晰地呈现出所述测试用例的执行流程以及每个节点的顺序和关系。
步骤S200,将至少一个缺陷数据与所述测试用例路径分别进行向量化处理,计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系。
经发明人研究发现,当用例系统平台积累了大量的测试用例,且缺陷管理系统中也累积了大量缺陷时,直接将缺陷与测试用例进行匹配会增加测试时长、降低每次测试的效率。因此,在本实施例中,可以将至少一个缺陷数据与所述测试用例路径分别进行向量化处理,得到所述缺陷数据与所述测试用例路径的高维向量,并根据所述缺陷数据与所述测试用例路径的高维向量计算所述缺陷数据与所述测试用例路径的相似度,确定与所述缺陷数据最相似的所述测试用例路径,从而将所述缺陷数据与所述测试用例路径进行匹配,并根据匹配关系将匹配的缺陷数据与测试用例路径关联起来。
步骤S300,根据所述匹配关系,通过蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法确定所述测试用例路径的权重。
在本实施例中,可以根据步骤S200确定的所述缺陷数据与所述测试用例路径的匹配关系,通过蒙特卡洛树搜索算法评价每条所述测试用例路径的实际价值,并在每次迭代之后自动更新所述测试用例路径的权重,使测试流程能够自适应软件的更迭和新的测试需求。
步骤S400,根据所述测试用例路径的权重确定所述测试用例路径的优先级,并根据所述测试用例路径的优先级调整对所述测试用例路径进行测试的测试顺序。
在本实施例中,可以根据步骤S300确定的所述测试用例路径的权重,确定所述测试用例路径的优先级,权重越高的所述测试用例路径就会优先执行测试。
可见,基于上述设计,本申请实施例提供的测试用例优化方法,可以通过分析所述缺陷数据与所述测试用例路径的相似度,实现所述缺陷数据与所述测试用例路径的智能匹配,从而能够有效地识别出可能存在缺陷的测试用例路径,并为后续的测试提供了有价值的参考。同时,通过蒙特卡洛树搜索算法对所述测试用例路径的权重进行调整,可以调整对所述测试用例路径进行测试的测试顺序,使测试的过程中优先执行对高风险的所述测试用例路径的测试,从而显著提升了测试效率和缺陷识别的准确度。
在一种可能的实现方式中,请参照图2,步骤S100还可以包括以下子步骤。
步骤S110,对所述动作节点和/或所述页面节点进行向量化处理,得到节点向量。
在本实施例中,可以通过生成式预训练(Generative Pre-Training,GPT)模型对所述测试用例拆分的所述动作节点和/或所述页面节点进行向量化处理,使所述动作节点和/或所述页面节点的文本信息转换为高维的词向量,从而得到所述节点向量,所述节点向量可以捕捉词语之间的语义和语法关系,更好地表示所述测试用例的执行流程。例如,动作节点“输入用户名”可以被转换为一个包含数百个元素的词向量。
步骤S120,对所述节点向量进行相似度计算,得到所述节点向量的相似度。
在本实施例中,可以通过余弦相似度等算法对步骤S110得到的各所述节点向量进行相似度计算,从而得到所述节点向量的相似度。若两个所述节点向量之间的相似度高,则表示这两个节点之间具有较强的关联,可能存在重复或非常相似的测试步骤。例如,如果两个动作节点“输入用户名”和“输入用户ID”具有高相似度,则表示这两个动作节点在功能或逻辑上具有一定的重合。
步骤S130,根据所述节点向量的相似度,合并与所述节点向量对应的所述动作节点和/或所述页面节点,得到用例多叉树,所述用例多叉树包括至少一个所述测试用例路径。
在本实施例中,可以根据步骤S120得到的所述节点向量的相似度,判断所述节点向量对应的所述动作节点和/或所述页面节点是否高度相似,若存在两个高度相似的节点,则可以将这两个节点合并为一个节点。例如,若通过相似度计算判断出动作节点“输入用户名”和动作节点“输入用户ID”是高度相似的,则可以将这两个动作节点合并为一个新的动作节点“输入用户名”。
通过合并高度相似的所述动作节点和/或所述页面节点,可以得到所述用例多叉树,所述用例多叉树可以包括至少一个优化后的所述测试用例路径。在所述用例多叉树中,每个节点都表示一个具体的测试步骤或页面,节点之间的关系可以表示所述测试用例的逻辑流程。例如,可以将登录测试用例与忘记密码的测试用例合并为用例多叉树:“打开应用”(动作节点)——“登录页面”(页面节点)——“输入用户名”(动作节点)——“输入密码”(动作节点)——【“点击登录按钮”(动作节点)——“主页面”(页面节点)】与【“点击忘记密码按钮”(动作节点)——“忘记密码操作页面”(页面节点)】。
需要说明的是,在所述用例多叉树的构建过程中,可以通过优化所述测试用例中的冗余步骤和缺失步骤,不断地对所述用例多叉树进行优化。
在通过蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法确定所述测试用例路径的权重时,可以通过蒙特卡洛树搜索算法确定所述用例多叉树中的测试用例路径的权重。
蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法可以包括四个阶段:选择(Selection)阶段、扩展(Expansion)阶段、模拟(Simulation)阶段以及回传(BackPropagation)阶段。
在选择阶段,可以从所述用例多叉树的根节点开始,通过上置信界(UpperConfidence Bound,UCB)算法在所述用例多叉树中找到一个当前最具探索价值的路径,直至找到一个叶子节点。其中,当前最具探索价值的路径可以为更可能存在缺陷的测试用例路径。UCB值可以通过以下方式计算得到:
其中,wi表示节点i获得的总奖励值,节点的奖励值与该测试步骤或状态下发现缺陷的可能性有关;ni表示节点i被访问的次数;Ni表示节点i的父节点被访问的次数;C表示控制探索和利用平衡的常数。
在扩展阶段,可以对选择阶段选择的节点进行扩展,在当前选择的节点上添加新的子节点,这些子节点可以表示从当前状态开始可能执行的所有动作。例如,若选择阶段选择的路径为“打开应用”(动作节点)——“登录页面”(页面节点)——“输入用户名”(动作节点)——“输入密码”(动作节点)——“点击登录按钮”(动作节点)——“主页面”(页面节点),则在扩展阶段可以扩展的路径为“打开应用”(动作节点)——“登录页面”(页面节点)——“输入用户名”(动作节点)——“输入密码”(动作节点)——“点击忘记密码按钮”(动作节点)——“忘记密码操作页面”(页面节点)。此时,通过选择阶段选择的路径和通过扩展阶段扩展的路径可以形成一个子用例多叉树。
在模拟阶段,可以按照一定的策略对扩展阶段形成的子用例多叉树中的测试用例路径进行测试,直到测试结束,并记录测试结果,例如,是否发现了新的缺陷、发现缺陷的数量、发现缺陷时间点。此时,还可以根据测试结果计算所述测试用例路径的奖励值,奖励值取决于所述缺陷数据与所述测试用例路径之间的匹配程度,可以根据步骤S200确定的所述缺陷数据和所述测试用例路径的匹配关系计算。若在执行特定的所述测试用例路径的测试时识别到新的缺陷,则所述测试用例路径将获得较高的奖励值。若没有发现任何缺陷,则所述测试用例路径获得较低的奖励值。
在回传阶段,可以将模拟阶段得到的奖励值回传到所有经过的节点,并更新每个节点的访问次数和奖励值总和。具体地,可以从叶子节点开始,沿着树结构向上回传,直到回到根节点。在每个经过的节点,更新节点的访问次数和奖励值总和。例如,可以增加节点的访问次数,并将模拟阶段得到的奖励值累加到节点的奖励值总和上。如此,可以在多次迭代的过程中收集每个测试步骤或状态的性能数据,并通过这些数据更新和优化所述测试用例路径的权重,从而在后续的测试中优先对更有可能发现缺陷的所述测试用例路径进行测试,提升缺陷发现的效率。
在本实施例中,蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法可以通过多轮迭代,逐步学习和评价每条测试用例路径的实际价值,对所述测试用例路径的权重进行动态更新。在每轮迭代结束后,可以根据测试结果更新所述测试用例路径的权重。具体地,若在某个测试用例路径上识别到新的缺陷,则该路径的权重将会增加。如此,在后续的测试中,权重较高的测试用例路径可以得到优先执行的机会,从而提升缺陷发现的效率。通过动态更新所述测试用例路径的权重,蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)算法可以确保每次测试优先执行高风险的测试用例路径,从而提升缺陷发现的效率。在资源和时间有限的情况下,MCTS算法可以协助测试人员做出明智的测试决策,优化测试资源的配置,从而提高测试的效率以及缺陷识别的准确度。
在一种可能的实现方式中,在将所述缺陷数据与所述测试用例路径分别进行向量化处理时,可以通过生成式预训练(Generative Pre-Training,GPT)模型分别对所述缺陷数据与所述测试用例路径进行向量化处理,得到缺陷向量及用例路径向量。
具体地,在对所述测试用例路径进行向量化处理时,可以先赋予所述测试用例路径一个唯一的标识符,例如路径ID,然后通过生成式预训练(Generative Pre-Training,GPT)模型将所述测试用例路径的文本信息转换为高维的词向量,从而得到所述用例路径向量,所述用例路径向量可以包括所述测试用例路径文本信息中的主要特征及内容。
在对所述缺陷数据进行向量化处理时,可以先对所述缺陷数据进行预处理,例如数据清洗、标准化和去除冗余信息等,以确保数据的清晰性和准确性。对所述缺陷数据的预处理完成后,可以通过生成式预训练(Generative Pre-Training,GPT)模型将所述缺陷数据的文本信息转换为高维的词向量,从而得到所述缺陷向量。
在一种可能的实现方式中,请参照图3,步骤S200还可以包括以下子步骤。
步骤S210,通过最近邻搜索(Nearest Neighbor Search)技术,计算所述缺陷向量与所述用例路径向量的相似度。
在本实施例中,可以通过所述最近邻搜索技术,在向量空间中找到与给定的所述缺陷向量最相似的所述用例路径向量。具体地,可以通过计算余弦相似度或欧几里得距离等度量方法,对所述缺陷向量与所述用例路径向量之间的相似度进行评估。在上述设计中,通过找到与所述缺陷向量相似度最高的所述用例路径向量,可以定位到与所述缺陷数据最相关的所述测试用例路径。
步骤S220,根据所述缺陷向量与所述用例路径向量的相似度,将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系。
在本实施例中,可以根据所述最近邻搜索技术的结果,将所述缺陷数据与所述测试用例路径进行匹配。其中,一个所述缺陷数据可能与多个所述测试用例路径进行匹配,一个所述测试用例路径也可能与多个所述缺陷数据进行匹配。
在一种可能的实现方式中,请参照图4,步骤S220还可以包括以下子步骤。
步骤S221,判断所述缺陷向量与所述用例路径向量的相似度是否大于预设阈值。
步骤S222,若大于,则将所述缺陷向量对应的缺陷数据与所述用例路径向量对应的测试用例路径进行匹配。
在本实施例中,可以通过所述预设阈值判断所述缺陷数据与所述测试用例路径之间的匹配程度。当所述缺陷向量与所述用例路径向量的相似度大于所述预设阈值时,则说明所述缺陷向量对应的缺陷数据与所述用例路径向量对应的测试用例路径匹配,可以将所述缺陷数据和所述测试用例路径关联起来。如此,可以为每个所述缺陷数据找到一个或多个可能相关的所述测试用例路径。
在一种可能的实现方式中,在将所述缺陷向量对应的缺陷数据与所述用例路径向量对应的测试用例路径进行匹配之后,还可以对所述缺陷数据与所述测试用例路径的匹配关系进行评估,并调整所述预设阈值。
在本实施例中,为了确保所述缺陷数据与所述测试用例路径的匹配精准度和效率,还需要对所述缺陷数据与所述测试用例路径的匹配结果进行评估。具体地,可以通过人工检查或与历史数据进行比较等方式当前的匹配结果是否合理。根据评估结果,可以不断地优化所述预设阈值,以提高匹配的准确度和效率。
在一种可能的实现方式中,获取多个测试用例对应的测试用例路径的时,可以从目标应用程序中获取多个测试用例对应的测试用例路径。
根据所述测试用例路径的优先级调整使用所述测试用例路径进行测试的测试顺序时,还可以根据所述测试顺序对所述目标应用程序的测试用例路径进行测试。
在本实施例中,所述测试用例路径可以从所述目标应用程序中获取,且在对所述目标应用程序中的所述测试用例路径进行测试时,可以根据所述测试用例路径的优先级调整使用所述测试用例路径进行测试的测试顺序,从而提升缺陷发现的效率。
基于相同的发明构思,本实施例还提供一种电子设备700,请参照图5,图5示例所述电子设备700的方框示意图。所述电子设备700包括测试用例优化装置730、计算机可读存储介质720及处理器710。
所述计算机可读存储介质720、处理器710相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述测试用例优化装置730包括多个可以软件或固件(firmware)的形式存储于所述计算机可读存储介质720中或固化在所述测试用例优化装置730的操作系统(operating system,OS)中的软件功能模块。所述处理器710用于执行所述计算机可读存储介质720中存储的可执行模块,例如所述测试用例优化装置730所包括的软件功能模块及计算机程序等。
其中,所述计算机可读存储介质720可以是,但不限于,随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)等。其中,计算机可读存储介质720用于存储程序,所述处理器710在接收到执行指令后,执行所述程序。
所述处理器710可能是一种集成电路芯片,具有信号的处理能力。上述的处理器710可以是通用处理器710,包括中央处理器710(Central Processing Unit,简称CPU)、网络处理器710(Network Processor,简称NP)等;还可以是数字信号处理器710(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器710可以是微处理器710或者该处理器710也可以是任何常规的处理器710等。
请参照图6,本申请实施例还提供了一种测试用例优化装置730。该测试用例优化装置730包括多个可以软件形式存储于计算机可读存储介质720中的功能模块。从功能上划分,所述测试用例优化装置730可以包括获取模块731、匹配模块732、确定模块733及调整模块734。其中:
所述获取模块731可用于获取多个测试用例对应的测试用例路径,所述测试用例包括由至少一个动作节点和/或至少一个页面节点组成的测试用例路径。
在本实施例中,所述获取模块731可用于执行图1所示的步骤S100,关于所述获取模块731的具体描述可参考对所述步骤S100的描述。
所述匹配模块732可用于将至少一个缺陷数据与所述测试用例路径分别进行向量化处理,计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系。
在本实施例中,所述匹配模块732可用于执行图1所示的步骤S200,关于所述匹配模块732的具体描述可参考对所述步骤S200的描述。
所述确定模块733可用于根据所述匹配关系,通过蒙特卡洛树搜索算法确定所述测试用例路径的权重。
在本实施例中,所述确定模块733可用于执行图1所示的步骤S300,关于所述确定模块733的具体描述可参考对所述步骤S300的描述。
所述调整模块734可用于根据所述测试用例路径的权重确定所述测试用例路径的优先级,并根据所述测试用例路径的优先级调整对所述测试用例路径进行测试的测试顺序。
在本实施例中,所述调整模块734可用于执行图1所示的步骤S400,关于所述调整模块734的具体描述可参考对所述步骤S400的描述。
综上所述,本申请实施例提供一种测试用例优化方法、装置及电子设备,可以通过分析缺陷数据与测试用例路径的相似度,实现缺陷数据与测试用例路径的智能匹配,从而能够有效地识别出可能存在缺陷的测试用例路径,并为后续的测试提供了有价值的参考。同时,通过蒙特卡洛树搜索算法对测试用例路径的权重进行调整,可以调整对测试用例路径进行测试的测试顺序,使测试的过程中优先执行对高风险的测试用例路径的测试,从而显著提升了测试效率和缺陷识别的准确度。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种测试用例优化方法,其特征在于,所述方法包括:
获取多个测试用例对应的测试用例路径,所述测试用例包括由至少一个动作节点和/或至少一个页面节点组成的测试用例路径;
将至少一个缺陷数据与所述测试用例路径分别进行向量化处理,计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系;
根据所述匹配关系,通过蒙特卡洛树搜索算法确定所述测试用例路径的权重;
根据所述测试用例路径的权重确定所述测试用例路径的优先级,并根据所述测试用例路径的优先级调整对所述测试用例路径进行测试的测试顺序。
2.根据权利要求1所述的测试用例优化方法,其特征在于,所述获取多个测试用例对应的测试用例路径的步骤,包括:
对所述动作节点和/或所述页面节点进行向量化处理,得到节点向量;
对所述节点向量进行相似度计算,得到所述节点向量的相似度;
根据所述节点向量的相似度,合并与所述节点向量对应的所述动作节点和/或所述页面节点,得到用例多叉树,所述用例多叉树包括至少一个所述测试用例路径;
所述通过蒙特卡洛树搜索算法确定所述测试用例路径的权重的步骤,包括:
通过蒙特卡洛树搜索算法确定所述用例多叉树中的测试用例路径的权重。
3.根据权利要求1所述的测试用例优化方法,其特征在于,所述将所述缺陷数据与所述测试用例路径分别进行向量化处理的步骤,包括:
通过生成式预训练模型分别对所述缺陷数据与所述测试用例路径进行向量化处理,得到缺陷向量及用例路径向量。
4.根据权利要求3所述的测试用例优化方法,其特征在于,所述计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系的步骤,包括:
通过最近邻搜索技术,计算所述缺陷向量与所述用例路径向量的相似度;
根据所述缺陷向量与所述用例路径向量的相似度,将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系。
5.根据权利要求4所述的测试用例优化方法,其特征在于,所述根据所述缺陷向量与所述用例路径向量的相似度,将所述缺陷数据与所述测试用例路径进行匹配的步骤,包括:
判断所述缺陷向量与所述用例路径向量的相似度是否大于预设阈值;
若大于,则将所述缺陷向量对应的缺陷数据与所述用例路径向量对应的测试用例路径进行匹配。
6.根据权利要求5所述的测试用例优化方法,其特征在于,在所述将所述缺陷向量对应的缺陷数据与所述用例路径向量对应的测试用例路径进行匹配的步骤之后,所述方法还包括:
对所述缺陷数据与所述测试用例路径的匹配关系进行评估,并调整所述预设阈值。
7.根据权利要求1所述的测试用例优化方法,其特征在于,所述获取多个测试用例对应的测试用例路径的步骤,包括:
从目标应用程序中获取多个测试用例对应的测试用例路径;
所述根据所述测试用例路径的优先级调整使用所述测试用例路径进行测试的测试顺序的步骤,包括:
根据所述测试用例路径的优先级调整使用所述测试用例路径进行测试的测试顺序,并根据所述测试顺序对所述目标应用程序的测试用例路径进行测试。
8.一种测试用例优化装置,其特征在于,包括:
获取模块:用于获取多个测试用例对应的测试用例路径,所述测试用例包括由至少一个动作节点和/或至少一个页面节点组成的测试用例路径;
匹配模块:用于将至少一个缺陷数据与所述测试用例路径分别进行向量化处理,计算所述缺陷数据与所述测试用例路径的相似度,并根据所述缺陷数据与所述测试用例路径的相似度将所述缺陷数据与所述测试用例路径进行匹配,确定所述缺陷数据与所述测试用例路径的匹配关系;
确定模块:用于根据所述匹配关系,通过蒙特卡洛树搜索算法确定所述测试用例路径的权重;
调整模块:用于根据所述测试用例路径的权重确定所述测试用例路径的优先级,并根据所述测试用例路径的优先级调整对所述测试用例路径进行测试的测试顺序。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器,当所述一个或多个程序被所述处理器执行时,实现如权利要求1-7中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311494384.2A CN117609021A (zh) | 2023-11-09 | 2023-11-09 | 测试用例优化方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311494384.2A CN117609021A (zh) | 2023-11-09 | 2023-11-09 | 测试用例优化方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117609021A true CN117609021A (zh) | 2024-02-27 |
Family
ID=89950597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311494384.2A Pending CN117609021A (zh) | 2023-11-09 | 2023-11-09 | 测试用例优化方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117609021A (zh) |
-
2023
- 2023-11-09 CN CN202311494384.2A patent/CN117609021A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190362222A1 (en) | Generating new machine learning models based on combinations of historical feature-extraction rules and historical machine-learning models | |
JP3209163B2 (ja) | 分類装置 | |
CN111966912B (zh) | 基于知识图谱的推荐方法、装置、计算机设备及存储介质 | |
CN114730618A (zh) | 用于设计期望有机分子的有机合成途径的系统和方法 | |
US20220261400A1 (en) | Fast, approximate conditional distribution sampling | |
Sánchez et al. | Mutual information-based feature selection and partition design in fuzzy rule-based classifiers from vague data | |
CN115699044A (zh) | 软件项目的风险评估方法、装置、计算机设备、存储介质 | |
CN115577858A (zh) | 基于区块链的碳排放量预测方法、装置及电子设备 | |
CN112783513B (zh) | 一种代码风险检查方法、装置及设备 | |
CN110472659A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN116049733A (zh) | 基于神经网络的效能评估方法、系统、设备与存储介质 | |
CN116561338A (zh) | 工业知识图谱生成方法、装置、设备及存储介质 | |
CN117609021A (zh) | 测试用例优化方法、装置及电子设备 | |
CN114139636B (zh) | 异常作业处理方法及装置 | |
CN115344386A (zh) | 基于排序学习的云仿真计算资源预测方法、装置和设备 | |
CN114896418A (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN104572820A (zh) | 模型的生成方法及装置、重要度获取方法及装置 | |
CN115203556A (zh) | 一种评分预测模型训练方法、装置、电子设备及存储介质 | |
CN111026661B (zh) | 一种软件易用性全面测试方法及系统 | |
CN115687034A (zh) | 一种业务系统平面可用性判定方法和装置 | |
CN113672496A (zh) | 一种基于余弦相似度的测试方法及系统 | |
CN116226297B (zh) | 数据模型的可视化搜索方法、系统、设备及存储介质 | |
CN117851612B (zh) | 基于图嵌入的卫星故障诊断方法、装置、设备及存储介质 | |
CN117632747A (zh) | 基于度惩罚的知识图谱补全模型缺陷检测方法和装置 | |
CN117724966A (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 |