CN114896141A - 测试用例的去重方法、装置、设备及计算机可读存储介质 - Google Patents

测试用例的去重方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114896141A
CN114896141A CN202210435911.1A CN202210435911A CN114896141A CN 114896141 A CN114896141 A CN 114896141A CN 202210435911 A CN202210435911 A CN 202210435911A CN 114896141 A CN114896141 A CN 114896141A
Authority
CN
China
Prior art keywords
case
similar
test
similarity
cases
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
CN202210435911.1A
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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202210435911.1A priority Critical patent/CN114896141A/zh
Publication of CN114896141A publication Critical patent/CN114896141A/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/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种测试用例的去重方法、装置、设备及计算机可读存储介质,其中,所述测试用例的去重方法包括:获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例;分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合;基于所述多个相似用例对集合,对相似的测试用例进行去重处理。上述方案,能够对相似的测试用例进行有效去重。

Description

测试用例的去重方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及软件测试技术领域,特别是涉及一种测试用例的去重方法、装置、设备及计算机可读存储介质。
背景技术
当用例系统平台积累了大量的测试用例时,其中存在有大量重复无效的用例,测试人员每次集成测试需要对其中的核心用例进行手工测试,但大量重复无效的用例会增加集成测试时长、降低每次集成测试的效率。现有的测试用例相似去重方案只考虑了完整的测试用例之间的相似性,无法有效求解包含关系类的相似用例。有鉴于此,如何提高相似用例的获取准确性,以找到核心用例中重复的部分以剔除掉成为极具研究价值的课题。
发明内容
本申请主要解决的技术问题是提供一种测试用例的去重方法、装置、设备及计算机可读存储介质,能够对相似的测试用例进行有效去重。
为了解决上述问题,本申请第一方面提供了一种测试用例的去重方法,所述测试用例的去重方法包括:获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例;分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合;基于所述多个相似用例对集合,对相似的测试用例进行去重处理。
为了解决上述问题,本申请第二方面提供了一种测试用例的去重装置,包括:获取模块,所述获取模块用于获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例;生成模块,所述生成模块用于分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合;处理模块,所述处理模块用于基于所述多个相似用例对集合,对相似的测试用例进行去重处理。
为了解决上述问题,本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述第一方面的测试用例的去重方法。
为了解决上述问题,本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述第一方面的测试用例的去重方法。
本发明的有益效果是:区别于现有技术的情况,本申请的测试用例的去重方法中,通过获取待处理的测试用例数据集,其中待处理的测试用例数据集中包括多个测试用例,然后分别从完整用例维度和子用例维度对待处理的测试用例数据集进行用例相似度计算,可以生成多个相似用例对集合,于是基于多个相似用例对集合,可以对相似的测试用例进行去重处理,实现了从完整用例维度和子用例维度两个方面来生成相似用例对,既考虑到两个完整测试用例之间的相似性,还可以有效求解包含关系类的相似用例,从而能够对相似的测试用例进行有效去重,使得可以有效降低集成测试时长、提高测试效率。
附图说明
图1是本申请测试用例的去重方法一实施例的流程示意图;
图2是图1中步骤S12一实施例的流程示意图;
图3是图2中步骤S122一实施例的流程示意图;
图4是本申请中用例多叉树一应用场景中的结构示意图;
图5是图2中步骤S123一实施例的流程示意图;
图6是本申请测试用例的去重方法另一实施例的流程示意图;
图7是本申请测试用例的去重装置一实施例的框架示意图;
图8是本申请电子设备一实施例的框架示意图;
图9是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请测试用例的去重方法一实施例的流程示意图。具体而言,本实施例中的测试用例的去重方法可以包括如下步骤:
步骤S11:获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例。
软件测试通常是根据软件开发各阶段的规格说明和程序的内部结构精心选取一批测试数据来组成测试用例,并用这些测试用例去驱动被测程序,观察程序的执行结果,验证所得结果与预期结果是否一致,然后做相应的调整。在一实施例中,测试用例可以为结构化测试用例,结构化测试用例是按照UML(统一建模语言或标准建模语言)以及BNF(巴科斯范式)约束编写的半形式化的、用中文自然语言编写的测试用例文档。为了保证软件测试的覆盖率,测试用例一般包含经科学取样和加工的大规模的语料数据,这些语料数据可在已进行过的程序测试过程中收集,由于中文自然语言对于相同事物的描述存在多种说法,特别是不同人所写的文本差异性更大,因此这些语料数据很多都是重复性的描述,故在获取到包括多个测试用例的测试用例数据集后,需要对测试用例数据集进行去重处理,即获取的测试用例数据集为待处理的测试用例数据集。
在一实施例中,上述步骤S11可以包括:获取多个原始的测试用例;对所述多个原始的测试用例进行数据预处理,形成所述待处理的测试用例数据集。
具体地,当需要对某个测试用例平台中的测试用例进行去重时,首先可以获取测试用例平台中的原始的测试用例,然后可以对获取到的原始的测试用例进行数据预处理,形成待处理的测试用例数据集。其中,对原始的测试用例进行数据预处理可以包括:对测试用例进行分词处理,去除测试用例中的非文本部分,例如标签、符号等;以及完善分词、停用词自定义词库,以提高分词精准度;以及可以采用N-Gram算法处理分词结果。中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块,不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性、句法树等模块的效果;以中文句子“我来到北京清华大学”为例,可能的分词结果有:我/来到/北京/清华大学。N-Gram算法是一种基于统计语言模型的算法,它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列。
可以理解的是,在自然语言处理过程中,之所以对于相同事物的描述存在多种说法,很大程度上是由于在语料中具有很多修饰性词语,这些修饰性词语对于事物的描述来说,大多数情况下意义较小,而对事物的描述起主要作用的词语,即为原始语料的关键词,通过对原始的测试用例进行数据预处理,可以提炼出反映原始语料所要描述的事物的关键词。具体地,对原始的测试用例对应的原始语料进行分词处理,可以将原始语料切分成一个一个单独的词,而其中可能包括用于表示语气、修饰等不具有具体含义的词汇,采用预设处理规则对这些单独的词中不具有具体含义的词汇过滤掉,剩下的词汇可以反映原始语料所要描述的事物。进一步地,预设处理规则包括去停用词规则、去标点规则、去数字规则中的至少一种;去停用词规则是指建立停用词库进行过滤,以将停用词库中存在的分词滤除,去标点规则是指对标点符号和后缀符号等进行滤除,去数字规则是指对数字进行滤除。
步骤S12:分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合。
具体地,待处理的测试用例数据集中的每个测试用例均为一个完整测试用例,从完整用例维度来说,可以计算任意两个完整测试用例之间的用例相似度,从而生成若干个相似用例对。然而,当完整测试用例A的用例步骤较多,而完整测试用例B的用例步骤较少,且完整测试用例B中的所有用例步骤均是完整测试用例A中的用例步骤时,则完整测试用例B实际可能是完整测试用例A的一个子用例,但是从完整用例维度来看,完整测试用例B与完整测试用例A的用例相似度可能较小,无法判断出两者是相似的,但是,从子用例维度来说,完整测试用例B与完整测试用例A是相似的;因此,本申请实施例还从子用例维度来计算任意两个完整测试用例之间的用例相似度,从而也可以生成若干个相似用例对。于是,将完整用例维度下和子用例维度下分别生成的多个相似用例对进行合并,可以生成多个相似用例对集合。
请结合图2,图2是图1中步骤S12一实施例的流程示意图。在一实施例中,上述步骤S12具体可以包括:
步骤S121:对于所述待处理的测试用例数据集中的所有测试用例,按照至少一种预设相似度算法计算任意测试用例之间的用例相似度,得到基于完整用例维度的多个相似用例对。
具体地,在完整用例维度下,对于待处理的测试用例数据集中的所有测试用例,可以按照至少一种预设相似度算法计算任意两个测试用例之间的用例相似度,从而可以得到基于完整用例维度的多个相似用例对。进一步地,预设相似度算法可以包括基于交并比的相似度算法、基于TF-IDF的相似度算法以及基于Skip-Gram模型的相似度算法中的任意一种。例如,在完整用例维度下,可以同时采用基于交并比的相似度算法、基于TF-IDF的相似度算法以及基于Skip-Gram模型的相似度算法分别计算任意两个测试用例之间的用例相似度,此时计算任意两个测试用例之间的用例相似度,是指将整个两个完整测试用例的分词结果作相似度计算,由于采用不同的相似度算法计算可能得到不同的相似用例对的结果,因此,可以分别得到在完整用例维度下,基于交并比的多个相似用例对、基于TF-IDF的多个相似用例对以及基于Skip-Gram模型的多个相似用例对。
步骤S122:获取每个测试用例对应的所有子用例,按照所述至少一种预设相似度算法计算任意两个测试用例的所有子用例之间的用例相似度,得到基于子用例维度的多个相似用例对。
具体地,在子用例维度下,对于待处理的测试用例数据集中的每个测试用例,可以获取每个测试用例对应的所有子用例,然后可以按照至少一种预设相似度算法计算任意两个测试用例的所有子用例之间的用例相似度,从而可以得到基于子用例维度的多个相似用例对。进一步地,预设相似度算法可以包括基于交并比的相似度算法、基于TF-IDF的相似度算法以及基于Skip-Gram模型的相似度算法中的任意一种。例如,在子用例维度下,可以同时采用基于交并比的相似度算法、基于TF-IDF的相似度算法以及基于Skip-Gram模型的相似度算法分别计算任意两个测试用例的所有子用例之间的用例相似度,从而确定任意两个测试用例是否为相似用例。由于采用不同的相似度算法计算可能得到不同的相似用例对的结果,因此,可以分别得到在子用例维度下,基于交并比的多个相似用例对、基于TF-IDF的多个相似用例对以及基于Skip-Gram模型的多个相似用例对。
请结合图3,图3是图2中步骤S122一实施例的流程示意图。在一实施例中,上述步骤S122具体可以包括:
步骤S1221:将所有的测试用例转换为用例多叉树,所述用例多叉树由步骤节点组成。
具体地,请结合图4,图4是本申请中用例多叉树一应用场景中的结构示意图。在子用例维度下进行相似度计算,可以先将每个完整测试用例转换为一个用例多叉树,本申请中,完整测试用例指一条测试用例完整的内容,子用例是指将完整测试用例拆分为多个子用例,用例步骤是指每个操作步骤,如图4所示,测试用例A为一条完整测试用例,测试用例A包括以下用例步骤:1.冷启动APP;2.a点击进入青少年模式;2.b点击我知道了;2.n其它子操作n;3.其它操作1;4.其它操作2;n.其它操作n,等等。对于测试用例A来说,其子用例可以是指:测试用例B、测试用例C。可以直观的看到,测试用例B和测试用例C的用例多叉树的结构同时也是测试用例A的用例多叉树的子树结构。对于用例步骤,即每个序号为一个用例步骤,如“1.冷启动APP”是一个用例步骤,“2.a点击进入青少年模式”是一个用例步骤;在上述的用例多叉树的结构中,一个步骤节点是一个用例步骤。
步骤S1222:利用所述至少一种预设相似度算法计算任意两个所述用例多叉树之间的每个步骤节点的节点相似度。
步骤S1223:将所述步骤节点的节点相似度满足预设条件的两个用例多叉树对应的测试用例作为一个基于子用例维度的用例相似对。
在得到任意两个测试用例对应的用例多叉树结构之后,可以利用基于交并比的相似度算法、基于TF-IDF的相似度算法以及基于Skip-Gram模型的相似度算法来计算两个用例多叉树之间的每个步骤节点的节点相似度,然后可以将步骤节点的节点相似度满足预设条件的两个用例多叉树对应的测试用例作为一个基于子用例维度的用例相似对。
具体地,所述预设条件为一个用例多叉树的所有步骤节点,与另一个用例多叉树对应的各步骤节点之间的节点相似度均大于预设阈值。例如,预设阈值可以预先设置为0.6,于是可以计算测试用例B的用例多叉树中的每个步骤节点,与测试用例A的用例多叉树中的对应的步骤节点之间的节点相似度;当测试用例B的用例多叉树中的每个步骤节点,与测试用例A的用例多叉树中的对应的步骤节点之间的节点相似度均大于0.6时,则可以将测试用例B和测试用例A作为一个基于子用例维度的用例相似对;当测试用例B的用例多叉树中的某个步骤节点,与测试用例A的用例多叉树中的对应的某个步骤节点之间的节点相似度为0.4时,而测试用例B的用例多叉树中的其他步骤节点,与测试用例A的用例多叉树中的对应的其他步骤节点之间的节点相似度均大于0.6,则不能将测试用例B和测试用例A作为一个基于子用例维度的用例相似对。
步骤S123:根据所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对,得到所述多个相似用例对集合。
可以理解的是,在得到完整用例维度下和子用例维度下分别生成的多个相似用例对后,由于完整用例维度下的多个相似用例对和子用例维度下的多个相似用例对之间可能存在重复的相似用例对,因此,可以将完整用例维度下的多个相似用例对以及在子用例维度下的多个相似用例对进行合并,可以得到多个相似用例对集合。
请结合图5,图5是图2中步骤S123一实施例的流程示意图。在一实施例中,上述步骤S123具体可以包括:
步骤S1231:对所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对取并集,得到混合生成的多个相似用例对。
步骤S1232:按照每个相似用例对中两个测试用例之间的相似度的大小,对所述混合生成的多个相似用例对中的每个相似用例对进行降序排列,选取预设数量个相似用例对,作为所述多个相似用例对集合。
可以理解的是,为了最大化挖掘潜在的相似用例对,本申请先通过多类型无监督相似度计算,分别得到完整用例维度下和子用例维度下的多个相似用例对,例如可以得到:完整用例维度下的基于交并比的多个相似用例对、基于TF-IDF的多个相似用例对以及基于Skip-Gram模型的多个相似用例对,以及子用例维度下的基于交并比的多个相似用例对、基于TF-IDF的多个相似用例对以及基于Skip-Gram模型的多个相似用例对。在得到上述的所有的多个相似用例对后,可以求其相似用例对并集,得到混合生成的多个相似用例对,然后按照每个相似用例对中两个测试用例之间的相似度的大小,对混合生成的多个相似用例对中的每个相似用例对进行降序排列,选取预设数量个相似用例对,作为多个相似用例对集合,即按相似度作降序排列后,取TOP-N个相似用例对作为多个相似用例对集合。
步骤S13:基于所述多个相似用例对集合,对相似的测试用例进行去重处理。
可以理解的是,在得到多个相似用例对集合后,可以对相似的测试用例进行去重处理。
上述方案,通过获取待处理的测试用例数据集,其中待处理的测试用例数据集中包括多个测试用例,然后分别从完整用例维度和子用例维度对待处理的测试用例数据集进行用例相似度计算,可以生成多个相似用例对集合,于是基于多个相似用例对集合,可以对相似的测试用例进行去重处理,实现了从完整用例维度和子用例维度两个方面来生成相似用例对,既考虑到两个完整测试用例之间的相似性,还可以有效求解包含关系类的相似用例,从而能够对相似的测试用例进行有效去重,使得可以有效降低集成测试时长、提高测试效率。
请参阅图6,图6是本申请测试用例的去重方法另一实施例的流程示意图。本实施例中的测试用例的去重方法可以包括如下步骤:
步骤S61:获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例。
步骤S62:分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合。
步骤S63:基于所述多个相似用例对集合,对相似的测试用例进行去重处理。
本实施例中的步骤S61至S63与上述实施例中的S11至S13基本相同,此处不再赘述。
进一步地,本实施例中的测试用例的去重方法还可以包括:
步骤S64:对所述多个相似用例对集合进行优化处理。
具体地,可以通过专家经验定义规则,以过滤无效的相似用例对,实现对多个相似用例对集合进行优化处理。
步骤S65:对优化处理后的所述多个相似用例对集合中的所有相似用例对标记相似对标签,存储于数据库中。
在一实施例中,在得到优化处理后的多个相似用例对集合后,可以将优化处理后的多个相似用例对集合中的所有测试用例上报到用例平台,然后可以由业务人员对所有相似用例对标记是否相似,于是相似用例对中的测试用例具有对应的相似对标签,并存储于数据库中。
在一实施例中,上述的测试用例的去重方法还可以包括:
步骤S66:构建初始的监督模型,利用所述数据库中的具有相似对标签的相似用例对来对所述初始的监督模型进行训练,得到训练后的监督模型。对应的,上述步骤S64具体可以包括:通过所述训练后的监督模型对所述多个相似用例对集合进行相似对判断,以对所述多个相似用例对集合进行优化处理。
具体地,考虑到上述的无监督相似度计算的准确率比监督模型较低,本申请实施例可以构建相似用例对生成到相似用例对反馈,再到优化的相似用例对再生成的闭环反馈策略,例如,在业务人员进行测试时,用例平台会显示与当前用例相似的其它用例,在业务人员手工测试的同时,可以顺便标记相应的用例是否相似,同时通过数据库存储对应的相似对标签,如测试用例A与测试用例B相似、测试用例C与测试用例D不相似等,于是可以提供给构建的FastText/Bert等初始的监督模型作数据源进行训练,在得到训练后的监督模型之后,可以利用训练后的监督模型对上述的无监督相似度计算得到的多个相似用例对集合进行相似对判断,以对多个相似用例对集合进行优化处理。于是就完成了将无监督相似度计算与监督模型有效结合起来,进而不断优化生成的相似用例对集合。
在一应用场景中,通过本申请的测试用例的去重方法,在测试用例平台使用时,可以累计生成6000多个相似用例对,以其中某模块的核心集成测试集为例,共有1200多个测试用例,通过本申请的测试用例的去重方法可以生成248个相似用例对,最终实际剔除了重复的测试用例79条,本申请的测试用例的去重方法可以有效降低集成测试时长,提高测试效率。
请参阅图7,图7是本申请测试用例的去重装置一实施例的框架示意图。测试用例的去重装置70包括:获取模块700,所述获取模块700用于获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例;生成模块702,所述生成模块702用于分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合;处理模块704,所述处理模块704用于基于所述多个相似用例对集合,对相似的测试用例进行去重处理。
在一些实施例中,获取模块700执行获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例的步骤,包括:获取多个原始的测试用例;对所述多个原始的测试用例进行数据预处理,形成所述待处理的测试用例数据集。
在一些实施例中,生成模块702执行分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合的步骤,包括:对于所述待处理的测试用例数据集中的所有测试用例,按照至少一种预设相似度算法计算任意测试用例之间的用例相似度,得到基于完整用例维度的多个相似用例对;获取每个测试用例对应的所有子用例,按照所述至少一种预设相似度算法计算任意两个测试用例的所有子用例之间的用例相似度,得到基于子用例维度的多个相似用例对;根据所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对,得到所述多个相似用例对集合。
在一些实施例中,所述预设相似度算法包括基于交并比的相似度算法、基于TF-IDF的相似度算法以及基于Skip-Gram模型的相似度算法中的任意一种。
在一些实施例中,生成模块702执行获取每个测试用例对应的所有子用例,按照所述至少一种预设相似度算法计算任意两个测试用例的所有子用例之间的用例相似度,得到基于子用例维度的多个相似用例对的步骤,具体包括:将所有的测试用例转换为用例多叉树,所述用例多叉树由步骤节点组成;利用所述至少一种预设相似度算法计算任意两个所述用例多叉树之间的每个步骤节点的节点相似度;将所述步骤节点的节点相似度满足预设条件的两个用例多叉树对应的测试用例作为一个基于子用例维度的用例相似对。
在一些实施例中,所述预设条件为一个用例多叉树的所有步骤节点,与另一个用例多叉树对应的各步骤节点之间的节点相似度均大于预设阈值。
在一些实施例中,生成模块702执行根据所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对,得到所述多个相似用例对集合的步骤,具体包括:对所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对取并集,得到混合生成的多个相似用例对;按照每个相似用例对中两个测试用例之间的相似度的大小,对所述混合生成的多个相似用例对中的每个相似用例对进行降序排列,选取预设数量个相似用例对,作为所述多个相似用例对集合。
在一些实施例中,测试用例的去重装置70还包括优化模块706,优化模块706用于对所述多个相似用例对集合进行优化处理,以及对优化处理后的所述多个相似用例对集合中的所有相似用例对标记相似对标签,存储于数据库中。
在一些实施例中,优化模块706还用于构建初始的监督模型,利用所述数据库中的具有相似对标签的相似用例对来对所述初始的监督模型进行训练,得到训练后的监督模型;此时,优化模块706执行对所述多个相似用例对集合进行优化处理的步骤,包括:通过所述训练后的监督模型对所述多个相似用例对集合进行相似对判断,以对所述多个相似用例对集合进行优化处理。
请参阅图8,图8是本申请电子设备一实施例的框架示意图。电子设备80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述任意一种测试用例的去重方法实施例的步骤。在一个具体的实施场景中,电子设备80可以包括但不限于:微型计算机、服务器。
具体而言,处理器82用于控制其自身以及存储器81以实现上述任意一种测试用例的去重方法实施例的步骤。处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
请参阅图9,图9是本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质90存储有能够被处理器运行的程序指令800,程序指令900用于实现上述任意一种测试用例的去重方法实施例的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (12)

1.一种测试用例的去重方法,其特征在于,所述测试用例的去重方法包括:
获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例;
分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合;
基于所述多个相似用例对集合,对相似的测试用例进行去重处理。
2.根据权利要求1所述的测试用例的去重方法,其特征在于,所述获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例,包括:
获取多个原始的测试用例;
对所述多个原始的测试用例进行数据预处理,形成所述待处理的测试用例数据集。
3.根据权利要求1所述的测试用例的去重方法,其特征在于,所述分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合,包括:
对于所述待处理的测试用例数据集中的所有测试用例,按照至少一种预设相似度算法计算任意测试用例之间的用例相似度,得到基于完整用例维度的多个相似用例对;
获取每个测试用例对应的所有子用例,按照所述至少一种预设相似度算法计算任意两个测试用例的所有子用例之间的用例相似度,得到基于子用例维度的多个相似用例对;
根据所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对,得到所述多个相似用例对集合。
4.根据权利要求3所述的测试用例的去重方法,其特征在于,所述预设相似度算法包括基于交并比的相似度算法、基于TF-IDF的相似度算法以及基于Skip-Gram模型的相似度算法中的任意一种。
5.根据权利要求3所述的测试用例的去重方法,其特征在于,所述获取每个测试用例对应的所有子用例,按照所述至少一种预设相似度算法计算任意两个测试用例的所有子用例之间的用例相似度,得到基于子用例维度的多个相似用例对,包括:
将所有的测试用例转换为用例多叉树,所述用例多叉树由步骤节点组成;
利用所述至少一种预设相似度算法计算任意两个所述用例多叉树之间的每个步骤节点的节点相似度;
将所述步骤节点的节点相似度满足预设条件的两个用例多叉树对应的测试用例作为一个基于子用例维度的用例相似对。
6.根据权利要求5所述的测试用例的去重方法,其特征在于,所述预设条件为一个用例多叉树的所有步骤节点,与另一个用例多叉树对应的各步骤节点之间的节点相似度均大于预设阈值。
7.根据权利要求3所述的测试用例的去重方法,其特征在于,所述根据所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对,得到所述多个相似用例对集合,包括:
对所述基于完整用例维度的多个相似用例对和所述基于子用例维度的多个相似用例对取并集,得到混合生成的多个相似用例对;
按照每个相似用例对中两个测试用例之间的相似度的大小,对所述混合生成的多个相似用例对中的每个相似用例对进行降序排列,选取预设数量个相似用例对,作为所述多个相似用例对集合。
8.根据权利要求1所述的测试用例的去重方法,其特征在于,在所述分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合之后,所述测试用例的去重方法还包括:
对所述多个相似用例对集合进行优化处理;
对优化处理后的所述多个相似用例对集合中的所有相似用例对标记相似对标签,存储于数据库中。
9.根据权利要求8所述的测试用例的去重方法,其特征在于,所述测试用例的去重方法还包括:
构建初始的监督模型,利用所述数据库中的具有相似对标签的相似用例对来对所述初始的监督模型进行训练,得到训练后的监督模型;
所述对所述多个相似用例对集合进行优化处理,包括:
通过所述训练后的监督模型对所述多个相似用例对集合进行相似对判断,以对所述多个相似用例对集合进行优化处理。
10.一种测试用例的去重装置,其特征在于,包括:
获取模块,所述获取模块用于获取待处理的测试用例数据集,所述待处理的测试用例数据集中包括多个测试用例;
生成模块,所述生成模块用于分别从完整用例维度和子用例维度对所述待处理的测试用例数据集进行用例相似度计算,生成多个相似用例对集合;
处理模块,所述处理模块用于基于所述多个相似用例对集合,对相似的测试用例进行去重处理。
11.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至9任一项所述的测试用例的去重方法。
12.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至9任一项所述的测试用例的去重方法。
CN202210435911.1A 2022-04-24 2022-04-24 测试用例的去重方法、装置、设备及计算机可读存储介质 Pending CN114896141A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210435911.1A CN114896141A (zh) 2022-04-24 2022-04-24 测试用例的去重方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210435911.1A CN114896141A (zh) 2022-04-24 2022-04-24 测试用例的去重方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114896141A true CN114896141A (zh) 2022-08-12

Family

ID=82718518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210435911.1A Pending CN114896141A (zh) 2022-04-24 2022-04-24 测试用例的去重方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114896141A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116841913A (zh) * 2023-08-31 2023-10-03 美云智数科技有限公司 测试用例生成方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116841913A (zh) * 2023-08-31 2023-10-03 美云智数科技有限公司 测试用例生成方法、装置、电子设备及存储介质
CN116841913B (zh) * 2023-08-31 2023-12-29 美云智数科技有限公司 测试用例生成方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112270196B (zh) 实体关系的识别方法、装置及电子设备
US9361587B2 (en) Authoring system for bayesian networks automatically extracted from text
CN111143576A (zh) 一种面向事件的动态知识图谱构建方法和装置
JP2022539138A (ja) 自然言語理解(nlu)フレームワークを使用して意味探索を実行するシステムおよび方法
CN110457672B (zh) 关键词确定方法、装置、电子设备及存储介质
KR102491172B1 (ko) 자연어 질의응답 시스템 및 그 학습 방법
CN111460797B (zh) 关键字抽取方法、装置、电子设备及可读存储介质
CN113378970B (zh) 语句相似性检测方法、装置、电子设备及存储介质
CN110297893A (zh) 自然语言问答方法、装置、计算机装置及存储介质
WO2022134779A1 (zh) 人物动作相关数据的提取方法、装置、设备及存储介质
US20220245353A1 (en) System and method for entity labeling in a natural language understanding (nlu) framework
CN113032253A (zh) 测试数据特征提取方法、测试方法及相关装置
WO2021012958A1 (zh) 原创文本甄别方法、装置、设备与计算机可读存储介质
CN111143571A (zh) 实体标注模型的训练方法、实体标注方法以及装置
US20220245361A1 (en) System and method for managing and optimizing lookup source templates in a natural language understanding (nlu) framework
CN116701574A (zh) 文本语义相似度计算方法、装置、设备及存储介质
CN115130038A (zh) 网页分类方法及装置
CN114896141A (zh) 测试用例的去重方法、装置、设备及计算机可读存储介质
CN112287077A (zh) 用于文档的结合rpa和ai的语句提取方法、装置、存储介质及电子设备
CN117271558A (zh) 语言查询模型构建方法、查询语言获取方法及相关装置
CN116578700A (zh) 日志分类方法、日志分类装置、设备及介质
CN116522944A (zh) 基于多头注意力的图片生成方法、装置、设备及介质
WO2020132852A1 (en) Coding information extractor
US20220229990A1 (en) System and method for lookup source segmentation scoring in a natural language understanding (nlu) framework
CN116467461A (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