CN113900954B - 一种使用知识图谱的测试用例推荐方法及装置 - Google Patents
一种使用知识图谱的测试用例推荐方法及装置 Download PDFInfo
- Publication number
- CN113900954B CN113900954B CN202111264963.9A CN202111264963A CN113900954B CN 113900954 B CN113900954 B CN 113900954B CN 202111264963 A CN202111264963 A CN 202111264963A CN 113900954 B CN113900954 B CN 113900954B
- Authority
- CN
- China
- Prior art keywords
- test
- target
- knowledge graph
- requirement
- item
- 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
Images
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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种使用知识图谱的测试用例推荐方法及装置,包括:获取目标测试需求;根据预先建立的知识图谱获取目标测试需求对应的目标测试项和目标测试用例;其中,知识图谱用于记录实体节点之间的节点关系,实体节点包括:测试需求、测试项和测试用例;根据目标测试项和目标测试用例确定推荐结果。本公开能够从目标测试需求出发,获取与其具有节点关系的目标测试项和目标测试用例,由此获取的推荐结果能够与目标测试需求具有较高的匹配度。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种使用知识图谱的测试用例推荐方法及装置。
背景技术
测试用例是测试的基本单元,通常包括用例说明、测试约束、测试步骤、测试需求等内容。测试过程是一个从测试需求到测试用例逐步细化的过程,在该过程中,用例说明、测试约束等内容用于区分不同的测试用例,测试步骤这一内容只能做到符合测试的基本流程,具体细节则需要手工修改,因此,测试用例的推荐重点在于对测试需求这一内容的理解。
目前,针对软件测试用例推荐的算法主要采用关键字匹配、代码覆盖率计算和机器学习等方法。其中,关键词匹配和代码覆盖率是基于概论推导,所依靠的是一定数量的测试用例的积累。机器学习等方法则是采用将测试用例拆分为基本测试步骤,再使用组合的方式推荐合适的用例给测试人员。可见,目前测试用例的推荐算法常常忽视了对测试需求的理解过程,缺少从测试需求到测试用例的完整过程,导致测试效率和测试质量较低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种使用知识图谱的测试用例推荐方法及装置。
本公开提供了一种使用知识图谱的测试用例推荐方法,包括:
获取目标测试需求;
根据预先建立的知识图谱获取所述目标测试需求对应的目标测试项和目标测试用例;其中,所述知识图谱用于记录实体节点之间的节点关系,所述实体节点包括:测试需求、测试项和测试用例;
根据所述目标测试项和所述目标测试用例确定推荐结果。
本公开提供了一种使用知识图谱的测试用例推荐装置,包括:
需求获取模块,用于获取目标测试需求;
搜索模块,用于根据预先建立的知识图谱获取所述目标测试需求对应的目标测试项和目标测试用例;其中,所述知识图谱用于记录实体节点之间的节点关系,所述实体节点包括:测试需求、测试项和测试用例;
推荐模块,用于根据所述目标测试项和所述目标测试用例确定推荐结果。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的使用知识图谱的测试用例推荐方法及装置,首先获取目标测试需求;然后根据预先建立的知识图谱获取目标测试需求对应的目标测试项和目标测试用例;最后根据目标测试项和目标测试用例确定推荐结果。本实施例构建了一种针对目标测试需求,从测试需求到测试用例的两级推荐方案,在该过程中以知识图谱为依托,从目标测试需求出发,获取与其具有节点关系的目标测试项和目标测试用例,由此获取的推荐结果能够与目标测试需求具有较高的匹配度,能够协助测试人员完成测试用例的设计,进而有利于提高测试效率和测试质量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所述使用知识图谱的测试用例推荐方法流程图;
图2为本公开实施例所述测试需求本体模型示意图;
图3为本公开实施例所述测试用例本体模型示意图;
图4为本公开实施例所述测试项和测试用例的推荐方法流程图;
图5为本公开实施例所述使用知识图谱的测试用例推荐装置的结构框图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
测试用例的推荐重点在于对测试需求的理解,而当前的应用常常忽视了对需求理解的过程,缺少从测试需求到测试用例的完整过程。诸如测试用例推荐的几种主要算法中,关键词匹配和代码覆盖率是基于概论推导,所依靠的是一定数量的测试用例的积累,推荐的准确率不高。机器学习等方法则是依靠采用将测试用例拆分为基本测试步骤,使用组合的方式推荐合适的用例给测试人员,其前提条件需要将测试用例进行预处理,由于测试对象和测试领域的差异,这种方法缺少适用性,需要不断的调整测试步骤以适应变化。可见,目前测试用例的推荐算法不但均在一些方面存在不足,更重要的是忽视了对测试需求的理解过程,缺少从测试需求到测试用例的完整过程,导致测试效率和测试质量较低。
考虑到知识图谱技术是近年来广泛使用的一种人工智能技术,通过大量的知识积累可以有效的为技术人员提供知识服务和辅助决策的服务。基于此,本公开实施例提供一种使用知识图谱的测试用例推荐方法及装置,使用知识图谱技术实现测试用例的管理,可以降低测试人员的工作难度,提升测试效率,并有助于提高测试质量。
参照图1所示的使用知识图谱的测试用例推荐方法流程图,本公开实施例提供的方法包括如下步骤:
步骤S102,获取目标测试需求。
在本实施例中,获取用户针对当前测试任务输入的目标测试需求;测试需求一般包括但不限于:测试级别、测试类型和被测软件,以及功能点、性能点等测试内容的描述。测试需求是用户提出的一系列关于被测对象的功能、性能等方面的描述和约束。测试需求与用户关系密切,是用户期望的系统输入,而测试项和测试用例是用户所期望的系统输出。
步骤S104,根据预先建立的知识图谱获取目标测试需求对应的目标测试项和目标测试用例。
其中,知识图谱用于记录实体节点之间的节点关系,实体节点包括:测试需求、测试项和测试用例。参照图2,节点关系包括:测试需求与测试项之间的覆盖关系、测试项和测试用例之间的设计关系等、测试项与测试项之间的第一相似关系、测试用例与测试用例之间的第二相似关系、测试需求的测试类型与测试用例之间的属于关系等。测试需求是用户所期望的系统输入,测试项和测试用例是用户所期望的系统输出。测试项作为连接测试需求和测试用例的桥梁,覆盖测试需求,依据测试项设计测试用例。
在获取目标测试需求后,根据知识图谱中的诸如覆盖关系和第一相似关系,获取目标测试需求对应的目标测试项,根据知识图谱中的诸如设计关系、第二相似关系和属于关系,获取目标测试需求对应的目标测试用例。
步骤S106,根据目标测试项和目标测试用例确定推荐结果。
本实施例可以将目标测试项和目标测试用例作为推荐结果。或者,还可以将目标测试项和目标测试用例作为待审核结果发送给用户终端,以使用户对待审核结果进行审核和修改;当接收到用户终端针对待审核结果的反馈结果后,再将反馈结果中审核通过或者修改后的目标测试项和目标测试用例作为最终推荐结果。而后,将推荐结果反馈给用户。
本公开实施例提供的使用知识图谱的测试用例推荐方法,首先获取目标测试需求;然后根据预先建立的知识图谱获取目标测试需求对应的目标测试项和目标测试用例;最后根据目标测试项和目标测试用例确定推荐结果。本实施例构建了一种针对目标测试需求,从测试需求到测试用例的两级推荐方案,在该过程中以知识图谱为依托,从目标测试需求出发,获取与其具有节点关系的目标测试项和目标测试用例,由此获取的推荐结果能够与目标测试需求具有较高的匹配度,能够协助测试人员完成测试用例的设计,进而有利于提高测试效率和测试质量。
为便于理解,本公开实施例对上述基于知识图谱的测试用例推荐方法展开描述。
首先关于知识图谱。结合实际应用中的用户需求及软件测评过程,本公开实施例基于测试需求、测试项和测试用例建立知识图谱,如图2所示。在知识图谱中,测试需求是核心内容,测试需求可以包含测试级别、被测软件(即对应的测试软件)等内容,测试级别可以继续扩展出测试类型;测试级别、测试类型和被测软件可以构造出对测试需求的本体描述。知识图谱的节点关系示例如下:测试需求指定测试级别,各测试级别包含至少一种测试类型,测试用例属于某一种测试类型,测试需求对应被测软件,测试用例用于测试被测软件。
图3展示了测试用例的本体描述,测试用例涵盖测试用例名、测试说明、测试方法、被测软件和工具等属性,测试软件的功能属性又可以进一步被扩展为窗体、控件等内容,具体可参照图3,在此不再一一列举。
在构建知识图谱过程中,实体节点所扩展出的测试级别、测试方法、被测软件等子节点是预先经过知识抽取得到的,本实施例对此提供一种可能的实现方式。在本实施例的应用场景中,由于文档的规范性要求,测试的输入内容基本满足半结构化的结构特点,测试需求、测试项和测试用例等测试策划和测试设计相关文档,各本体之间的关系则可以通过模板所规定的表格来构建,因此,知识抽取阶段的重点落在实体抽取,尤其是领域知识实体抽取。基于此,本实施例可以通过预先训练好的实体抽取模型对文档进行知识抽取,该文档包括测试需求、测试项和测试用例各自对应的文档,并得到上述实体节点各自扩展出来的子节点。
其中,实体抽取模型是基于训练语料训练得到的。以测试需求的文档为例,其涉及到的功能点、性能点等描述,可以通过人工的方式,根据领域经验构造训练语料,基于训练语料训练适用于相关领域的实体抽取模型。
或者,还可以使用NLP(Natural Language Processing,自然语言处理)技术,对文档进行词语标注,使用机器学习的方法完成实体抽取模型的训练,该方式能够改善语义抽取和消解等问题,进而能够提升知识图谱的合理性。本实施例的具体过程参照如下所示:
首先获取作为训练语料的测试需求样本。然后利用Brat(brat rapid annotationtool,快速注解工具),标记出测试需求样本中的需求实体,并将标记出的需求实体作为字典,采用BIO标注方式生成训练语料。最后基于训练语料对实体抽取模型进行训练,具体的,基于训练语料并利用NER(Name Entity Recognition,命名体识别)算法对实体抽取模型进行训练。
在本实施例中,不同于其他不同节点之间的节点关系,测试项与测试项之间的第一相似关系以及测试用例与测试用例之间的第二相似关系,是知识图谱中针对同一节点的特殊节点关系。上述相似关系是考虑到在实际测试过程中,测试用例相似度很高的情况很常见,功能相似而测试用例内容不同,很大程度上是因为设计人员的编写习惯以及测试场景不同,但它们的测试步骤等内容却可以相互借鉴。同时也考虑到测试项和测试用例的一对多关系,且随着项目积累,测试用例内容趋于稳定,因此可以将测试项类比为“人”,测试用例类比为“物”,计算基于行为的相似测试用例,扩展因内容不相似而行为高度重叠的相似关系。因此在节点关系基础上引入相似关系,计算分别测试用例和测试项的内容相似和行为相似关系,以扩展测试项和测试用例的设计关系。
在实施过程中,首先遍历所有测试项,并遍历有测试项所设计的测试用例,构建测试用例相关矩阵;接着遍历相关矩阵,计算并输出用例相似矩阵。
根据以上实施例构建的知识图谱,本实施例对上述步骤S104展开描述。如图4,根据知识图谱获取目标测试项和目标测试用例的过程包括如下步骤:
步骤S410,通过预先训练好的实体抽取模型从目标测试需求中抽取第一关键词。第一关键词一般为测试领域常用的用于描述测试需求的专业术语。
步骤S420,在预先建立的知识图谱中,搜索与第一关键词相关的需求实体;其中,需求实体用于表示在知识图谱中,目标测试需求扩展出的子节点,即包括:测试级别、测试类型和被测软件等。
本实施例在知识图谱中搜索是否存在与第一关键词相匹配的需求实体;针对知识图谱中存在的与第一关键词相匹配的需求实体,执行如下步骤S430,基于知识图谱进行搜索以输出测试项和测试用例;针对知识图谱中不存在的与第一关键词相匹配的需求实体,则执行如下步骤S440至步骤S460。
步骤S430,根据需求实体和节点关系,在知识图谱中搜索第一测试项和第一测试用例。具体实施过程包括:
步骤S431,根据需求实体和节点关系,在知识图谱中搜索第一测试项。
具体的,根据覆盖关系在知识图谱中搜索与目标测试需求对应的测试项,以及根据第一相似关系,搜索与该测试项相似的其他测试项,将搜索到的上述测试项共同作为第一测试项。
为了提升第一测试项的准确性,在实际应用中可以将第一测试项发送给用户进行审核。
步骤S432,接收用户针对第一测试项的审核结果;审核结果包括:第一测试项符合要求的判断结果,或者第一测试项对应的修改结果。
步骤S433,当审核结果为判断结果时,根据第一测试项在知识图谱中推荐第一测试用例。也即,经用户审核确定第一测试项符合要求,则根据第一测试项推荐第一测试用例。
或者,步骤S434,当审核结果为修改结果时,根据修改结果中修改后的测试项在知识图谱中推荐第一测试用例。也即,经用户审核确定第一测试项不符合要求,则用户对该第一测试项进行修改并反馈修改后的第一测试项;而后,根据修改后的第一测试项推荐第一测试用例。
根据第一测试项或修改后的第一测试项推荐第一测试用例的方法包括:在知识图谱中,根据设计关系搜索第一测试项对应的测试用例,根据需求实体之间的指定关系、包含关系和属于关系搜索测试类型对应的测试用例,根据对应关系和测试关系搜索被测软件对应的测试用例,以及根据第二相似关系搜索相似的测试用例;将以上搜索到的全部测试用例作为第一测试用例。
此外可以理解的是,针对第一测试用例,也可参照上述步骤S432-S434执行人工审核和修改的流程,在此不再展开描述。
在知识图谱中不存在的与第一关键词相匹配的需求实体的情况下,参照如下步骤S440至步骤S460。
步骤S440,利用分词工具对测试需求进行拆分,得到第二关键词。
步骤S450,使用文档搜索引擎,搜索与第二关键词相关的第二测试项和第二测试用例。
具体的,使用文档搜索引擎,搜索与第二关键词相关性高的测试项和/或测试用例,并选取相关性高的前n名的测试项和/或测试用例作为第二测试项和第二测试用例。
步骤S460,根据知识图谱,在第二测试项和第二测试用例中分别搜索与测试需求具有节点关系的第三测试项和第三测试用例。
通过上述步骤S430,和/或步骤S440至步骤S460,本实施例获取到目标测试需求对应的第一测试项、第三测试项以及第一测试用例、第三测试用例,接下来,执行如下步骤S470。
步骤S470,基于第一测试项和第一测试项获取目标测试项和目标测试用例。
在本实施例中,如果每个第一关键词均能够在知识图谱中搜索到匹配的需求实体,则将第一测试项和第一测试项分别作为目标测试项和目标测试用例。如果存在至少一个第一关键词不能在知识图谱中搜索到匹配的需求实体,则基于步骤S440至步骤S460,将第三测试项和第三测试用例分别加入至目标测试项和目标测试用例。
进一步的,根据目标测试项和目标测试用例确定推荐结果。
本公开上述实施例提供的测试用例推荐方法,构建的知识图谱能够建立从目标测试需求到目标测试用例的两级拓扑,将用户的输入(及目标测试需求)转换为系统输出(及目标测试项和目标测试用例)。通过对文档进行机器学习,训练实体抽取模型,通过该模型并根据测试人员输入的目标测试需求,抽取需求实体,通过推荐算法完成在知识图谱中对目标测试项和目标测试用例的推荐。在该过程中,还可以结合人工审核和修改的结果对测试项进行完善修改,将修改后的测试项做进一步处理,在知识图谱中搜索更为合适的测试用例并推荐给测试人员,协助测试人员完成测试用例的设计。
考虑到目标测试需求、目标测试项和目标测试用例是利用不同方式进行不断搜索,以及经过人工审核和修改之后的结果,因而能够更加准确地表达实体节点之间的节点关系。基于此,本实施例可以获取用户对目标测试需求、目标测试项和目标测试用例的关系确定信息,以及根据关系确定信息调整知识图谱。上述关系确定信息包括:目标测试需求、目标测试项和目标测试用例各自的本体描述的信息,以及目标测试需求、目标测试项和目标测试用例之间的节点关系的信息。
在实际应用中,测试项和测试用例之间存在两种关系,一种为测试项和用例之间为相对独立关系,一种为测试项和用例之间为组合关系。在此情况下,针对上述步骤S106,本实施例提供一种根据目标测试项和目标测试用例确定推荐结果的方法:
当目标测试项和目标测试用例之间为相对独立关系时,根据测试项和测试用例各自与测试需求之间的相似度,对测试项和测试用例进行排序,根据排序结果确定推荐结果,推荐结果包括互相独立的测试项和/或测试用例。
当目标测试项和目标测试用例之间为组合关系时,将完成同一项测试功能的测试项和测试用例的组合确定为推荐结果。组合关系中的多个目标测试项和目标测试用例共同完成同一项测试功能,此时将各个目标测试项和目标测试用例作为推荐结果一起推荐给测试人员。
考虑到用例推荐应用在测试项目不断叠加的环境下,已经积累的知识图谱可能无法做到较为准确匹配的推荐,因此本实施例以搜索文档作为补充手段,提供一种基于文档相关度的用例搜索方法,参照如下所示。
(I)对目标测试需求进行拆分,得到基于术语的关键词列表。
具体的,获取用户输入的目标测试需求,以领域术语词典,利用分词工具对目标测试需求进行精确分词,并使用停用词表过滤词列表,获取基于术语的关键词列表。
(II)遍历目标文档集,根据预设的打分表计算关键词列表中各个关键词与当前文档的相关度评分。其中,预设的打分表包括:表示关键词对目标文档集的重要程度的第一打分表,表示测试用例的重要程度的第二打分表;目标文档集包括推荐结果中的测试用例。
具体实施例为,计算关键词列表在目标文档集的文档频率。接着遍历目标文档集,计算关键词列表中各个关键词与当前文档的相关度评分。在计算过程中引入预设的打分表,打分表是为了区分关键词对搜索的贡献情况,与领域高度贴合的术语关键词和文档的贡献值越大,越容易区分不同的测试项目,提高搜索文档的准确性,减少重要且低频的关键词与文档相关性弱的情况。
上述第一打分表表示关键词对目标文档集的重要程度,是衡量术语与领域知识的相关程度,越相关的关键词,则其在搜索和区分文档时能够提供更高的分值。第二打分表表示对文档(即测试用例)的重要程度,是衡量测试文档与目标文档集的相关程度。上述第一打分表和第二打分表所表示的重要程度的计算过程相似,在此以第一打分表为例对重要程度的计算过程进行介绍,参照如下内容。
首先获取预先设置的术语重要等级的术语评级表;接着将术语评级表量化,并求出标准分数,根据标准分数剔除偏差大的量化评分表。将量化区间等分N份(如100份),并做区间统计。最后利用加权平均法计算出术语评级分值。
计算关键词权重如以下公式(1)所示:
其中,N指目标文档集的文档数,ni表示包含li(关键词列表的第i个关键词)的文本数量,1是为了避免分母为0的情况。wsi表示li的评级分值。
计算关键词对文档的相关性如以下公式(2)所示:
计算关键词对目标文档集的评分如以下公式(3)所示:
(III)根据相关度评分对推荐结果进行筛选。
根据以上公式计算出关键词对目标文档集的相关度评分后,根据相关度评分对推荐结果进行筛选,例如从目标文档集中筛选相关度评分排名较高的至少一个测试用例。
本实施例考虑到了训练语料的局限性,同时加上可能持续在相邻领域上扩展新的测试项目,在依靠知识图谱在新领域推荐测试用例的基础上,为了进一步提升测试用例的推荐准确率,本方案将基于文档的测试项或测试用例搜索推荐算法,作为知识图谱的搜索补充,能够适应领域扩充的场景。不同于现有的文本相似算法在计算词频和文档相关性时并未考虑词对文档集的重要程度,也就是未考虑词与领域的相关程度,本实施例利用词与领域相关程度越高,该词越能够区分/表示该领域,使用高相关词能够更为准确圈定搜索范围,提高推荐精度。从而在计算文本相似算法时,引入打分表,分别计算术语对文档集的重要程度和单个文档对文档集的重要程度。最后输出目标测试需求针对文档集的相关分值,并由此筛选更为准确的推荐结果。
综上,以上多个实施例提供的使用知识图谱的测试用例推荐方法,与现有的采用关键字匹配、代码覆盖率计算和机器学习等软件测试用例推荐算法相比,建立了关于测试需求的实体节点,从测试级别、测试类型、测试项等内容建立对测试需求的认识,以知识图谱的形式发掘从测试需求到测试用例的关系,同时在扩展领域和测试对象时能够基于现有关系,依据新旧领域和测试对象之间存在的连接关系,利用内容相似和行为相似相关算法,挖掘隐藏关系,从而为测试对象推荐相关的测试用例,指导测试人员设计符合要求的测试用例。
如图5所示,本公开实施例提供一种使用知识图谱的测试用例推荐装置,该装置包括:
需求获取模块502,用于获取目标测试需求;
搜索模块504,用于根据预先建立的知识图谱获取目标测试需求对应的目标测试项和目标测试用例;其中,知识图谱用于记录实体节点之间的节点关系,实体节点包括:测试需求、测试项和测试用例;
推荐模块506,用于根据目标测试项和目标测试用例确定推荐结果。
本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本公开实施例提供一种电子设备,电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述实施例提供的测试用例推荐方法。
本公开实施例提供一种计算机可读存储介质,存储介质存储有计算机程序,所述计算机程序用于执行上述实施例提供的测试用例推荐方法。
本公开实施例所提供的测试用例推荐方法、装置、电子设备及介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种使用知识图谱的测试用例推荐方法,其特征在于,包括:
获取目标测试需求;
根据预先建立的知识图谱获取所述目标测试需求对应的目标测试项和目标测试用例;其中,所述知识图谱用于记录实体节点之间的节点关系,所述实体节点包括:测试需求、测试项和测试用例;
根据所述目标测试项和所述目标测试用例确定推荐结果;
所述根据预先建立的知识图谱获取所述目标测试需求对应的目标测试项和目标测试用例,包括:
通过预先训练好的实体抽取模型从所述目标测试需求中抽取第一关键词;
在预先建立的知识图谱中,搜索与所述第一关键词相关的需求实体;其中,所述需求实体用于表示在所述知识图谱中,所述目标测试需求扩展出的子节点;
根据所述需求实体和所述节点关系,在所述知识图谱中搜索第一测试项和第一测试用例;
基于所述第一测试项和所述第一测试用例获取目标测试项和目标测试用例;
所述根据所述需求实体和所述节点关系,在所述知识图谱中搜索第一测试项和第一测试用例,包括:
根据所述需求实体和所述节点关系,在所述知识图谱中搜索第一测试项;
接收用户针对所述第一测试项的审核结果;所述审核结果包括:所述第一测试项符合要求的判断结果,或者所述第一测试项对应的修改结果;
当所述审核结果为所述判断结果时,根据所述第一测试项在所述知识图谱中推荐第一测试用例;
或者,当所述审核结果为修改结果时,根据所述修改结果中修改后的测试项在所述知识图谱中推荐所述第一测试用例。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用分词工具对所述测试需求进行拆分,得到第二关键词;
使用文档搜索引擎,搜索与所述第二关键词相关的第二测试项和第二测试用例;
根据所述知识图谱,在所述第二测试项和所述第二测试用例中分别搜索与所述测试需求具有节点关系的第三测试项和第三测试用例;
将所述第三测试项和所述第三测试用例分别加入至所述目标测试项和所述目标测试用例。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取作为训练语料的测试需求样本;
利用快速注解工具Brat,标记出所述测试需求样本中的需求实体,并将标记出的需求实体作为字典,采用BIO标注方式生成训练语料;
基于所述训练语料对实体抽取模型进行训练。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用户对所述目标测试需求、所述目标测试项和所述目标测试用例的关系确定信息,以及根据所述关系确定信息调整所述知识图谱。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标测试项和所述目标测试用例确定推荐结果,包括:
当所述目标测试项和所述目标测试用例之间为相对独立关系时,根据测试项和测试用例各自与测试需求之间的相似度,对所述测试项和所述测试用例进行排序,根据排序结果确定推荐结果,所述推荐结果包括互相独立的测试项和/或测试用例;
当所述目标测试项和所述目标测试用例之间为组合关系时,将完成同一项测试功能的测试项和测试用例的组合确定为推荐结果。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述目标测试需求进行拆分,得到基于术语的关键词列表;
遍历目标文档集,根据预设的打分表计算所述关键词列表中各个关键词与所述目标文档集中各个文档的相关度评分;其中,所述预设的打分表包括:表示关键词对所述目标文档集的重要程度的第一打分表,表示测试用例的重要程度的第二打分表;所述目标文档集包括所述推荐结果中的测试用例;
根据所述相关度评分对所述推荐结果进行筛选。
7.根据权利要求1所述的方法,其特征在于,所述测试需求包括:测试级别、测试类型和被测软件。
8.一种使用知识图谱的测试用例推荐装置,其特征在于,包括:
需求获取模块,用于获取目标测试需求;
搜索模块,用于根据预先建立的知识图谱获取所述目标测试需求对应的目标测试项和目标测试用例;其中,所述知识图谱用于记录实体节点之间的节点关系,所述实体节点包括:测试需求、测试项和测试用例;
推荐模块,用于根据所述目标测试项和所述目标测试用例确定推荐结果;
所述根据预先建立的知识图谱获取所述目标测试需求对应的目标测试项和目标测试用例,包括:
通过预先训练好的实体抽取模型从所述目标测试需求中抽取第一关键词;
在预先建立的知识图谱中,搜索与所述第一关键词相关的需求实体;其中,所述需求实体用于表示在所述知识图谱中,所述目标测试需求扩展出的子节点;
根据所述需求实体和所述节点关系,在所述知识图谱中搜索第一测试项和第一测试用例;
基于所述第一测试项和所述第一测试用例获取目标测试项和目标测试用例;
所述根据所述需求实体和所述节点关系,在所述知识图谱中搜索第一测试项和第一测试用例,包括:
根据所述需求实体和所述节点关系,在所述知识图谱中搜索第一测试项;
接收用户针对所述第一测试项的审核结果;所述审核结果包括:所述第一测试项符合要求的判断结果,或者所述第一测试项对应的修改结果;
当所述审核结果为所述判断结果时,根据所述第一测试项在所述知识图谱中推荐第一测试用例;
或者,当所述审核结果为修改结果时,根据所述修改结果中修改后的测试项在所述知识图谱中推荐所述第一测试用例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111264963.9A CN113900954B (zh) | 2021-10-28 | 2021-10-28 | 一种使用知识图谱的测试用例推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111264963.9A CN113900954B (zh) | 2021-10-28 | 2021-10-28 | 一种使用知识图谱的测试用例推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113900954A CN113900954A (zh) | 2022-01-07 |
CN113900954B true CN113900954B (zh) | 2022-06-10 |
Family
ID=79027337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111264963.9A Active CN113900954B (zh) | 2021-10-28 | 2021-10-28 | 一种使用知识图谱的测试用例推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900954B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114595106B (zh) * | 2022-05-10 | 2022-08-16 | 景网技术有限公司 | 一种业务控制设备调测方法及装置 |
CN117453576B (zh) * | 2023-12-25 | 2024-04-09 | 企迈科技有限公司 | 基于DXM模型的SaaS软件测试用例构建方法 |
CN117591624B (zh) * | 2024-01-18 | 2024-04-05 | 航天中认软件测评科技(北京)有限责任公司 | 一种基于语义索引关系的测试用例推荐方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708703A (zh) * | 2020-06-18 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 测试案例集生成方法、装置、设备及计算机可读存储介质 |
CN112925723A (zh) * | 2021-04-02 | 2021-06-08 | 上海复深蓝软件股份有限公司 | 测试服务推荐方法、装置、计算机设备及存储介质 |
CN113254354A (zh) * | 2021-07-02 | 2021-08-13 | 南昌航空大学 | 测试用例推荐方法、装置、可读存储介质及电子设备 |
CN113282519A (zh) * | 2021-07-22 | 2021-08-20 | 北京关键科技股份有限公司 | 一种用于软件测试的用例数据推荐方法、系统和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11341028B2 (en) * | 2020-01-02 | 2022-05-24 | International Business Machines Corporation | Structured query language runtime access path generation for deep test in a database |
-
2021
- 2021-10-28 CN CN202111264963.9A patent/CN113900954B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708703A (zh) * | 2020-06-18 | 2020-09-25 | 深圳前海微众银行股份有限公司 | 测试案例集生成方法、装置、设备及计算机可读存储介质 |
CN112925723A (zh) * | 2021-04-02 | 2021-06-08 | 上海复深蓝软件股份有限公司 | 测试服务推荐方法、装置、计算机设备及存储介质 |
CN113254354A (zh) * | 2021-07-02 | 2021-08-13 | 南昌航空大学 | 测试用例推荐方法、装置、可读存储介质及电子设备 |
CN113282519A (zh) * | 2021-07-22 | 2021-08-20 | 北京关键科技股份有限公司 | 一种用于软件测试的用例数据推荐方法、系统和介质 |
Non-Patent Citations (1)
Title |
---|
面向测试案例的领域知识图谱构建及应用;金初阳;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20200615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113900954A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113900954B (zh) | 一种使用知识图谱的测试用例推荐方法及装置 | |
CN110188168B (zh) | 语义关系识别方法和装置 | |
CN108804521B (zh) | 一种基于知识图谱的问答方法及农业百科问答系统 | |
CN107329949B (zh) | 一种语义匹配方法和系统 | |
CN106156204B (zh) | 文本标签的提取方法和装置 | |
CN112699246B (zh) | 基于知识图谱的领域知识推送方法 | |
CN112163077B (zh) | 一种面向领域问答的知识图谱构建方法 | |
CN104794169B (zh) | 一种基于序列标注模型的学科术语抽取方法及系统 | |
CN105528437B (zh) | 一种基于结构化文本知识提取的问答系统构建方法 | |
CN111475623A (zh) | 基于知识图谱的案件信息语义检索方法及装置 | |
CN110347787B (zh) | 一种基于ai辅助面试场景的面试方法、装置及终端设备 | |
US20180341686A1 (en) | System and method for data search based on top-to-bottom similarity analysis | |
CN111090771B (zh) | 歌曲搜索方法、装置及计算机存储介质 | |
CN114706972B (zh) | 一种基于多句压缩的无监督科技情报摘要自动生成方法 | |
CN114661872B (zh) | 一种面向初学者的api自适应推荐方法与系统 | |
CN112749272A (zh) | 面向非结构化数据的新能源规划性文本智能推荐方法 | |
CN111460145A (zh) | 一种学习资源推荐方法、设备及存储介质 | |
CN115905487A (zh) | 文档问答方法、系统、电子设备及存储介质 | |
CN111488453B (zh) | 资源分级方法、装置、设备及存储介质 | |
CN112463944B (zh) | 一种基于多模型融合的检索式智能问答方法及装置 | |
CN110750632B (zh) | 一种改进的中文alice智能问答方法及系统 | |
CN117093670A (zh) | 一种论文智能推荐专家的实现方法 | |
Ye et al. | A sentiment based non-factoid question-answering framework | |
CN112417170A (zh) | 面向不完备知识图谱的关系链接方法 | |
CN114281942A (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 |