CN114691525A - 测试用例的选择方法及装置 - Google Patents

测试用例的选择方法及装置 Download PDF

Info

Publication number
CN114691525A
CN114691525A CN202210445352.2A CN202210445352A CN114691525A CN 114691525 A CN114691525 A CN 114691525A CN 202210445352 A CN202210445352 A CN 202210445352A CN 114691525 A CN114691525 A CN 114691525A
Authority
CN
China
Prior art keywords
data
test
case
test case
demand
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
Application number
CN202210445352.2A
Other languages
English (en)
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.)
Shanghai Hode Information Technology Co Ltd
Original Assignee
Shanghai Hode Information Technology 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 Shanghai Hode Information Technology Co Ltd filed Critical Shanghai Hode Information Technology Co Ltd
Priority to CN202210445352.2A priority Critical patent/CN114691525A/zh
Publication of CN114691525A publication Critical patent/CN114691525A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供测试用例的选择方法及装置,其中所述测试用例的选择方法包括:接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。

Description

测试用例的选择方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种测试用例的选择方法。本申请同时涉及一种测试用例的选择装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
目前,为了保证应用在上线后的运行质量,提升用户使用体验,在应用上线前通常会对应用进行测试,从而确定应用的各项功能可以按需求设定的方式正常使用。
然而,通常测试中会使用较大数量的测试用例,并且需要较多的人力与时间完成测试,造成测试效率较低、测试成本较高等问题。
因此,如何准确、高效的选取测试用例用于应用的测试成为本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例提供了一种测试用例的选择方法。本申请同时涉及一种测试用例的选择装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的用于测试的测试用例数量大,测试成本高,测试效率低的问题。
根据本申请实施例的第一方面,提供了一种测试用例的选择方法,包括:
接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;
基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;
根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;
获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。
根据本申请实施例的第二方面,提供了一种测试用例的选择装置,包括:
接收模块,被配置为接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;
第一确定模块,被配置为基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;
生成模块,被配置为根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;
获取模块,被配置为获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述测试用例的选择方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述测试用例的选择方法的步骤。
本申请提供的测试用例的选择方法,接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。
本申请一实施例实现了将包含需求数据以及测试用例数据的需求测试数据输入至用例评分模型,实现了对需求数据和测试用例数据之间关系的建立,提升了后续计算用例质量分数的准确度;获取用例评分模型输出的用例质量分数,实现了基于用例质量分数选取测试用例用于测试,从而降低了后续应用测试的测试成本,提高测试效率。
附图说明
图1是本申请一实施例提供的一种测试用例的选择方法的流程图;
图2是本申请一实施例提供的一种应用于选择应用A测试用例的测试用例选择方法的处理流程图;
图3是本申请一实施例提供的一种应用于用例评分模型G的模型训练方法的处理流程图;
图4是本申请一实施例提供的一种测试用例的选择装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
测试用例:是为了某个特殊的目标而编制的一组测试输入、执行条件以及预期结果,用于核实软件产品是否满足需求。
回归测试:回归测试指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或其他代码产生的错误。
FM模型:FM(Factorization Machine)模型是一种基于矩阵分解的机器学习模型,对于稀疏数据具有很好的学习能力。
DSSM模型:DSSM(Deep Structured Semantic Model)模型是利用深度神经网络把文本(句子,Query,实体等)表示成向量,应用于文本相似度匹配场景下的一个算法。
降采样:从原始数据集中取出一个子集用于训练。
笛卡尔乘积:两个集合X和Y的笛卡尔积,又称直积,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
独热编码:即one-hot编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有其独立的寄存器位,并且在任意时候,其中只有一位有效。
标签编码:根据字符串形式的特征值在特征序列中的位置,为其指定一个数字标签。
归一化:将数据映射到0~1的范围内。
二元交叉熵:二元交叉熵(Binary cross entropy)是二分类问题中常用的一个损失函数。
批大小:一次训练所选取的样本数。
学习率:梯度下降算法中迭代步长。
隐向量维度:FM算法中,将交叉项参数矩阵分解后得到的向量的维度。
当前,为了保证应用的质量、提升用户体验,通常在应用上线前会对其进行测试;一般测试要包含上千条测试用例,需要较多的时间和人力去进行测试,测试效率较低。
为了解决上述问题,目前常采用集成学习的方式推荐测试用例;然而采用集成学习的方式具有一定的局限性,即仅考虑了测试用例本身的属性,而没有考虑需求对测试用例的影响。
但在实际应用中,不同需求作用下测试用例产生缺陷的概率不同;本申请的方案,同时考虑了需求以及测试用例,提升了模型筛选出测试用例的准确性。
在本申请中,提供了一种测试用例的选择方法,本申请同时涉及一种测试用例的选择装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种测试用例的选择方法的流程图,具体包括以下步骤:
步骤102:接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合。
在实际应用中,为了使开发的应用在上线后可以正常使用,保证用户的使用体验,在应用上线前通常会对应用进行测试;如,对应用进行版本更新后上线前的回归测试,再如,对新开发的应用在应用上线前进行的测试等。
其中,目标应用是指需要进行测试的应用,如音乐应用、视频应用等等;应用测试请求是指对目标应用进行测试的请求,如,对需要上线使用的视频应用进行测试的请求。
应用测试请求中可以包含目标应用的应用标识,基于应用标识可以获取目标应用对应的需求数据以及测试用例数据集合。其中,需求数据是指根据用户对目标应用的需求生成的数据,如,目标应用为视频数据,则需求数据可以是在视频中展示视频弹幕的需求。
具体的,需求数据可以是一条数据,或由需求子数据组成的数据集合,如,需求数据可以是在视频应用中增加视频评论功能,再如,需求数据可以是包含需求子数据“在视频应用中增加弹幕展示功能”以及需求子数据“增加视频分屏展示功能”的数据集合。
需求数据可以是由需求名称数据、需求分类数据、需求迭代数据、需求优先级数据以及需求开发人员数据中的一种或多种数据组成。
其中,需求名称数据是指需求数据对应的名称,如,需求1、需求2等等;需求分类数据是指需求数据对应的分类,如,需求数据A为视频类型需求、需求数据B为拍照类型需求等等;需求迭代数据是指需求数据的版本信息,如,需求数据A为第一版本的需求数据,需求数据B为第二版本的需求数据等等;需求优先级是指需求数据的优先级,如需求数据A的优先级为1,需求数据B的优先级为2等等;需求开发人员数据是指创建需求数据的开发人员的属性信息,如,需求数据A的开发人员信息为管理人员a,需求数据B的开发人员信息为管理人员b。
测试用例数据集合是指由测试用例对应的测试用例数据组成的集合,如,测试用例数据集合中包含对视频应用的登录功能进行测试的测试用例数据。在实际应用中,测试用例数据集合可以是指一个测试用例库,测试人员可以从测试用例库中选取测试用例用于测试,或将测试用例库中的每条数据均用于测试。
测试用例数据集合中的测试用例数据可以由用例标识数据、用例名称数据、用例优先级数据、用例归类数据、用例类型数据、用例目录数据、用例自动化执行状态数据、用例执行条件数据、用例测试人员数据和用例测试结果数据中的一种或多种数据组成。
其中,用例标识数据是指可唯一标识一条测试用例的字段,如,测试用例A的用例ID为“e123”;用例名称数据是指测试用例的名称,如,测试用例B的名称为“用例5”;用例优先级是指测试用例的优先级,如测试用例A的优先级为1、测试用例B的优先级为2;用例归类数据是指测试人员基于业务需求为用例添加的归类标签,如,测试用例A的用例类型数据为核心标签、全量标签、非实验标签等;用例类型数据是指测试用例的测试目的类型,如,测试用例B的用例类型为安全测试类型、性能测试类型、功能性测试类型等;用例目录数据是指测试用例需要测试的页面、程序模块等数据组成的目录数据,如,测试用例的用例目录数据为可用于对应用的评论、收藏等应用功能进行测试;用例自动化执行状态数据是指测试用例是指标识测试用例是否可以自动化执行的数据,如,测试用例A的标识“Y”标识测试用例A可以自动化执行;用例执行条件数据是指测试用例执行需要到达的环境条件数据,如,执行测试用例B可以在线上环境中执行,执行测试用例G可以在沙盒环境中执行等等;用例测试人员数据是指使用测试对应用进行测试的用户的属性信息,如,测试用例B的测试人员数据为测试人员姓名“张三”;用例测试结果数据是指使用测试用例对应用进行测试得到的测试成功或测试失败的数据。
为了保证是对待测试的应用版本进行测试,需要获取待测试版本对应的需求数据,即基于所述应用测试请求确定所述目标应用对应的需求数据的方法可以包括:
解析所述应用测试请求获得待测试版本信息;
基于所述待测试版本信息获取与所述目标应用对应的需求数据。
其中,待测试版本信息是指目标应用需要测试的版本的信息;如,需要对视频应用的2.0版本进行测试,则待测试版本信息为2.0版。
具体的,可以在目标应用对应的需求文件中解析得到待测试版本信息对应的需求数据,还可以基于待处理版本信息在需求数据库中获取与待测试版本信息对应的需求数据,本申请不做具体限定。
例如,解析针对视频应用的应用测试请求,得到待测试版本信息3.0;基于待测试版本信息在需求数据库中查询与待测试版本信息3.0对应的需求数据,作为视频应用的需求数据。
在获取到需求数据以及测试用例数据集合后,可以将需求数据和测试用例数据集合按照版本信息存储至对应的文件夹中,需要注意的是,由于同一应用在安卓端和ios端的需求存在不同,故可以将安卓端的需求数据以及ios端的需求数据分开存放。
进一步地,在获取到需求数据以及测试用例数据集合后,需要对需求数据以及测试用例数据集合进行预处理,即基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合之后,还可以包括:
检测所述需求数据以及所述测试用例数据集合中的测试用例数据是否存在数据空缺;
若是,则基于预设数据补充规则对所述需求数据和/或所述测试用例数据进行补充。
具体的,由于开发人员在撰写需求文档或测试用例时,可能会存在遗漏数据未填写的情况,为了解决上述问题,本申请的方案会对数据空缺进行检测,在存在数据空缺的情况下,对空缺部分按预设数据补充规则进行填充,或删除存在空缺的数据。
其中,预设数据补充规则是指对出现数据空缺的数据进行数据填充的规则;数据空缺是指需求数据或测试用例数据中缺少数据内容;如,一条需求数据可以包含需求名称数据、需求分类数据、需求迭代数据、需求优先级数据以及需求开发人员数据,若检测到需求分类为空缺,则可以删除此条需求数据,若检测到需求优先级为空缺,则可以添加0,若检测到需求开发人员数据,则可以添加未名,若检测到需求迭代为空缺,则可以添加空字符串。
再如,测试用例数据中可以包含用例标识数据、用例名称数据、用例优先级数据、用例归类数据、用例类型数据、用例目录数据、用例自动化执行状态数据、用例执行条件数据、用例测试人员数据和用例测试结果,若检测到用例执行条件数据为空缺,则填充线上;若检测到用例归类数据为空缺,则填充核心;若检测到用例自动化执行状态数据为空缺,则填充待确定;若检测到用例优先级数据为空,则填充未知;若检测到用例类型数据为空缺,则填充确定。
通过对需求数据以及测试用例数据集合中的测试用例数据进行补充,保证需求数据以及测试用例数据的完整性。
步骤104:基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合。
在获取到需求数据和测试用例数据集合后,由于测试用例数据集合中的数据较多,不利于后续测试用例的选择,故可以基于需求数据在测试用例集合中确定部分与需求数据相关的测试用例数据组成测试用例子集合,其中,测试用例子集合是指基于需求数据在测试用例数据集合中筛选出的测试用例数据组成的测集合。
在实际应用中,基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合的方法可以包括:
提取所述需求数据以及所述测试用例数据集合中每个测试用例数据中的关键词,获得所述需求数据对应的需求标签以及每个测试用例对应的测试标签;
基于所述需求标签和每个测试标签确定测试用例数据子集合。
具体的,可以基于预设分词策略对需求数据以及测试用例数据进行分词处理,并删除分词中的停用词和标点符号,即提取需求数据以及测试用例数据中的关键词,其中,停用词是指预先设定的对语义产生的影响较小的字符,如“的”、“了”等等;例如,可以对需求数据和测试用例数据进行中文分词,并删除分词后数据中的停用词和标点符号。
在提取到需求数据或测试用例数据中的关键词后,可以预设拼接规则以及关键词生成数据对应的标签,例如,对需求数据A进行分词处理,得到“增加”、“弹幕”、“功能”,基于预设拼接规则对分词进行组合生成需求内容标签“增加弹幕功能”。
实际应用中,可以基于预先训练好的模型对需求数据或测试用例数据进行分词以及分词的拼接处理,得到需求标签以及测试标签。
在获得需求标签以及测试标签后,可通过确定需求标签与测试标签是否存在关联来确定测试标签是否可以进行后续的使用。
具体的,基于所述需求标签和每个测试标签确定测试用例数据子集合的方法可以包括:
基于每个测试标签与需求标签的相似度,确定与所述需求标签对应的目标测试标签;
基于所述目标测试标签生成测试用例数据子集合。
具体的,分别计算每个测试标签与需求标签的相似度,选取相似度大于预设相似度阈值的测试标签作为目标测试标签,或基于相似度对测试标签进行排序得到测试标签序列,在测试标签序列中获取与预设数量的测试标签作为目标测试标签;在确定目标测试标签后,由目标测试标签组成测试用例数据子集合。
在实际应用中,还可以确定测试标签与需求标签之间是否存在交集,将与需求数据存在交集的测试标签作为目标测试标签,并生成测试用例数据子集合。
通过根据需求数据在测试用例数据集合中确定测试用例数据子集合,以便缩小测试用例数据的范围,提升后续的筛选效率。
步骤106:根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型。
其中,需求测试数据是指根据需求数据和测试用例数据进行拼接得到的数据,用于输入至用例评分模型。
在实际应用中,根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据的方法可以包括:
将所述需求数据对应的需求标签分别与所述测试用例数据子集合中的每个需求测试用例对应的测试标签进行拼接,获得每个需求测试用例对应的需求测试数据。
具体的,在确定需求数据对应的需求标签以及测试用例数据对应的测试标签后,可以通过预设拼接规则对需求标签和对应的测试标签进行拼接,得到需求测试数据,预设拼接规则可以是笛卡尔乘积,如,计算需求标签A“分词1、分词2”与测试标签B“分词a、分词b”的笛卡尔乘积,得到的需求测试数据为“分词1、分词a”、“分词1、分词b”、“分词1、分词a”和“分词2、分词b”四条需求测试数据。
进一步地,根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据之前,还包括:
确定测试用例数据集合中每个测试用例数据中的用例测试结果数据;在用例测试结果数据为测试成功的情况下,则根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据;在确定目标测试用例数据的用例测试结果为测试失败的情况下,则确定需求数据中的每个需求子数据,并基于目标测试用例数据和每个需求子数据生成需求测试数据。即无需确定目标测试用例数据与每个需求子数据之间是否存在关联。
进一步地,在不限制需求测试数据的数量的情况下,可以基于待测试版本下的每条需求数据以及测试用例数据集合中的每条测试用例数据生成需求测试数;即不考虑需求数据与测试用例数据之间的联系,基于每个需求数据和每个测试用例数据分别生成需求测试数据。
在获得需求测试数据后,即可将需求测试数据输入至用例评分模型中,由用例评分模型对每条输入的需求测试数据进行评分,但此时需求测试数据中包含的是文字、符号等内容,用例评分模型无法对其直接进行处理,故还需求对需求测试数据进行数据编码。
具体的,将每个需求测试数据输入至用例评分模型的方法可以包括:
基于至少一种预设编码规则对每个需求测试数据进行编码,获得每个需求测试数据对应的待输入数据;
将每个待输入数据输入至所述用例评分模型。
其中,预设编码规则是指对需求测试数据进行编码的规则;例如,预设编码规则可以是独热编码、标签编码等等;本申请可同时采用两种编码规则对需求测试数据进行编码,即对属性值较少的数据采用独热编码进行数据编码,对属性值较多的数据采用标签编码进行数据编码;例如,对需求分类数据、需求迭代数据进行独热编码,对需求名称数据进行标签编码;再如,对用例类型数据、用例归类数据进行独热编码,对用例名称进行标签编码等。采用两种编码规则对需求测试数据进行编码可以在保证编码精确度的同时,不会产生较大数量的编码,影响后续的计算效率。
例如,独热编码的编码方式较为复杂,得到的编码数据较长,由于需求迭代数据对应的属性值较少,故可以对需求迭代数据进行独热编码;标签编码方式较为简单,即得到的编码数据较短;若对用例名称数据进行编码,由于用例名称数据对应的属性值较多,通常为每个测试用例对应一个用例名称数据,则可以采用标签编码对用例名称数据进行编码,避免采用独热编码进行编码造成的编码数据较长,影响后续计算效率。
对需求测试数据进行数据编码后,还可以对编码后的数据进行归一化处理,将完成归一化处理后的需求测试数据输入至用例评分模型。
步骤108:获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。
其中,用例质量分数是指用例评分模型基于输入的需求测试数据输出的质量分数,例如用例质量分数可以是测试用例的缺陷概率,即可以用测试用例测试出应用存在缺陷的概率。目标测试用例是指用于对目标应用进行测试的测试用例。
具体的,所述用例质量分数包括用例缺陷权重;基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例的方法可以包括:
基于每个需求测试数据对应的用例缺陷权重对需求测试数据进行升序排序,获得需求测试数据序列;
根据预设用例确定规则,在所述需求测试数据序列中确定目标需求测试数据,并将目标需求测试数据对应的测试用例作为目标测试用例。
其中,用例缺陷权重是指测试用例发生缺陷的权重值,如,用例缺陷权重为70%、60%等等,在用例缺陷越大的情况下,对应的测试用例测试出应用中存在问题的概率更高,即测试效果更好;此外,用例质量分数还可以包括用例成功权重,即测试用例测试成功的权重值,如,用例成功权重为30%、70%等等,在用例成功权重越大的情况下,对应的测试用例测试出应用中存在问题的概率更低。
预设用例确定规则是指在需求测试数据序列中确定目标需求测试数据的规则,例如,预设用例测试规则为在需求测试数据中选取预设数量的需求测试数据,再如,预设用例测试规则为在需求测试数据中选取用例缺陷权重大于预设权重阈值的需求测试数据等等。
例如,将5条需求测试数据a、b、c、d、e分别输入至用例评分模型中,得到每个需求测试数据对应的用例缺陷权重分别为30%、50%、70%、30%、60%;基于用例缺陷权重对需求测试数据进行排序,得到需求测试数据序列;预设用例确定规则为:在需求测试数据序列选取用例缺陷权重超过65%的需求测试数据,则确定需求测试数据c对应的需求测试数据为目标需求测试数据,并基于需求测试数据c确定用于目标应用对应的测试用例。
通过将结合需求数据以及用例测试数据的需求测试数据输入至用例评分模型,从而考虑在不同需求作用下测试用例测试效果不同的问题,进而实现了由用例评分模型输出对需求测试数据的质量分数,以便后续基于用例质量分数筛选用于测试目标应用的测试用例。
下面对上述采用的用例评分模型的模型训练过程做进一步的描述:
具体的,确定训练集以及待训练的用例评分模型,其中,用例评分模型可以是FM模型、DSSM模型等具备推荐功能的模型;在训练集中包含训练测试数据,用于对用例评分模型进行训练。
在实际应用中,训练集中的训练测试数据基于如下步骤获得:
获取历史需求数据和历史测试用例数据集合;
确定所述历史测试用例数据集合中每个历史测试用例数据的用例测试结果;
基于所述用例测试结果、所述历史需求数据以及所述历史测试用例数集合生成训练测试数据。
其中,历史需求数据是指目标应用的历史版本对应的需求数据,例如,视频软件的当前版本为5.0版本,历史需求数据为视频软件3.0版本对应的需求数据、2.0版本对应的需求数据等等;历史测试用例数据集合是指对目标应用的历史版本进行测试时所使用的测试用例组成的集合;每个历史测试用例中包含用例测试结果,即在使用历史测试用例进行测试时对应的测试结果。
具体的,获取包含相同版本标识的目标应用的历史需求数据和历史测试用例数据,从而保证后续对历史需求数据和历史测试用例数据集合进行联系时的合理性;确定历史测试用例数据中的每个历史测试用例数据以及每个历史测试用例数据中包含的用例测试结果;基于每个历史测试用例、每个历史测试用例的测试用例结果以及历史需求数据生成训练测试数据。
在实际应用中,基于所述用例测试结果、所述历史需求数据以及所述历史测试用例数据集合生成训练测试数据的方法可以包括:
在确定所述历史测试用例数据集合中目标历史测试用例数据中的用例测试结果为测试失败的情况下,基于所述历史需求数据和所述目标历史测试用例数据生成训练测试数据。
具体的,确定历史测试用例集合中的目标历史测试用例,并确定目标历史测试用例的用例测试结果;在目标历史测试用例的用例测试结果为测试失败的情况下,表明使用目标历史测试用例测试出了目标应用的历史版本发生的问题;此时,确定历史需求数据中的每条历史需求子数据,并基于目标历史测试用例数据以及每条历史需求子数据分别生成对应的训练测试数据。具体基于目标历史测试用例数据以及每条历史需求子数据生成训练测试数据的方法为:确定目标历史测试用例对应的历史测试标签以及每个历史需求子数据对应的历史需求标签;基于预设拼接规则对历史测试标签以及历史需求标签进行拼接,得到训练测试数据。
在目标历史测试用例的用例测试结果为测试成功的情况下,表明使用目标历史测试用例未测试出目标应用的历史版本的问题;则此时确定历史需求数据对应的历史需求标签以及历史测试用例数据对应的历史测试标签,确定与历史需求标签存在交集的历史测试标签,并将基于与历史需求标签存在交集的历史测试标签拼接得到训练测试数据。
在历史测试用例数据集合中包含多个历史测试用例,若在历史版本的历史需求数据中未获取到与目标历史测试用例对应的历史需求数据,则可以基于目标历史测试用例和每个历史需求数据生成训练测试数据,具体包括:
若确定所述历史需求数据中的每个历史需求子数据均与所述历史测试用例数据集合中目标历史测试用例数据不对应,则基于每个历史需求子数据和所述目标历史测试用例数据生成训练测试数据。
具体的,历史需求数据为历史需求子数据组成的集合,若在历史需求数据中不存在与目标历史测试用例数据对应的历史需求子数据,则基于目标历史测试用例数据以及每个历史需求子数据生成训练测试数据。
进一步地,为了保证用例评分模型的准确性,可以对训练测试数据进行降采样;本申请的方案将发生过缺陷的测试用例对应的训练测试数据作为正样本,将未发生过缺陷的测试用例对应的训练数据作为负样本;对训练测试数据进行降采样是指将训练集中的正样本和负样本的比例调整至预设比例值,如,正样本与负样本的比例为1:1;基于经过降采样处理后的训练集训练得到的用例评分模型的准确率较高。
在获得训练测试数据后,即可根据由训练测试数据组成的训练集对用例评分模型进行训练。
在实际应用中,用例评分模型可采用如下步骤进行训练:
获取训练集中的样本数据和样本标签,其中,所述样本数据为基于目标应用的历史需求数据和历史测试用例数据集合生成的训练测试数据,所述样本标签为所述训练数据对应的用例质量分数;
将所述训练数据输入至用例评分模型,获得所述用例评分模型输出的预测质量分数;
根据所述预测质量分数和所述用例质量分数计算损失值;
基于所述损失值对所述用例评分模型进行迭代训练,直至达到训练停止条件。
其中,样本数据是指训练测试数据,样本标签是指训练测试数据对应的用例质量分数;预测质量分数是指用例评分模型基于训练测试数据输出的质量分数;训练停止条件可以是训练轮数到达预设次值,或模型参数达到预设条件。
例如,将训练集中的训练测试数据输入至FM模型,并获取FM模型输出的预设质量分数;基于预测质量分数、用例质量分数以及二元交叉熵损失函数计算损失值,再将FM模型参数按照负梯度方向更新;再次向FM模型中输入训练测试数据,直至完成12轮训练,得到训练完成的FM模型。
本申请的测试用例选择方法,接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。通过将包含需求数据以及测试用例数据的需求测试数据输入至用例评分模型,实现了对需求数据和测试用例数据之间关系的建立;获取用例评分模型输出的用例质量分数,实现了基于用例质量分数选取测试用例用于测试,降低了测试成本,提高测试效率。
下述结合附图2,以本申请提供的测试用例的选择方法在选择应用A测试用例的应用为例,对所述测试用例的选择方法进行进一步说明。其中,图2示出了本申请一实施例提供的一种应用于选择应用A测试用例的测试用例选择方法的处理流程图,具体包括以下步骤:
步骤202:接收针对应用A的应用测试请求。
具体的,接收对应用A的5.0版本进行测试的应用测试请求。
步骤204:解析应用测试请求获得待测试版本信息,并基于待测试版本信息获取与应用A对应的需求数据和测试用例数据集合。
具体的,对应用测试请求进行解析,获得待测试版本信息“5.0”;基于待测试版本信息“5.0”在预先创建的需求文档中获取“5.0”对应的需求数据,并获取应用A对应的测试用例数据集合。
步骤206:对需求数据和测试用例数据集合进行预处理。
具体的,检测应用A对应的需求数据以及测试用例数据集合中的每个测试用例数据是否存在数据空缺;若是,则基于预设补充规则对出现数据空缺的需求数据或测试用例数据进行数据填充。
步骤208:对需求数据和测试用例数据集合中的每个测试用例数据进行分词和拼接处理,得到需求数据对应的需求标签以及每个测试用例数据对应的测试标签。
具体的,可将需求数据以及测试用例数据输入至预先训练好的处理模型,由处理模型对数据进行分词,并对得到的分词进行拼接,得到需求标签以及测试标签。
步骤210:确定测试用例数据集合中每个测试用例数据的用例测试结果数据,并基于每个测试用例数据的测试标签、每个用例测试结果数据以及需求数据的需求标签生成需求测试数据。
具体的,在确定测试用例数据的用例测试结果为测试成功的情况下,则确定与需求标签存在交集的测试标签,并由测试标签组成测试用例数据子集合,并计算需求标签与测试用例数据子集合中每个测试标签的笛卡尔乘积,获得需求测试数据;
在确定目标测试用例数据的用例测试结果为测试失败的情况下,则确定当前版本的每个需求数据对应的需求标签,并基于目标测试用例数据对应的时目标测试标签与每个需求数据对应的需求标签分别计算笛卡尔乘积,获得需求测试数据。将通过上述处理方法得到的需求测试数据组成训练集。
步骤212:将需求测试数据输入至用例评分模型。
具体的,将训练集中的需求测试数据输入至用例评分模型;用例评分模型会对输入的每条需求测试数据进行用例质量分数的计算。
步骤214:获取用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数确定用于测试应用A的目标测试用例。
具体的,获取用例评分模型输出的每个需求测试数据的用例质量分数;基于用例质量分数对需求测试数据排序,获得需求测试数据序列;在需求测试数据序列中选取超过预设用例质量分数阈值的用例质量分数对应的目标需求测试数据;基于目标需求测试数据确定目标测试用例;后续可使用目标测试用例对应用A进行测试。
本申请的测试用例的选择方法,接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。通过将包含需求数据以及测试用例数据的需求测试数据输入至用例评分模型,实现了对需求数据和测试用例数据之间关系的建立;获取用例评分模型输出的用例质量分数,实现了基于用例质量分数选取测试用例用于测试,降低了测试成本,提高测试效率。
下述结合附图3,对本申请的用例评分模型的模型训练方法在训练用例评分模型G为例,对用例评分模型的模型训练方法进行进一步说明。其中,图3示出了本申请一实施例提供的一种应用于用例评分模型G的模型训练方法的处理流程图,具体包括以下步骤:
步骤302:获取历史需求数据和历史测试用例数据。
具体的,在需求文档中获取历史需求数据,如,3.0版本的应用对应的需求数据,并在测试用例数据库中获取对3.0版本的应用进行测试时使用的历史测试用例数据集合。
步骤304:将历史需求数据和历史测试用例数据转换为历史需求标签和历史测试标签。
具体的,在检测到历史需求数据和/或历史测试用例数据中存在数据空缺的情况下,对数据空缺进行填充。
提取出历史需求数据中的关键词组成历史需求标签,并提取出历史测试用例数据中的关键词,组成历史测试标签。
步骤306:计算历史需求标签和历史测试标签笛卡尔乘积,生成需求测试数据。
具体的,确定历史测试用例数据的用例测试结果数据;在用例测试结果为测试成功的情况下,选取与历史需求标签存在交集的历史测试标签做笛卡尔乘积得到需求测试数据,即未发生缺陷的历史测试用例数据对应的需求测试数据;在目标历史测试用例数据的用例测试结果为测试失败的情况下,计算目标历史测试用例数据的目标测试标签与当前版本内的每个历史需求数据对应的需求标签的笛卡尔乘积,得到需求测试数据,即已发生缺陷的历史测试用例数据对应的需求测试数据。
步骤308:对需求测试数据进行编码,并基于编码后的需求测试数据生成训练集。
具体的,对需求测试数据中的需求分类数据、需求迭代数据、用例类型数据、用例归类数据等进行独热编码,对需求名称数据、用例名称数据进行标签编码;由编码完成的需求测试数据组成训练集。
步骤310:对训练集中的训练测试数据进行降采样处理。
具体的,将未发生缺陷的历史测试用例数据对应的需求测试数据作为负样本;将已发生缺陷的历史测试用例数据对应的需求测试数据作为正样本。通过降采样处理,删除训练集中的正样本或负样本,使得训练集中正样本与负样本的比例为1:1。
步骤312:基于降采样处理后的训练集对用例评分模型G进行训练。
具体的,用例评分模型G为FM模型;基于需求对模型训练的批大小、学习率以及隐向量维度进行设定;从训练集中取出批大小的训练测试数据,输入至FM模型进行计算,得到预测质量分数;基于预设质量分数以及需求测试数据对应的实际用例质量分数计算损失函数值,其中,损失函数采用二元交叉熵损失函数;基于损失值对模型参数按照负梯度方向更新;取完训练集中的所有数据表示一轮,共训练12轮得到训练完成的用例评分模型G。
与上述方法实施例相对应,本申请还提供了测试用例的选择装置实施例,图4示出了本申请一实施例提供的一种测试用例的选择装置的结构示意图。如图4所示,该装置包括:
接收模块402,被配置为接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;
确定模块404,被配置为基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;
生成模块406,被配置为根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;
获取模块408,被配置为获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。
可选地,所述接收模块402,进一步被配置为:
解析所述应用测试请求获得待测试版本信息;
基于所述待测试版本信息获取与所述目标应用对应的需求数据。
可选地,所述装置还包括检测模块,被配置为:
检测所述需求数据以及所述测试用例数据集合中的测试用例数据是否存在数据空缺;
若是,则基于预设数据补充规则对所述需求数据和/或所述测试用例数据进行补充。
可选地,所述确定模块404,进一步被配置为:
提取所述需求数据以及所述测试用例数据集合中每个测试用例数据中的关键词,获得所述需求数据对应的需求标签以及每个测试用例对应的测试标签;
基于所述需求标签和每个测试标签确定测试用例数据子集合。
可选地,所述确定模块404,进一步被配置为:
基于每个测试标签与需求标签的相似度,确定与所述需求标签对应的目标测试标签;
基于所述目标测试标签生成测试用例数据子集合。
可选地,所述生成模块406,进一步被配置为:
将所述需求数据对应的需求标签分别与所述测试用例数据子集合中的每个需求测试用例对应的测试标签进行拼接,获得每个需求测试用例对应的需求测试数据。
可选地,所述生成模块406,进一步被配置为:
基于至少一种预设编码规则对每个需求测试数据进行编码,获得每个需求测试数据对应的待输入数据;
将每个待输入数据输入至所述用例评分模型。
可选地,所述获取模块408,进一步被配置为:
基于每个需求测试数据对应的用例缺陷权重对需求测试数据进行升序排序,获得需求测试数据序列;
根据预设用例确定规则,在所述需求测试数据序列中确定目标需求测试数据,并将目标需求测试数据对应的测试用例作为目标测试用例。
可选地,所述装置还包括模型训练模块,被配置为:
获取训练集中的样本数据和样本标签,其中,所述样本数据为基于目标应用的历史需求数据和历史测试用例数据集合生成的训练测试数据,所述样本标签为所述训练数据对应的用例质量分数;
将所述训练数据输入至用例评分模型,获得所述用例评分模型输出的预测质量分数;
根据所述预测质量分数和所述用例质量分数计算损失值;
基于所述损失值对所述用例评分模型进行迭代训练,直至达到训练停止条件。
可选地,所述装置还包括,训练测试数据生成模块,被配置为:
获取历史需求数据和历史测试用例数据集合;
确定所述历史测试用例数据集合中每个历史测试用例数据的用例测试结果;
基于所述用例测试结果、所述历史需求数据以及所述历史测试用例数集合生成训练测试数据。
可选地,所述训练测试数据生成模块,进一步被配置为:
在确定所述历史测试用例数据集合中目标历史测试用例数据中的用例测试结果为测试失败的情况下,基于所述历史需求数据和所述目标历史测试用例数据生成训练测试数据。
可选地,所述训练测试数据生成模块,进一步被配置为:
若确定所述历史需求数据中的每个历史需求子数据均与所述历史测试用例数据集合中目标历史测试用例数据不对应,则基于每个历史需求子数据和所述目标历史测试用例数据生成训练测试数据。
本申请提供测试用例的选择装置,接收模块,被配置为接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;确定模块,被配置为基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;生成模块,被配置为根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;获取模块,被配置为获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。通过将包含需求数据以及测试用例数据的需求测试数据输入至用例评分模型,实现了对需求数据和测试用例数据之间关系的建立;获取用例评分模型输出的用例质量分数,实现了基于用例质量分数选取测试用例用于测试,降低了测试成本,提高测试效率。
上述为本实施例的一种测试用例的选择装置的示意性方案。需要说明的是,该测试用例的选择装置的技术方案与上述的测试用例的选择方法的技术方案属于同一构思,测试用例的选择装置的技术方案未详细描述的细节内容,均可以参见上述测试用例的选择方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520执行所述计算机指令时实现所述的测试用例的选择方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的测试用例的选择方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述测试用例的选择方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述测试用例的选择方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的测试用例的选择方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述测试用例的选择方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (15)

1.一种测试用例的选择方法,其特征在于,包括:
接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;
基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;
根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;
获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。
2.如权利要求1所述的方法,其特征在于,基于所述应用测试请求确定所述目标应用对应的需求数据,包括:
解析所述应用测试请求获得待测试版本信息;
基于所述待测试版本信息获取与所述目标应用对应的需求数据。
3.如权利要求1所述的方法,其特征在于,基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合之后,还包括:
检测所述需求数据以及所述测试用例数据集合中的测试用例数据是否存在数据空缺;
若是,则基于预设数据补充规则对所述需求数据和/或所述测试用例数据进行补充。
4.如权利要求1所述的方法,其特征在于,基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合,包括:
提取所述需求数据以及所述测试用例数据集合中每个测试用例数据中的关键词,获得所述需求数据对应的需求标签以及每个测试用例对应的测试标签;
基于所述需求标签和每个测试标签确定测试用例数据子集合。
5.如权利要求4所述的方法,其特征在于,基于所述需求标签和每个测试标签确定测试用例数据子集合,包括:
基于每个测试标签与需求标签的相似度,确定与所述需求标签对应的目标测试标签;
基于所述目标测试标签生成测试用例数据子集合。
6.如权利要求4所述的方法,其特征在于,根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,包括:
将所述需求数据对应的需求标签分别与所述测试用例数据子集合中的每个需求测试用例对应的测试标签进行拼接,获得每个需求测试用例对应的需求测试数据。
7.如权利要求1所述的方法,其特征在于,将每个需求测试数据输入至用例评分模型,包括:
基于至少一种预设编码规则对每个需求测试数据进行编码,获得每个需求测试数据对应的待输入数据;
将每个待输入数据输入至所述用例评分模型。
8.如权利要求1所述的方法,其特征在于,所述用例质量分数包括用例缺陷权重;
基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例,包括:
基于每个需求测试数据对应的用例缺陷权重对需求测试数据进行升序排序,获得需求测试数据序列;
根据预设用例确定规则,在所述需求测试数据序列中确定目标需求测试数据,并将目标需求测试数据对应的测试用例作为目标测试用例。
9.如权利要求1所述的方法,其特征在于,所述用例评分模型采用如下步骤进行训练:
获取训练集中的样本数据和样本标签,其中,所述样本数据为基于目标应用的历史需求数据和历史测试用例数据集合生成的训练测试数据,所述样本标签为所述训练数据对应的用例质量分数;
将所述训练数据输入至用例评分模型,获得所述用例评分模型输出的预测质量分数;
根据所述预测质量分数和所述用例质量分数计算损失值;
基于所述损失值对所述用例评分模型进行迭代训练,直至达到训练停止条件。
10.如权利要求9所述的方法,其特征在于,所述训练测试数据基于如下步骤获得:
获取历史需求数据和历史测试用例数据集合;
确定所述历史测试用例数据集合中每个历史测试用例数据的用例测试结果;
基于所述用例测试结果、所述历史需求数据以及所述历史测试用例数集合生成训练测试数据。
11.如权利要求10所述的方法,其特征在于,基于所述用例测试结果、所述历史需求数据以及所述历史测试用例数据集合生成训练测试数据,包括:
在确定所述历史测试用例数据集合中目标历史测试用例数据中的用例测试结果为测试失败的情况下,基于所述历史需求数据和所述目标历史测试用例数据生成训练测试数据。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
若确定所述历史需求数据中的每个历史需求子数据均与所述历史测试用例数据集合中目标历史测试用例数据不对应,则基于每个历史需求子数据和所述目标历史测试用例数据生成训练测试数据。
13.一种测试用例的选择装置,其特征在于,包括:
接收模块,被配置为接收针对目标应用的应用测试请求,并基于所述应用测试请求确定所述目标应用对应的需求数据和测试用例数据集合;
确定模块,被配置为基于所述需求数据在所述测试用例数据集合中确定测试用例数据子集合;
生成模块,被配置为根据所述需求数据和所述测试用例数据子集合生成至少一个需求测试数据,并将每个需求测试数据输入至用例评分模型;
获取模块,被配置为获取所述用例评分模型输出的每个需求测试数据的用例质量分数,并基于每个用例质量分数在所述测试用例数据子集合中确定所述目标应用对应的目标测试用例。
14.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-12任意一项所述方法的步骤。
15.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-12任意一项所述方法的步骤。
CN202210445352.2A 2022-04-26 2022-04-26 测试用例的选择方法及装置 Pending CN114691525A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210445352.2A CN114691525A (zh) 2022-04-26 2022-04-26 测试用例的选择方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210445352.2A CN114691525A (zh) 2022-04-26 2022-04-26 测试用例的选择方法及装置

Publications (1)

Publication Number Publication Date
CN114691525A true CN114691525A (zh) 2022-07-01

Family

ID=82144287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210445352.2A Pending CN114691525A (zh) 2022-04-26 2022-04-26 测试用例的选择方法及装置

Country Status (1)

Country Link
CN (1) CN114691525A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344504A (zh) * 2022-10-19 2022-11-15 广州软件应用技术研究院 基于需求规格说明书的软件测试用例自动生成方法及工具
CN117435514A (zh) * 2023-12-21 2024-01-23 杭州罗莱迪思科技股份有限公司 冒烟测试用例抽取方法
WO2024113313A1 (en) * 2022-12-01 2024-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Generating digital predistortion models using performance metrics

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344504A (zh) * 2022-10-19 2022-11-15 广州软件应用技术研究院 基于需求规格说明书的软件测试用例自动生成方法及工具
WO2024113313A1 (en) * 2022-12-01 2024-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Generating digital predistortion models using performance metrics
CN117435514A (zh) * 2023-12-21 2024-01-23 杭州罗莱迪思科技股份有限公司 冒烟测试用例抽取方法
CN117435514B (zh) * 2023-12-21 2024-03-01 杭州罗莱迪思科技股份有限公司 冒烟测试用例抽取方法

Similar Documents

Publication Publication Date Title
CN110717039B (zh) 文本分类方法和装置、电子设备、计算机可读存储介质
EP3227836B1 (en) Active machine learning
CN114691525A (zh) 测试用例的选择方法及装置
CN111444320A (zh) 文本检索方法、装置、计算机设备和存储介质
CN109933686B (zh) 歌曲标签预测方法、装置、服务器及存储介质
CN110968695A (zh) 基于弱监督技术主动学习的智能标注方法、装置及平台
CN111447574B (zh) 短信分类方法、装置、系统和存储介质
CN111984792A (zh) 网站分类方法、装置、计算机设备及存储介质
US20220121823A1 (en) System and method for artificial intelligence driven document analysis, including searching, indexing, comparing or associating datasets based on learned representations
CN112084435A (zh) 搜索排序模型训练方法及装置、搜索排序方法及装置
CN112836509A (zh) 一种专家系统知识库构建方法及系统
CN113987174A (zh) 分类标签的核心语句提取方法、系统、设备及存储介质
CN114610865A (zh) 召回文本推荐方法、装置、设备及存储介质
CN110968664A (zh) 一种文书检索方法、装置、设备及介质
CN116127060A (zh) 一种基于提示词的文本分类方法及系统
CN115146062A (zh) 融合专家推荐与文本聚类的智能事件分析方法和系统
CN115357699A (zh) 文本抽取方法、装置、设备及存储介质
CN114722198A (zh) 产品分类编码确定方法、系统及相关装置
CN111597336A (zh) 训练文本的处理方法、装置、电子设备及可读存储介质
CN115687917A (zh) 样本处理方法以及装置、识别模型训练方法及装置
CN115238645A (zh) 资产数据识别方法、装置、电子设备和计算机存储介质
CN112364666B (zh) 文本表征方法、装置及计算机设备
CN114328894A (zh) 文档处理方法、装置、电子设备及介质
CN112182218A (zh) 文本数据的分类方法及装置
CN113495964A (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