掌桥专利:专业的专利平台
掌桥专利
首页

基于知识图谱的测试案例的生成方法和装置

文献发布时间:2024-04-18 19:58:21


基于知识图谱的测试案例的生成方法和装置

技术领域

本申请涉及软件测试技术领域,具体而言,涉及一种基于知识图谱的测试案例的生成方法、装置、计算机可读存储介质和案例管理系统。

背景技术

银行业务具有复杂度高、变化快的特点,近年来逐渐采用结构化或者半结构化的业务需求来应对业务的快速变化,提升业务能力。

目前主流的测试分析方法一种是人工分析测试需求,梳理思维导图,形成测试大纲和测试用例,这种方式会消耗大量的人力,且不能保证测试案例的质量,无法满足对于敏捷测试的要求。目前也有通过知识图谱来查找测试案例的方案,输入测试需求,在知识图谱中查找已有知识或相似知识,但是这种方式只能实现相似需求的测试案例复用,当检索要素在现有的测试案例知识库中不存在时,无法对新增需求进行处理,只能输出相似需求的测试案例。

发明内容

本申请的主要目的在于提供一种基于知识图谱的测试案例的生成方法、装置、计算机可读存储介质和案例管理系统,以至少解决现有技术中知识图谱只能查找相似的案例,无法对新增需求进行处理问题。

为了实现上述目的,根据本申请的一个方面,提供了一种基于知识图谱的测试案例的生成方法,包括:获取新增业务需求,其中,所述新增业务需求为知识图谱中未存储的业务需求,所述业务需求为办理业务的需求;构建案例生成模型,其中,所述案例生成模型是使用多组训练数据训练得到的,所述多组训练数据中的每一组训练数据均包括历史时间段内获取的历史业务需求、历史知识库、历史业务规则和历史测试案例;将所述新增业务需求输入至所述案例生成模型,得到所述新增业务需求对应的新增测试案例;将所述新增业务需求和对应的所述新增测试案例输入到所述知识图谱中,得到更新后的知识图谱,其中,所述更新后的知识图谱中至少包括所述业务需求、所述业务需求对应的测试案例、所述新增业务需求和所述新增业务需求对应的所述新增测试案例。

可选地,将所述新增业务需求输入至所述案例生成模型,得到所述新增业务需求对应的新增测试案例,包括:采用深度学习技术对所述新增业务需求进行结构化处理,得到至少一个结构化需求,其中,所述结构化处理为对所述新增业务需求进行有序化、规范化的拆分处理,一个所述结构化需求对应一个测试场景或者一个测试步骤;将所有的所述结构化需求依次输入至所述案例生成模型,得到所有的所述新增业务需求对应的所述新增测试案例,其中,一个所述新增业务需求对应至少一个所述结构化需求,一个所述结构化需求对应至少一个所述新增测试案例。

可选地,所述知识图谱中还包括测试要点,所述测试要点为测试一条所述测试案例的任务,将所有的所述结构化需求依次输入至所述案例生成模型,得到所有的所述新增业务需求对应的所述新增测试案例,包括:在所述知识图谱中查找是否有所述结构化需求对应的所述测试要点;在查找到有所述结构化需求对应的所述测试要点的情况下,将所述结构化需求对应的所述测试要点提取出来作为目标测试要点;在查找到与所述结构化需求的业务相似度大于相似度阈值的目标业务的情况下,根据所述结构化需求对所述目标业务的所述测试要点进行更新,得到所述目标测试要点;在未查找到有所述结构化需求对应的所述测试要点的情况下,根据所述结构化需求生成所述目标测试要点;将所述目标测试要点输入至所述案例生成模型,得到所有的所述新增业务需求对应的所述新增测试案例。

可选地,在获取新增业务需求之前,所述方法还包括:对业务数据进行数据清洗,得到清洗后的业务数据,其中,所述业务数据包括所述业务需求、所述业务需求对应的所述测试案例;对所述清洗后的业务数据进行数据校验,得到校验结果,其中,所述数据校验包括一致性校验、完整性校验和准确性校验中的一种或者多种;在所述校验结果表征通过校验的情况下,根据校验通过的所述业务数据生成知识库,在所述校验结果表征不通过校验的情况下,生成提示信息。

可选地,在构建案例生成模型之前,所述方法还包括:构建基础模型,其中,所述基础模型是使用多组训练数据训练得到的,所述多组训练数据中的每一组训练数据均包括历史时间段内获取的所述历史业务需求、所述历史知识库、所述历史业务规则和所述历史测试案例;对所述基础模型进行优化处理,得到所述案例生成模型,其中,优化处理包括调整模型参数、调整覆盖率、相似度比对中的一种或者多种。

可选地,在获取新增业务需求之后,所述方法还包括:数据准备步骤,获取结构化需求,获取所述案例生成模型生成的测试案例;知识抽取步骤,获取用于构建所述知识图谱的主体,所述主体为所述知识图谱中的中心节点,获取所述业务需求和所述测试案例之间的关联关系;知识融合步骤,对所述知识抽取步骤中抽取的知识进行融合处理,所述融合处理包括关系对齐、关系消歧和关系校验中的一个或者多个;知识应用步骤,将所述业务需求作为实体、所述测试案例作为属性和所述关联关系作为三元组构建所述知识图谱。

可选地,在构建所述知识图谱之后,所述方法还包括:获取查询需求,其中,所述查询需求为从所述知识图谱中查询所述业务需求和/或查询所述测试案例的需求;根据所述查询需求中的关键词在所述知识图谱中进行关键词搜索,得到搜索结果,并将所述搜索结果以图示的方式进行展示。

根据本申请的另一方面,提供了一种基于知识图谱的测试案例的生成装置,包括:第一获取单元,用于获取新增业务需求,其中,所述新增业务需求为知识图谱中未存储的业务需求,所述业务需求为办理业务的需求;第一构建单元,用于构建案例生成模型,其中,所述案例生成模型是使用多组训练数据训练得到的,所述多组训练数据中的每一组训练数据均包括历史时间段内获取的历史业务需求、历史知识库、历史业务规则和历史测试案例;第一处理单元,用于将所述新增业务需求输入至所述案例生成模型,得到所述新增业务需求对应的新增测试案例;更新单元,用于将所述新增业务需求和对应的所述新增测试案例输入到所述知识图谱中,得到更新后的知识图谱,其中,所述更新后的知识图谱中至少包括所述业务需求、所述业务需求对应的测试案例、所述新增业务需求和所述新增业务需求对应的所述新增测试案例。

根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述基于知识图谱的测试案例的生成方法。

根据本申请的又一方面,提供了一种案例管理系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的基于知识图谱的测试案例的生成方法。

应用本申请的技术方案,如果有新增的业务需求的时候,根据案例生成模型生成新增业务需求对应的测试案例,这样由新增的业务需求时候得到的测试案例与新增业务需求是对应的,再将新增业务需求和对应的新增测试案例输入到知识图谱中,这样知识图谱中可以保存新增测试业务需求和新增测试业务需求对应的新增测试案例,因此通过本方案可以对现有知识图谱外的需求进行测试案例生成。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出了根据本申请的实施例中提供的一种执行基于知识图谱的测试案例的生成方法的移动终端的硬件结构框图;

图2示出了根据本申请的实施例提供的一种基于知识图谱的测试案例的生成方法的流程示意图;

图3示出了测试分析与案例生成的流程示意图;

图4示出了专家知识库构建的流程示意图;

图5示出了测试案例生成模型构建的流程示意图;

图6示出了测试的知识图谱构建的流程示意图;

图7示出了根据本申请的实施例提供的一种基于知识图谱的测试案例的生成装置的结构框图。

其中,上述附图包括以下附图标记:

102、处理器;104、存储器;106、传输设备;108、输入输出设备。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:

机器学习:机器通过统计学算法,对大量历史数据进行学习,进而利用生成的经验模型指导业务;

自然语言处理:以语言为对象,利用计算机技术来分析、理解和处理自然语言的一门学科,即把计算机作为语言研究的强大工具,在计算机的支持下对语言信息进行定量化的研究,并提供可供人与计算机之间能共同使用的语言描写;

知识图谱:显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。

银行业务具有复杂度高、变化快的特点,近年来逐渐采用结构化或者半结构化的业务需求来应对业务的快速变化,提升业务能力。为了快速响应需求变更,需要一套更加精确、高效的测试技术和方法来提升测试效率和测试精度。

目前主流的测试分析方法有两种,一种是人工分析测试需求,梳理思维导图,形成测试大纲和测试用例,这种方式会消耗大量的人力,且不能保证测试案例的质量,无法满足对于敏捷测试的要求。另一种是预先生成神经网络模型和测试案例知识图谱,输入测试需求,通过神经网络模型查找是否为相似需求。若为相似需求,查询测试用例知识图谱,输出测试案例,这种方式只能实现相似需求的测试案例复用,无法对新增需求进行处理。

对于目前的方案,是通过现有的测试用例进行划分与标记,经过模型和知识图谱训练后形成测试案例集知识库。获取案例关键词,对案例关键词进行语义分析,得到语义分析结果;根据语义分析结果,检索测试案例集知识库以获取检索结果,若根据检索结果判定测试案例集知识库中存在相似案例集,则获取目标相似案例集;利用知识图谱对案例关键词和目标相似案例集进行分析以生成测试案例集。

正如背景技术中所介绍的,现有技术中知识图谱只能查找相似的案例,无法对新增需求进行处理,为解决如上的问题,本申请的实施例提供了一种基于知识图谱的测试案例的生成方法、装置、计算机可读存储介质和案例管理系统。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种基于知识图谱的测试案例的生成方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的基于知识图谱的测试案例的生成方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本申请实施例的一种基于知识图谱的测试案例的生成方法的流程示意图。如图2所示,该方法包括以下步骤:

步骤S201,获取新增业务需求,其中,上述新增业务需求为知识图谱中未存储的业务需求,上述业务需求为办理业务的需求;

具体地,知识图谱中会预先存储一些业务需求,如果来了新的业务需求,即新增业务需求,可以从知识图谱中进行查询,确定知识图谱中是否有对应相同的业务需求,如果知识图谱中没有与新的业务需求对应相同的业务需求,那么这个新来的业务需求即为新增业务需求。

步骤S202,构建案例生成模型,其中,上述案例生成模型是使用多组训练数据训练得到的,上述多组训练数据中的每一组训练数据均包括历史时间段内获取的历史业务需求、历史知识库、历史业务规则和历史测试案例;

具体地,历史知识库为预先标记好的专家知识库,专家知识库是指一个集合了专家知识和经验的数据库或资源库。

具体地,可以采用历史数据进行机器学习训练,历史数据包括历史业务需求、历史业务需求对应的历史测试案例,历史知识库、历史知识库对应的历史测试案例,历史业务规则、历史业务规则对应的历史测试案例,历史测试案例是基于历史业务需求、历史知识库、历史业务规则生成的,历史测试案例是历史时间段内基于历史业务需求、历史知识库、历史业务规则已经构建好的测试案例,通过学习历史数据中的模式和规律来进行预测、分类或生成新的数据,进而可以得到案例生成模型。

步骤S203,将上述新增业务需求输入至上述案例生成模型,得到上述新增业务需求对应的新增测试案例;

具体地,使用现有的方法进行测试分析有以下缺点存在:只能处理相似需求,不能对新增需求进行测试分析和用例生成,现有方法的测试案例知识库的输入来源单一,不支持结构化业务知识、半结构化业务需求和交易基线的输入。因此只能查找已有知识或相似知识,输出已有用例或根据相似用例生成新案例,且通过这种方式生成的案例与业务需求存在一定误差。当检索要素在现有的测试案例知识库中不存在时,不能对其进行后续处理。

例如,知识图谱中存储的业务需求A,现在如果有业务需求A’的话,在知识图谱中是可以查找到业务需求A的测试案例的,但是如果新增的业务需求为B,由于知识图谱中未存储有关于业务需求B任何的知识,因此得到的测试案例是完全不准确的,可能得到的是业务需求A的测试案例的或者业务需求C的测试案例。

因此,按照本申请的方案,如果有新增的业务需求,将新增的业务需求C输入到案例生成模型中,就可以生成新增的业务需求C对应的新增测试案例,即对新增的业务需求C扩充测试案例。

当然,如果业务需求是A,而知识图谱中本来就存储有业务需求A的测试案例的话,也可以不将业务需求A输入到案例生成模型中,直接用知识图谱中的业务需求A的测试案例即可,或者为了进一步扩充测试案例,可以将业务需求A输入到案例生成模型,以对业务需求A的测试案例进行扩充。

步骤S204,将上述新增业务需求和对应的上述新增测试案例输入到上述知识图谱中,得到更新后的知识图谱,其中,上述更新后的知识图谱中至少包括上述业务需求、上述业务需求对应的测试案例、上述新增业务需求和上述新增业务需求对应的上述新增测试案例。

具体地,知识图谱中预先存储有业务需求、业务需求对应的测试案例,在根据案例生成模型生成了新增业务需求对应的新增测试案例的情况下,可以对知识图谱进行更新,将新增业务需求和对应的新增测试案例输入到知识图谱中,这样可以对知识图谱进行完善。

通过本实施例,如果有新增的业务需求的时候,根据案例生成模型生成新增业务需求对应的测试案例,这样由新增的业务需求时候得到的测试案例与新增业务需求是对应的,再将新增业务需求和对应的新增测试案例输入到知识图谱中,这样知识图谱中可以保存新增测试业务需求和新增测试业务需求对应的新增测试案例,因此通过本方案可以对现有知识图谱外的需求进行测试案例生成。

具体地,本申请的方案中,提供了一种测试分析和测试案例生成的方法,目的是快速分析需求,减少人工编写测试案例的时间和工作量,从而提高测试效率,降低人员成本。

新增业务需求往往是一个大需求,会包括很多个步骤或者场景才能实现新增业务需求,因此可以对新增业务需求进行拆分,以更好地分析新增业务需求,具体实现过程中,将上述新增业务需求输入至上述案例生成模型,得到上述新增业务需求对应的新增测试案例,可以通过以下步骤实现:采用深度学习技术对上述新增业务需求进行结构化处理,得到至少一个结构化需求,其中,上述结构化处理为对上述新增业务需求进行有序化、规范化的拆分处理,一个上述结构化需求对应一个测试场景或者一个测试步骤;将所有的上述结构化需求依次输入至上述案例生成模型,得到所有的上述新增业务需求对应的上述新增测试案例,其中,一个上述新增业务需求对应至少一个上述结构化需求,一个上述结构化需求对应至少一个上述新增测试案例。

该方案中,可以将新增业务需求进行结构化处理,将新增业务需求拆分成至少一个结构化需求,这样可以更好地分析新增业务需求,减少对于需求的歧义和误解,当然,结构化的需求更容易被计算机程序处理和分析,可以支持自动化的需求管理、需求跟踪、需求优先级排序等任务,结构化需求也可以更容易地进行分类、归档和检索,促进需求的重用,因此可以将依次结构化需求依次输入到案例生成模型中,每一个结构化需求可以生成至少一个新增测试案例,这样可以根据每一步的需求更高效地生成新增测试案例。

具体地,新增业务需求和结构化需求可以是一对多的关系,而结构化需求和新增测试案例也可以是一对多的关系,因此可以将新增业务需求拆分成一个一个小的结构化需求,每一个小的结构化需求都可以生成多个新增测试案例,如果直接用新增业务需求输入到案例生成模型中可能有其中一部分需求未识别到造成生成的新增测试案例质量不高,造成生成测试案例的效率较低,因此将新增业务需求进行拆分处理,得到的多个结构化需求再输入到案例生成模型中生成新增测试案例,可以避免这种情况出现,可以对每一步骤的需求都进行分析,来生成对应的新增测试案例。

采用深度学习技术来对业务需求进行结构化处理,可以对数据进行清洗、预处理和标注,使其适合用于深度学习模型训练,选择适合处理业务需求的深度学习模型,如循环神经网络(RNN)、卷积神经网络(CNN)或Transformer等,根据需求的特点和数据类型进行模型的选择和设计,对原始数据进行特征提取,将其转化为模型可以理解和处理的形式。对于文本数据,可以使用词嵌入技术将文本转化为向量表示;对于图像数据,可以使用卷积神经网络提取特征;对于语音数据,可以使用声学特征提取技术。使用准备好的数据集对深度学习模型进行训练。根据需求和数据量的大小,选择适当的优化算法和损失函数进行模型训练。通过迭代优化模型参数,使模型能够更好地拟合数据,提高需求结构化的准确性。使用测试集对训练好的模型进行评估,计算模型的准确率、召回率、F1值等指标,评估模型的性能和泛化能力。根据评估结果对模型进行调优和改进。将训练好的模型部署到实际的业务场景中,对新的业务需求进行结构化处理。可以通过API接口、移动应用等方式提供结构化需求的服务。

具体地,在获取到一个新的业务需求的时候,可以先在知识图谱里面进行检索,确定是否可以在知识图谱中找到相同的业务需求,如果在知识图谱中可以找到相同的业务需求,那么直接提取出来知识图谱中存储的业务需求的测试案例,如果在知识图谱中找不到相同的业务需求,那么可以将新的业务需求输入到案例生成模型以生成新增的测试案例。

具体地,新增的业务需求可以按照深度学习技术进行处理,例如采用自然语言处理,有一个新增的业务需求是用户A要给用户B转账,如果按照自然语言处理,可以识别自然语言,转换为结构化的需求,整理为有序化且规范化的流程,例如第一步的结构化需求是业务场景是转账,第二步的结构化需求是参与转账的用户是用户A和用户B,第三步的结构化需求是转账的类型是手机银行转账或者网点转账或者ATM机转账,第四步的结构化需求是检查用户A的账户余额是否满足转账需求(如果转账金额是500元而用户A的账户余额是100元的话是无法满足转账需求的),如果满足转账需求,第五步的结构化需求是从用户A的账户余额扣除金额,第六步的结构化需求是将用户B的账户余额增加金额。

对于知识库中还具备相关领域的测试要点,通过这些测试要点可以更好地指导测试工作,具体实现过程中,上述知识图谱中还包括测试要点,上述测试要点为测试一条上述测试案例的任务,将所有的上述结构化需求依次输入至上述案例生成模型,得到所有的上述新增业务需求对应的上述新增测试案例,可以通过以下步骤实现:在上述知识图谱中查找是否有上述结构化需求对应的上述测试要点;在查找到有上述结构化需求对应的上述测试要点的情况下,将上述结构化需求对应的上述测试要点提取出来作为目标测试要点;在查找到与上述结构化需求的业务相似度大于相似度阈值的目标业务的情况下,根据上述结构化需求对上述目标业务的上述测试要点进行更新,得到上述目标测试要点;在未查找到有上述结构化需求对应的上述测试要点的情况下,根据上述结构化需求生成上述目标测试要点;将上述目标测试要点输入至上述案例生成模型,得到所有的上述新增业务需求对应的上述新增测试案例。

该方案中,可以在知识图谱中寻找测试要点,如果可以在知识图谱中找到相同的或者相似的测试要点,可以将相同的测试要点直接作为目标测试要点,如果在知识图谱中找到相似的测试要点,可以直接根据测试要点进行更新得到目标测试要点,如果在知识图谱中无法找到测试要点,那么直接生成新的测试要点即可,这样可以保证测试工作的全面性和准确性,可以避免从零开始设计测安案例,节省了一部分的生成测试案例的时间,同时还可以保证测试的一致性和可追溯性,进而可以根据目标测试要点来生成新增测试案例,这样可以提高测试工作的效率和质量,进一步保证测试的全面性、准确性、一致性和可追溯性,并具有可重复性和可扩展性。

具体地,相似度阈值可以是80%,或者90%,或者其他任何可行的数值。

当然,还可以将目标测试要点和结构化需求输入到知识图谱中,这样更新后的知识图谱包括述业务需求、业务需求对应的测试案例、新增业务需求、新增业务需求对应的新增测试案例、目标测试要点和结构化需求。

具体地,对于测试分析和案例生成整理的流程如图3所示,包括以下几个步骤:步骤(1),通过人工分析或者深度学习的方法对业务需求进行结构化处理,得到标准的结构化需求;步骤(2),将结构化需求进行实体识别、查询现有的测试知识图谱,对其所有测试要点进行差分,输出需要新增、修改、删除的测试要点;步骤(3),将新增、修改的测试要点输入案例生成模型,输出测试要点对应的测试案例;步骤(4),根据上述步骤(2)、步骤(3)的结果更新知识图谱,以及知识图谱中已有的测试要点及测试案例,得到需求对应的测试案例集。

具体地,对于上述的2),可以是在知识图谱中进行检索,将提取到的机构化需求输入到知识图谱中,可以查找渠道(例如是转账,是手机转账还是网点转账),将知识图谱中的内容都检索出来,例如检索到用户,可以确定如果是个人用户的话,所关联的场景可以是用户、用户使用的产品、用户使用转账的渠道,所做到的事情是转账、存钱、取钱等等,将以上内容做成知识图谱。进行实体识别可以识别到渠道、实体、网点、银行、网银、自主设备、用户类型(个人用户、公司用户、政府用户、金融机构),有了业务需求之后,拆分为结构化的需求,找到其中的实体输入到知识图谱中,确定所需要找的结构化需求中哪些是知识图谱中有的,哪些是知识图谱中没有的,然后将查找结果反向更新知识图谱。

例如,对于上述的删除测试要点,是由于有许多结构化的公共的步骤,例如不论是转账还是取钱,都需要查询卡里的余额,这个动作可以应用到很多的场景,可以将重复的动作删除。

再例如,在新增的需求里面,可能是在现有的场景里面衍生出来的,如果有一份需求是网点转账,那么现在新增的需求是手机银行转账,那么在网点转账中的一个测试要点是身份证验证,而对于手机银行转账,一般是不需要柜面上的身份证验证的,而是需要手机上登录APP,因此可以在网点转账的基础上,增加一个登录的测试要点,然后删除一个身份证验证的测试要点。

具体地,本申请的方案可以通过客户、渠道、产品、需求点对业务需求、测试用例的进行多维度检索和分析,可以对新增需求进行案例生成。通过查询知识图谱,识别出新增测试要点。可对现有知识图谱外的需求进行测试案例生成。

本申请的方案可以对存量测试案例进行精准复用。基于结构化需求生成的测试知识图谱,可对新增需求进行实体识别,在测试知识图谱中进行准确查找,实现案例的精准复用。

为了滤除数据的噪声,提高数据的质量和准确性,以确保用于构建知识库的数据的可信度和可靠性更高,在获取新增业务需求之前,上述方法还包括以下步骤:对业务数据进行数据清洗,得到清洗后的业务数据,其中,上述业务数据包括上述业务需求、上述业务需求对应的上述测试案例;对上述清洗后的业务数据进行数据校验,得到校验结果,其中,上述数据校验包括一致性校验、完整性校验和准确性校验中的一种或者多种;在上述校验结果表征通过校验的情况下,根据校验通过的上述业务数据生成知识库,在上述校验结果表征不通过校验的情况下,生成提示信息。

该方案中,可以对数据进行清洗和校验,原始的业务数据可能包含噪声、错误或者不完整的信息,通过数据清洗可以去除这些问题,提高数据的质量和可靠性,并且可以使数据符合一致性的标准和格式,这样有助于在知识库中建立统一的数据模型和结构,方便后续的数据分析和应用,并且数据时经过了清洗和校验的,通过清洗和校验的数据可以生成更高质量的知识库,进一步提高知识库中的知识的准确性。

具体地,将深度学习技术应用于测试案例自动生成场景,模型构建主要包括如下步骤:

步骤1、构建专家知识库;步骤2、生成基础模型;步骤3、通过基础模型进行优化生成案例生成模型。

具体地,专家知识库是基于业务需求、现有测试案例库、专家经验等信息,通过使用需求的标准结构化(如业务建模)、自然语言处理等技术构建,主要用于建立需求和测试案例的关联,辅助训练大模型和对大模型生成的测试用例数据进行验证,如图4所示,构建专家知识库的主要流程包括:

步骤A,临时层数据抽取:通过ETL数据抽取的方式抽取结构化业务需求数据、测试案例数据等完善基础数据的取样,并经过数据清洗等方式对数据进行简单的加工;

步骤B,数据层业务处理:读取经过临时层加工后的需求数据和测试案例数据根据需求规则模板提取需求数据和经过标注的测试案例数据,其中,规则模板是把业务需求转换为结构化需求进行标记,即对测试案例中所做的事情(例如通过柜面转账或者通过网点取钱)、所需要的节点、以及测试原因进行标记,这样将数据标记好之后有利于后续的机器学习;

步骤C,数据质量校验:在数据层ETL操作时会进行一致性校验、完整性校验、准确性校验等校验。

具体地,对清洗后的业务数据进行一致性校验可以根据业务需求和数据特点,确定一致性规则,如数据字段的取值范围、关联关系等。验证数据字段的类型和格式是否符合规定,如日期字段的格式、数字字段的数据类型等。检查数据是否满足预定义的约束条件,如唯一性约束、外键约束等。对比不同数据源之间的数据,确保关键字段的值一致性,如客户信息在不同系统中的一致性。如果发现数据不一致,需要进行冲突解决,如通过数据合并、数据更新等方式解决冲突。

具体地,对清洗后的业务数据进行完整性校验可以根据业务需求和数据特点,确定完整性规则,如必填字段、关联关系、数据范围等。验证数据是否包含必填字段,确保数据的完整性。验证数据之间的关联关系是否存在,如外键关联、父子关系等。验证数据是否在规定的范围内,如年龄是否在合理范围、金额是否在预设范围等。如果发现数据缺失,根据业务规则进行数据补充,确保数据的完整性。

具体地,对清洗后的业务数据进行准确性校验可以根据业务需求和数据特点,明确数据的准确性标准和期望结果。这可以包括数据的正确性、逻辑关系、合法性等方面。收集需要校验的业务数据,并进行清洗和预处理,确保数据的质量和一致性。这可以包括去除重复数据、处理缺失值、处理异常值等。根据数据类型和校验需求,选择合适的数据验证方法。常见的方法包括规则验证、逻辑验证、算法验证等。根据业务规则和预定义的规则,对数据进行验证。例如,验证日期字段是否符合指定的格式,验证数值字段是否在合理范围内等。根据数据之间的逻辑关系,对数据进行验证。例如,验证关联字段是否匹配,验证父子关系是否正确等。对特定数据进行算法计算,验证计算结果的准确性。例如,对某些数值字段进行加总、平均值计算,并与预期结果进行比对

为了提高模型的性能和效果,以满足实际测试应用的需求,在构建案例生成模型之前,上述方法还包括以下步骤:构建基础模型,其中,上述基础模型是使用多组训练数据训练得到的,上述多组训练数据中的每一组训练数据均包括历史时间段内获取的上述历史业务需求、上述历史知识库、上述历史业务规则和上述历史测试案例;对上述基础模型进行优化处理,得到上述案例生成模型,其中,优化处理包括调整模型参数、调整覆盖率、相似度比对中的一种或者多种。

该方案中,可以对基础模型进行优化,这样可以改善基础模型的准确性,提高模型的泛化能力,并且优化后得到的案例生成模型可以减少模型的误差,案例生成模型的鲁棒性和稳定性也比较好,进而可以保证案例生成模型生成的测试案例更为准确。

具体地,可以按照预设的规则测试用例关联前端交易,生成可执行测试用例,通过专家知识库、测试实施来验证测试用例的正确性和覆盖率。然后根据验证结果,优化基础模型,提高测试覆盖率和测试效率。测试用例自动生成是一个动态、不断演化的过程,需要持续地对生成模型进行维护和优化,保证在实际场景中的有效性和可用性。

具体地,可以根据基础模型训练后产出的案例进行校验,通过神经网络向量相似度计算比对,未达到预期可通过优化参数或补充训练数据等方式继续训练基础模型。以通过不断的迭代来优化提高生成测试案例的任务能力,完善基础模型,得到案例生成模型。

具体地,可以优化模型需要调整模型的参数以找到最佳配置。这可以通过使用各种优化算法和技术,如网格搜索、随机搜索、贝叶斯优化等来实现。通过在不同的参数组合上进行交叉验证,选择性能最佳的参数。

具体地,可以对输入数据的特征进行处理,以提取更有用的信息。例如,对文本数据进行词袋模型、TF-IDF编码等处理,或者对图像数据进行边缘检测、颜色分布等处理。

具体地,可以通过对训练数据进行扩充,以增加模型的泛化能力。例如,在图像分类任务中,可以通过旋转、翻转、缩放等方式增加训练样本。

具体地,可以使用合适的相似度计算方法来度量不同样本之间的相似程度。常用的相似度计算方法包括余弦相似度、欧氏距离、编辑距离等。选择适当的相似度计算方法取决于具体应用场景和数据特点。

具体地,对于生成基础模型,如图5所示,可以使用专家知识库中标注的测试案例数据,按照科学的方式分批次进行有监督指令学习训练,得到了基础模型。

具体地,对于通过基础模型进行优化生成案例生成模型,如图5所示,根据基础模型训练后输出的测试案例进行校验,通过神经网络向量相似度计算比对,如果未达到预期可以通过优化参数或者补充训练数据等方式继续训练基础模型,以通过不断的迭代来优化提高生产测试案例的任务能力,得到案例生成模型。

具体地,基础模型训练后输出的测试案例进行校验可以是人工校验的方式,在基础模型训练好之后,将输出的测试案例进行人工校验,与人工自己编辑的测试案例进行相似度匹配,如果相似度小于阈值(例如95%或者80%等等),那么可以对基础模型进行优化,如果相似度大于或者等于阈值,那么可以不对基础模型进行优化,基础模型作为案例生成模型,当然为了保证数据的准确性,也可以在相似度大于或者等于阈值的时候对基础模型进行优化。

另外,对于另一种优化方式补充训练数据,如果数据有A+B,格式是AABBCC,可能基础模型只能识别出AABBCC的格式,对于ABBCCC的格式无法识别,因此,可以采用不同的格式的训练数据来进行补充,以继续训练基础模型,实现基础模型的优化。

具体地,本申请的上述方案可以实现精准测试,缩短测试周期,支撑业务快速迭代。这样可以适应新阶段银行软件敏捷开发的模式,实现快速敏捷测试,保障系统迅速交付上线。通过自动定位需求变更影响范围,简化测试分析过程,可对新增需求进行快速分析,对需求变更进行精准定位,降低测试成本,提高测试效率。

在一些实施例上,在获取新增业务需求之后,上述方法还包括以下步骤:数据准备步骤,获取结构化需求,获取上述案例生成模型生成的测试案例;知识抽取步骤,获取用于构建上述知识图谱的主体,上述主体为上述知识图谱中的中心节点,获取上述业务需求和上述测试案例之间的关联关系;知识融合步骤,对上述知识抽取步骤中抽取的知识进行融合处理,上述融合处理包括关系对齐、关系消歧和关系校验中的一个或者多个;知识应用步骤,将上述业务需求作为实体、上述测试案例作为属性和上述关联关系作为三元组构建上述知识图谱。

该方案中,通过数据准备可以获取到构建知识图谱时所需要的原始数据,为后续步骤提供可用的数据基础,通过知识抽取可以从原始的数据中提取有意义、关系和属性的过程,这样可以把非结构化或半结构化的数据转化为结构化的知识表示形式,转换为可计算的形式,为后续的知识融合和知识应用提供基础,通过知识融合可以将不同来源和不同格式的知识进行整合和融合,可以消除冲突、解决数据之间的不一致性,提高知识的准确性和可信度,进而可以根据知识构建知识库,应用于测试案例的领域,这样可以为测试案例和业务需求提供更精准的搜索结果、个性化的推荐和智能化的问答,从而提升用户体验和业务效果。

具体地,对于测试知识图谱的构建流程如图6所示,主要包括如下步骤:

基础数据准备步骤:结构化业务需求、利用大模型(案例生成模型)生成的测试案例数据;具体地,可以确定知识图谱的领域和目标,收集原始数据,可以包括结构化数据、半结构化数据和非结构化数据,对原始数据进行清洗,去除噪声、重复数据和不完整的信息,对数据进行预处理,包括数据格式转换、标准化和归一化等,建立数据模式和模式映射,为后续的知识抽取做准备;

知识抽取步骤:通过预处理和本体构建(本体抽取),搭建测试知识图谱整体框架,主要包括属性抽取、关系抽取、实体抽取;具体地,可以根据领域和目标,选择适合的知识抽取方法和技术,如自然语言处理、信息抽取等,对清洗和预处理后的数据进行实体抽取,识别出文本中的实体对象,如人物、地点、组织等,进行关系抽取,提取实体之间的关系,建立关系网络,抽取属性信息,提取实体的属性值,如年龄、性别、地址等,对抽取出的实体、关系和属性进行标注和分类,建立知识表示形式;

知识融合步骤:通过知识图谱自动构建引擎,其中包括实体识别、关系抽取、指代消解、消歧对齐(实体消歧)、三元组存储、人工校验等算法和流程,还可以进行质量评估;具体地,可以对来自不同数据源的知识进行对齐,消除重复和冲突的内容,解决不一致性,如命名不一致、同义词问题等,建立知识链接,将相同或相关的实体和关系进行连接和整合,构建知识图谱模式,定义实体和关系的属性和约束,确保知识图谱的一致性和完整性,进行数据验证和质量控制;

知识应用步骤:输出为海量知识三元组构成的测试知识图谱,通过知识图谱进行知识推理;具体地,可以根据具体任务和需求,选择合适的知识应用方法和技术,如搜索引擎、推荐系统等,建立索引和搜索机制,支持基于知识图谱的信息检索和查询,进行知识推理和推断,利用知识图谱进行逻辑推理和关联分析。

例如,对于测试场景为转账来说,是用户A给用户B转账,构建本体时候是可以将用户作为本体,或者用转账作为本体,还是将转账步骤作为本体,本体作为知识图谱的中心节点,例如有A和A’以及A”,具体选择谁做本体是都可以的。

例如,对于知识融合来说,业务场景是用户通过柜面进行转账,具体有几个实体、几个客户、转账的渠道等等的步骤都是需要进行细分的,例如第一步是查看余额,对于每一步都是有用力的,将每一步之间的关系进行关联,对于类似的需求也可以提取,例如手机银行购买理财,可以识别用户要购买理财,具体的步骤是第一步登录账户,第二步是确定业务规则,实际上对于购买理财和转账都是有类似的步骤的,例如登录这个步骤,因此可以将步骤进行融合。

具体地,本申请的方案通过输入多种知识可以实现专家知识库、案例生成模型、测试知识图谱的构建。包括结构化的业务需求,半结构化的业务需求,系统交易基线等。

目前一些方案中,根据需求文档以及所提取的多个需求点,建立上述多个需求点之间的关系,建立需求视图,需求视图展示了需求和功能点的关系,未建立需求与测试案例的关系,一方面不能根据需求确定的测试范围,另一方面也不能通过测试案例定位到关联的业务场景,因此是无法实现业务需求和测试案例的双向追溯的,在一些实施例上,在构建上述知识图谱之后,上述方法还包括以下步骤:获取查询需求,其中,上述查询需求为从上述知识图谱中查询上述业务需求和/或查询上述测试案例的需求;根据上述查询需求中的关键词在上述知识图谱中进行关键词搜索,得到搜索结果,并将上述搜索结果以图示的方式进行展示。

该方案中,测试的知识图谱可以实现多维度查询的可视化分析方式,根据不同场景和要素进行多维度的查询,可以采用关键词搜索和图数据展示(图数据挖掘)技术的可视化查询,以帮助使用者更好地理解与探索知识图谱中的信息。

知识图谱可视化查询是一种较为直观的图谱多维度查询方式,以图形方式来展示知识图谱中的信息。可视化查询将不同类型的数据进行可视化,例如节点属性、关系以及语义等内容,通过图的形式展示出来,使得用户更加容易理解查询结果,减轻用户的认知负荷,使用户更容易理解查询结果。例如,可以使用树状图、泡沫图等表达信息的层次或关联。可操作图是指用户可以通过对图表交互来探索知识图谱的信息。例如,可以通过点击、缩放和查看详情等方式来交互,从而获得更详细的信息。

知识图谱关键词搜索是一种常见的图谱查询方式,它是通过输入单词或短语搜索获取与它们相关的知识图谱信息。虽然这种查询方式简单易行,但是由于用户输入的关键词可能存在歧义,因此查询结果的准确率并不高。另外,这种查询方式不能准确控制查询结果的数量和精度,因此在处理大规模的数据时效率相对较低。作为多维查询的一种方式,核心点在于关键词选择和查询表达方式。

具体地,通过上述方案可以实现测试的业务需求和测试案例的关联,通过业务需求可以看到测试用例是什么,例如输入关键字渠道为手机银行,可以看到手机银行对应的测试用例都有哪些,当前的测试进度是什么,正向为通过业务需求查找测试案例,反向为通过测试案例查找业务需求,反向查找可以确定测试案例关联的业务范围。

知识图谱到测试案例双向追溯主要通过图数据挖掘、关联数据查询和信息检索技术相结合,对知识图谱、测试用例和业务信息进行关联查询和分析挖掘,将相关数据以可视化方式呈现。

本申请的方案可以实现业务需求到测试案例和测试案例到业务需求的双向追溯。正向追溯为通过业务模型信息查询所关联的测试场景及对应的测试用例,便于快速明确测试范围。测试进度联动即可获取相关业务场景的测试执行情况,如测试覆盖率(例如转账设计到了有100个用力,但是最后发现只测试了80个,因此覆盖率是80%,这样可以确定到底应用的测试用力的数量)、测试通过率等,可应用于需求变更对于测试影响分析等场景。反向追溯为通过测试案例快速定位相应的业务模型内容,便于快速定位测试中发现缺陷的业务影响范围,缩小问题范围,发现潜在缺陷。

本申请的上述方案可以建立测试过程可追溯性。通过知识图谱建立业务需求与测试案例、测试缺陷之间的关联关系,发现测试缺陷时,能够迅速定位缺陷对应的全部相关要素。通过AI技术更好地分析追溯相关数据和信息,实现高效的测试监督控制。

本申请实施例还提供了一种基于知识图谱的测试案例的生成装置,需要说明的是,本申请实施例的基于知识图谱的测试案例的生成装置可以用于执行本申请实施例所提供的用于基于知识图谱的测试案例的生成方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

以下对本申请实施例提供的基于知识图谱的测试案例的生成装置进行介绍。

图7是根据本申请实施例的一种基于知识图谱的测试案例的生成装置的结构框图。如图7所示,该装置包括:

第一获取单元10,用于获取新增业务需求,其中,上述新增业务需求为知识图谱中未存储的业务需求,上述业务需求为办理业务的需求;

第一构建单元20,用于构建案例生成模型,其中,上述案例生成模型是使用多组训练数据训练得到的,上述多组训练数据中的每一组训练数据均包括历史时间段内获取的历史业务需求、历史知识库、历史业务规则和历史测试案例;

第一处理单元30,用于将上述新增业务需求输入至上述案例生成模型,得到上述新增业务需求对应的新增测试案例;

更新单元40,用于将上述新增业务需求和对应的上述新增测试案例输入到上述知识图谱中,得到更新后的知识图谱,其中,上述更新后的知识图谱中至少包括上述业务需求、上述业务需求对应的测试案例、上述新增业务需求和上述新增业务需求对应的上述新增测试案例。

通过本实施例,如果有新增的业务需求的时候,根据案例生成模型生成新增业务需求对应的测试案例,这样由新增的业务需求时候得到的测试案例与新增业务需求是对应的,再将新增业务需求和对应的新增测试案例输入到知识图谱中,这样知识图谱中可以保存新增测试业务需求和新增测试业务需求对应的新增测试案例,因此通过本方案可以对现有知识图谱外的需求进行测试案例生成。

新增业务需求往往是一个大需求,会包括很多个步骤或者场景才能实现新增业务需求,因此可以对新增业务需求进行拆分,以更好地分析新增业务需求,具体实现过程中,第一处理单元包括第一处理模块和第二处理模块,第一处理模块用于采用深度学习技术对上述新增业务需求进行结构化处理,得到至少一个结构化需求,其中,上述结构化处理为对上述新增业务需求进行有序化、规范化的拆分处理,一个上述结构化需求对应一个测试场景或者一个测试步骤;第二处理模块用于将所有的上述结构化需求依次输入至上述案例生成模型,得到所有的上述新增业务需求对应的上述新增测试案例,其中,一个上述新增业务需求对应至少一个上述结构化需求,一个上述结构化需求对应至少一个上述新增测试案例。

该方案中,可以将新增业务需求进行结构化处理,将新增业务需求拆分成至少一个结构化需求,这样可以更好地分析新增业务需求,减少对于需求的歧义和误解,当然,结构化的需求更容易被计算机程序处理和分析,可以支持自动化的需求管理、需求跟踪、需求优先级排序等任务,结构化需求也可以更容易地进行分类、归档和检索,促进需求的重用,因此可以将依次结构化需求依次输入到案例生成模型中,每一个结构化需求可以生成至少一个新增测试案例,这样可以根据每一步的需求更高效地生成新增测试案例。

对于知识库中还具备相关领域的测试要点,通过这些测试要点可以更好地指导测试工作,具体实现过程中,上述知识图谱中还包括测试要点,上述测试要点为测试一条上述测试案例的任务,第二处理模块包括查找子模块、第一处理子模块、第二处理子模块、第三处理子模块和第四处理子模块,查找子模块用于在上述知识图谱中查找是否有上述结构化需求对应的上述测试要点;第一处理子模块用于在查找到有上述结构化需求对应的上述测试要点的情况下,将上述结构化需求对应的上述测试要点提取出来作为目标测试要点;第二处理子模块用于在查找到与上述结构化需求的业务相似度大于相似度阈值的目标业务的情况下,根据上述结构化需求对上述目标业务的上述测试要点进行更新,得到上述目标测试要点;第三处理子模块用于在未查找到有上述结构化需求对应的上述测试要点的情况下,根据上述结构化需求生成上述目标测试要点;第四处理子模块用于将上述目标测试要点输入至上述案例生成模型,得到所有的上述新增业务需求对应的上述新增测试案例。

该方案中,可以在知识图谱中寻找测试要点,如果可以在知识图谱中找到相同的或者相似的测试要点,可以将相同的测试要点直接作为目标测试要点,如果在知识图谱中找到相似的测试要点,可以直接根据测试要点进行更新得到目标测试要点,如果在知识图谱中无法找到测试要点,那么直接生成新的测试要点即可,这样可以保证测试工作的全面性和准确性,可以避免从零开始设计测安案例,节省了一部分的生成测试案例的时间,同时还可以保证测试的一致性和可追溯性,进而可以根据目标测试要点来生成新增测试案例,这样可以提高测试工作的效率和质量,进一步保证测试的全面性、准确性、一致性和可追溯性,并具有可重复性和可扩展性。

为了滤除数据的噪声,提高数据的质量和准确性,以确保用于构建知识库的数据的可信度和可靠性更高,上述装置还包括清洗单元、校验单元和生成单元,清洗单元用于在获取新增业务需求之前,对业务数据进行数据清洗,得到清洗后的业务数据,其中,上述业务数据包括上述业务需求、上述业务需求对应的上述测试案例;校验单元用于对上述清洗后的业务数据进行数据校验,得到校验结果,其中,上述数据校验包括一致性校验、完整性校验和准确性校验中的一种或者多种;生成单元用于在上述校验结果表征通过校验的情况下,根据校验通过的上述业务数据生成知识库,在上述校验结果表征不通过校验的情况下,生成提示信息。

该方案中,可以对数据进行清洗和校验,原始的业务数据可能包含噪声、错误或者不完整的信息,通过数据清洗可以去除这些问题,提高数据的质量和可靠性,并且可以使数据符合一致性的标准和格式,这样有助于在知识库中建立统一的数据模型和结构,方便后续的数据分析和应用,并且数据时经过了清洗和校验的,通过清洗和校验的数据可以生成更高质量的知识库,进一步提高知识库中的知识的准确性。

为了提高模型的性能和效果,以满足实际测试应用的需求,上述装置还包括第二构建单元和第二处理单元,第二构建单元用于在构建案例生成模型之前,构建基础模型,其中,上述基础模型是使用多组训练数据训练得到的,上述多组训练数据中的每一组训练数据均包括历史时间段内获取的上述历史业务需求、上述历史知识库、上述历史业务规则和上述历史测试案例;第二处理单元用于对上述基础模型进行优化处理,得到上述案例生成模型,其中,优化处理包括调整模型参数、调整覆盖率、相似度比对中的一种或者多种。

该方案中,可以对基础模型进行优化,这样可以改善基础模型的准确性,提高模型的泛化能力,并且优化后得到的案例生成模型可以减少模型的误差,案例生成模型的鲁棒性和稳定性也比较好,进而可以保证案例生成模型生成的测试案例更为准确。

在一些实施例上,上述装置还包括数据准备单元、知识抽取单元、知识融合单元和知识应用单元,数据准备单元用于在获取新增业务需求之后,执行数据准备步骤,获取结构化需求,获取上述案例生成模型生成的测试案例;知识抽取单元用于执行知识抽取步骤,获取用于构建上述知识图谱的主体,上述主体为上述知识图谱中的中心节点,获取上述业务需求和上述测试案例之间的关联关系;知识融合单元用于执行知识融合步骤,对上述知识抽取步骤中抽取的知识进行融合处理,上述融合处理包括关系对齐、关系消歧和关系校验中的一个或者多个;知识应用单元用于执行知识应用步骤,将上述业务需求作为实体、上述测试案例作为属性和上述关联关系作为三元组构建上述知识图谱。

该方案中,通过数据准备可以获取到构建知识图谱时所需要的原始数据,为后续步骤提供可用的数据基础,通过知识抽取可以从原始的数据中提取有意义、关系和属性的过程,这样可以把非结构化或半结构化的数据转化为结构化的知识表示形式,转换为可计算的形式,为后续的知识融合和知识应用提供基础,通过知识融合可以将不同来源和不同格式的知识进行整合和融合,可以消除冲突、解决数据之间的不一致性,提高知识的准确性和可信度,进而可以根据知识构建知识库,应用于测试案例的领域,这样可以为测试案例和业务需求提供更精准的搜索结果、个性化的推荐和智能化的问答,从而提升用户体验和业务效果。

目前一些方案中,根据需求文档以及所提取的多个需求点,建立上述多个需求点之间的关系,建立需求视图,需求视图展示了需求和功能点的关系,未建立需求与测试案例的关系,一方面不能根据需求确定的测试范围,另一方面也不能通过测试案例定位到关联的业务场景,因此是无法实现业务需求和测试案例的双向追溯的,在一些实施例上,上述装置还包括第二获取单元和第三处理单元,第二获取单元用于在构建上述知识图谱之后,获取查询需求,其中,上述查询需求为从上述知识图谱中查询上述业务需求和/或查询上述测试案例的需求;第三处理单元用于根据上述查询需求中的关键词在上述知识图谱中进行关键词搜索,得到搜索结果,并将上述搜索结果以图示的方式进行展示。

该方案中,测试的知识图谱可以实现多维度查询的可视化分析方式,根据不同场景和要素进行多维度的查询,可以采用关键词搜索和图数据展示(图数据挖掘)技术的可视化查询,以帮助使用者更好地理解与探索知识图谱中的信息。

上述基于知识图谱的测试案例的生成装置包括处理器和存储器,上述第一获取单元、第一构建单元、第一处理单元和更新单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中知识图谱只能查找相似的案例,无法对新增需求进行处理问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述基于知识图谱的测试案例的生成方法。

本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述基于知识图谱的测试案例的生成方法。

本申请还提供了一种案例管理系统,包括一个或多个处理器,存储器,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的基于知识图谱的测试案例的生成方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现基于知识图谱的测试案例的生成方法步骤。本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少基于知识图谱的测试案例的生成方法步骤的程序。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:

1)、本申请的基于知识图谱的测试案例的生成方法,如果有新增的业务需求的时候,根据案例生成模型生成新增业务需求对应的测试案例,这样由新增的业务需求时候得到的测试案例与新增业务需求是对应的,再将新增业务需求和对应的新增测试案例输入到知识图谱中,这样知识图谱中可以保存新增测试业务需求和新增测试业务需求对应的新增测试案例,因此通过本方案可以对现有知识图谱外的需求进行测试案例生成。

2)、本申请的基于知识图谱的测试案例的生成装置,如果有新增的业务需求的时候,根据案例生成模型生成新增业务需求对应的测试案例,这样由新增的业务需求时候得到的测试案例与新增业务需求是对应的,再将新增业务需求和对应的新增测试案例输入到知识图谱中,这样知识图谱中可以保存新增测试业务需求和新增测试业务需求对应的新增测试案例,因此通过本方案可以对现有知识图谱外的需求进行测试案例生成。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 测试数据帧生成方法及装置、软件测试方法及装置
  • 一种基于知识图谱的网络安全测试的生成方法
  • 基于知识图谱的问答生成方法及装置、自动考题生成系统
技术分类

06120116485405