CN112181849B - 测试用例识别方法、装置、设备及存储介质 - Google Patents
测试用例识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112181849B CN112181849B CN202011152195.3A CN202011152195A CN112181849B CN 112181849 B CN112181849 B CN 112181849B CN 202011152195 A CN202011152195 A CN 202011152195A CN 112181849 B CN112181849 B CN 112181849B
- Authority
- CN
- China
- Prior art keywords
- test
- template
- point
- case
- points
- 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
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
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)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种测试用例识别方法、装置、设备及存储介质,涉及游戏测试技术领域。该方法包括:获取待识别的测试用例以及预先生成的模板用例,模板用例包含测试用例应包含的目标测试点;基于测试用例和模板用例,解析生成测试用例的测试点集合以及模板用例的模板点集合;根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异;根据测试用例与模板用例的差异,识别测试用例是否包含目标测试点。本方案在保留测试用例和模板用例的测试点组成路径的同时抹去了层级的先后顺序,无视了分类的顺序,不会因为测试用例和模板用例的树的结构不同而报错,有效避免了识别结果的误差,从而提高了识别结果的准确性。
Description
技术领域
本申请涉及游戏测试技术领域,具体而言,涉及一种测试用例识别方法、装置、设备及存储介质。
背景技术
现下在对游戏进行测试时,由于游戏场景丰富,状态复杂,有大量前置操作相同的测试点,所以抛弃了以往的使用excel进行测试用例书写的方式,转而投向了Xmind思维导图(下文简称xmind)进行分类和思维发散,以寻求最全面地覆盖一个新功能的测试点。拥有一份完整的测试用例对于提高测试结果的准确性至关重要,而判断一份测试用例是否完整,是否将必测点都测试到了,则需要应用到树的对比算法,将测试用例与模板用例进行比对来实现。
现有技术中,是采用Zss树编辑算法,对测试用例的树结构和模板用例的树结构进行比对,输出两颗树之间相互转换所需要操作的次数,也就是两棵树之间的编辑距离,从而根据编辑距离确定测试用例和模板用例之间的差异。
但是,对于导向相同(具有相同测试点)但树结构不同(测试点之间的顺序不同)的测试用例和模板用例,采用上述方法进行比对时,会产生误报错,从而导致比对结果与真实结果存在偏差,无法准确的判断测试用例和模板用例的差异。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种测试用例识别方法、装置、设备及存储介质,以便于解决现有技术中存在的对于导向相同树结构不同的测试用例进行识别时,产生误报错,导致识别结果准确性较差的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种测试用例识别方法,包括:
获取待识别的测试用例以及预先生成的模板用例,所述模板用例包含所述测试用例应包含的目标测试点;
基于所述测试用例和所述模板用例,解析生成所述测试用例的测试点集合以及所述模板用例的模板点集合,所述测试点集合包括至少一个测试点,所述模板点集合包括至少一个模板点,每个所述测试点和每个所述模板点均包括至少一个测试标签,所述测试标签用于指示测试内容的关键词;
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例与所述模板用例的差异;
根据所述测试用例与所述模板用例的差异,识别所述测试用例是否包含所述目标测试点。
可选地,所述根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例与所述模板用例的差异,包括:
根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,定各测试点和各模板点的编辑距离,所述编辑距离用于表征两个数据互相转换所需执行的编辑操作的次数;
根据所述各测试点和各模板点的编辑距离,定所述测试点和所述模板点的第一映射关系,所述第一映射关系为所述测试点集合中各测试点和所述模板点集合中各模板点的编辑距离之和最小时的映射关系;
根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异;
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例和模板用例的差异。
可选地,所述根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,定各测试点和各模板点的编辑距离,包括:
根据所述测试点集合中第一测试点和所述模板点集合中第一模板点的测试标签的编辑距离,得到第一测试点和第一模板点的测试标签的编辑距离集合,其中,所述第一测试点为所述测试点集合中的任一测试点,所述第一模板点为所述模板点集合中的任一模板点;
根据所述第一测试点和第一模板点的测试标签的编辑距离集合,定所述第一测试点和所述第一模板点中测试标签的第二映射关系,所述第二映射关系为所述第一测试点中各测试标签和所述第一模板点中各测试标签的编辑距离之和最小时的映射关系;
根据所述第一测试点中测试标签和所述第一模板点中测试标签的第二映射关系、以及相互映射的测试标签的编辑距离,计算得到所述第一测试点和所述第一模板点的编辑距离;
根据所述第一测试点和所述第一模板点的编辑距离,得到所述各测试点和各模板点的编辑距离。
可选地,所述根据所述各测试点和各模板点的编辑距离,定所述测试点和所述模板点的第一映射关系,包括:
根据所述各测试点和各模板点的编辑距离,得到测试点和模板点的编辑距离集合;
根据所述测试点和模板点的编辑距离集合,确定所述测试点和所述模板点的第一映射关系。
可选地,所述根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,包括:
根据所述测试点和所述模板点的第一映射关系,得到多组相互映射的测试点和模板点;
根据每组所述相互映射的测试点和模板点的编辑距离、以及所述编辑距离所对应的编辑操作,确定每组所述相互映射的测试点与模板点的映射差;
根据每组所述相互映射的测试点与模板点的映射差,得到所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异。
可选地,所述根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例与所述模板用例的差异,包括:
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试点集合中测试点所缺少的模板点的测试标签;
将所述测试点所缺少的模板点的测试标签作为所述测试用例和模板用例的差异。
可选地,所述根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离之前,所述方法还包括:
计算得到所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离。
可选地,所述根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异之后,所述方法还包括:
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异、以及每个模板点中测试标签的组成路径,重构得到所述测试用例所对应的差异树,所述差异树用于标识所述测试点集合中测试点缺少的模板点的测试标签。
第二方面,本申请实施例还提供了一种测试用例识别装置,包括:获取模块、解析模块、确定模块、识别模块;
所述获取模块,用于获取待识别的测试用例以及预先生成的模板用例,所述模板用例包含所述测试用例应包含的目标测试点;
所述解析模块,用于基于所述测试用例和所述模板用例,解析生成所述测试用例的测试点集合以及所述模板用例的模板点集合,所述测试点集合包括至少一个测试点,所述模板点集合包括至少一个模板点,每个所述测试点和每个所述模板点均包括至少一个测试标签,所述测试标签用于指示测试内容的关键词;
所述确定模块,用于根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例与所述模板用例的差异;
所述识别模块,用于根据所述测试用例与所述模板用例的差异,识别所述测试用例是否包含所述目标测试点。
可选地,所述确定模块,具体用于
根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离,所述编辑距离用于表征两个数据互相转换所需执行的编辑操作的次数;
根据所述各测试点和各模板点的编辑距离,确定所述测试点和所述模板点的第一映射关系,所述第一映射关系为所述测试点集合中各测试点和所述模板点集合中各模板点的编辑距离之和最小时的映射关系;
根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异;
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例和模板用例的差异。
可选地,所述确定模块,具体用于
根据所述测试点集合中第一测试点和所述模板点集合中第一模板点的测试标签的编辑距离,得到第一测试点和第一模板点的测试标签的编辑距离集合,其中,所述第一测试点为所述测试点集合中的任一测试点,所述第一模板点为所述模板点集合中的任一模板点;
根据所述第一测试点和第一模板点的测试标签的编辑距离集合,确定所述第一测试点和所述第一模板点中测试标签的第二映射关系,所述第二映射关系为所述第一测试点中各测试标签和所述第一模板点中各测试标签的编辑距离之和最小时的映射关系;
根据所述第一测试点中测试标签和所述第一模板点中测试标签的第二映射关系、以及相互映射的测试标签的编辑距离,计算得到所述第一测试点和所述第一模板点的编辑距离;
根据所述第一测试点和所述第一模板点的编辑距离,得到所述各测试点和各模板点的编辑距离。
可选地,所述确定模块,具体用于
所述根据所述各测试点和各模板点的编辑距离,确定所述测试点和所述模板点的第一映射关系,包括:
根据所述各测试点和各模板点的编辑距离,得到测试点和模板点的编辑距离集合;
根据所述测试点和模板点的编辑距离集合,确定所述测试点和所述模板点的第一映射关系。
可选地,所述确定模块,具体用于
根据所述测试点和所述模板点的第一映射关系,得到多组相互映射的测试点和模板点;
根据每组所述相互映射的测试点和模板点的编辑距离、以及所述编辑距离所对应的编辑操作,确定每组所述相互映射的测试点与模板点的映射差;
根据每组所述相互映射的测试点与模板点的映射差,得到所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异。
可选地,所述确定模块,具体用于
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试点集合中测试点所缺少的模板点的测试标签;
将所述测试点所缺少的模板点的测试标签作为所述测试用例和模板用例的差异。
可选地,所述获取模块,还用于,计算得到所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离。
可选地,所述装置还包括:重构模块;
所述重构模块,用于根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异、以及每个模板点中测试标签的组成路径,重构得到所述测试用例所对应的差异树,所述差异树用于标识所述测试点集合中测试点缺少的模板点的测试标签。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第一方面中提供的测试用例识别方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的测试用例识别方法的步骤。
本申请的有益效果是:
本申请提供一种测试用例识别方法、装置、设备及存储介质,该方法包括:获取待识别的测试用例以及预先生成的模板用例,模板用例包含测试用例应包含的目标测试点;基于测试用例和模板用例,解析生成测试用例的测试点集合以及模板用例的模板点集合;根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异;根据测试用例与模板用例的差异,识别测试用例是否包含目标测试点。本方案中,通过将测试用例和模板用例进行解析,抽取得到测试用例的测试点集合和模板用例的模板点集合,进而根据测试点集合和模板点集合,计算测试点集合中测试点与模板点集合中模板点的差异,并根据测试点和模板点的差异,确定测试用例和模板用例的差异,以识别测试用例是否完善。其中,通过将测试用例和模板用例中的测试点以条件集合的方式抽取为测试点集合和模板点集合,在保留测试用例和模板用例的测试点组成路径的同时抹去了层级的先后顺序,无视了分类的顺序,使得在对测试用例和模板用例进行比对时,不会因为测试用例和模板用例的树的结构不同而报错,有效避免了识别结果的误差,从而提高了识别结果的准确性。
其次,通过编辑距离以及指派问题算法的应用,以确定测试点和模板点的映射关系,从而可以根据映射关系确定测试点和模板点的差异,进而得到测试用例和模板用例的差异。由于通过指派问题算法可以使得得到的映射关系中相互映射的测试点和模板点的编辑距离之和最小,从而使得根据得到的差异,对测试用例进行完善时,可以通过最少的编辑次数实现完善过程。
最后,通过重构得到差异树,可以使得用户更加清晰的了解测试用例和模板用例的差别,从而帮助用户更加高效的进行测试用例的完善。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种测试用例的树结构示意图;
图2为本申请实施例提供的一种测试用例识别方法的流程示意图;
图3为本申请实施例提供的另一种测试用例识别方法的流程示意图;
图4为本申请实施例提供的另一种测试用例的树结构示意图;
图5为本申请实施例提供的又一种测试用例识别方法的流程示意图;
图6为本申请实施例提供的另一种测试用例识别方法的流程示意图;
图7为本申请实施例提供的又一种测试用例识别方法的流程示意图;
图8为本申请实施例提供的另一种测试用例识别方法的流程示意图;
图9为本申请实施例提供的一种重构差异树的结构示意图;
图10为本申请实施例提供的一种测试用例识别装置的示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
首先,对本申请所涉及的相关名词术语进行解释:
Xmind:一种思维导图,结构为树,用于书写测试用例。
编辑距离:将同类数据结构的两个数据A和B互相转换所需要操作的次数。比如将“123”转换为“12”需要删除“3”,执行1步,则这两个字符串的编辑距离为1。
其次,对本申请所涉及的相关背景技术进行说明:
通常,在写测试用例的时候,在某些模板化的地方会有一些“必测”的点。它们组成一个有大致雏形的测试用例“骨架”,在这个基础上一些可选的测试点会被添加,形成一份完整的测试用例。而如果需要在模板的基础上判断一份测试用例是否将必测点都测试到了,则需要应用到树的对比算法(下文以diff称)。
现有的diff算法包括两种:zss树编辑算法和xmldiff树编辑算法,其中,zss算法是对测试用例的树结构和模板用例的树结构进行比对,输出两颗树之间相互转换所需要操作的次数,也就是两棵树之间的编辑距离,从而根据编辑距离确定测试用例和模板用例之间的差异。而xmldiff算法是新建一棵树,将需要对比的测试用例和模板用例作为其左右子数,通过层层遍历,统计改变左子树所需的操作作为编辑距离。
但是,通过上述两种方法在对两个测试用例的树结构进行比对时,当测试用例的导向相同,但是树结构书写方式不同时,会产生报错,从而导致无法获取准确的对比结果,也即无法准确的判断测试用例相对于模板用例所缺少的必测点。事实上它们的导向是相同的测试点和操作,不应该被报错。
图1为本申请实施例提供的一种测试用例的树结构示意图。如图1所示,图1(a)表示测试用例1的树结构,图1(b)表示测试用例2的树结构,举例说明:由于每个用户书写测试用例时分类习惯的不同,比如在经过B和C两个分类时,会产生图1(a)和图1(b)两种写法,事实上,图1(a)和图1(b)均指以A为根,通过B和C两个分类后的测试点,比如要检查不同语言下的商城的皮肤文字导入是否正确,可以以商城作为第一分类,以语言作为第二分类,形成“皮肤-商城-语言”的测试点,也可以反过来以语言作为第一分类,形成“皮肤-语言-商城”的测试点,但这两种测试点都是在检查同一个东西,即不同“语言”下“商城”中该款“皮肤”的名字,由于每个人分类习惯不同,我们认为这两种写法应该被当作书写了相同的测试点。那么,在对该两个测试用例进行比对时,比对结果应该为两个测试用例不存在差异。
然而,采用上述的zss算法进行比对时,两个树的编辑距离会被判断为8(对于图1中的B分类,分别删去了B1,B2节点(两次操作),再删去了一个C1,一个C2(两次操作),最后在存留中的C1和C2下分别添上一对B1和B2(四次操作)),而通过xmldiff算法进行比对时,两个树的编辑距离会被判断为12,左右均无完全匹配的节点,所以分别要进行6次删除操作和6次新增操作。从而产生误报错,认为两个测试用例存在差异。
基于上述所存在的技术问题,本申请所提供的测试用例识别方法的核心点在于:将测试用例所包含的测试点看作条件的集合,即从根节点出发到叶节点所经过的路径的标签均为条件组成之一,从测试用例中抽取出测试点集合(以图1(a)为例,可得到测试点包括:测试点1(A,B1,C1),测试点2(A,B1,C2),测试点3(A,B2,C1),测试点4(A,B2,C2)),在保留测试用例中测试点的组成路径的同时抹去了层级的先后顺序,淡化了分类的顺序,使得在通过对比算法进行树对比时,不会对导向相同树结构不同的测试用例进行报错,从而在识别测试用例和模板用例的差异时,提高了识别结果的准确性。
如下,将通过多个具体的实施例对本申请所提供的测试用例识别方法的实现步骤和产生的有益效果进行说明。
图2为本申请实施例提供的一种测试用例识别方法的流程示意图;该方法的执行主体可以是计算机、服务器等具备数据处理功能的设备。如图2所示,该方法可包括:
S201、获取待识别的测试用例以及预先生成的模板用例,模板用例包含测试用例应包含的目标测试点。
需要说明的是,模板用例可以指包含某个方面的游戏内容的所有必测点的思维导图文件,就是一个xmind。比如游戏中新出一个英雄,必测点可包括技能数值,技能效果,英雄贴图,购买货币数值等等。一般而言会在有若干次相同内容的测试经验之后,这些相同类型的测试用例会被人为地进行总结,形成一份包含所有必测测试点的“模板”,也即模板用例。
通常,对于不同功能的测试,其均对应有各自的模板用例,对于游戏测试而言,比如会有皮肤的模板用例,有英雄的模板用例,有挂机活动的模板用例等等。
本实施例中,可以根据获取的待识别的测试用例,从数据库中匹配获取待识别的测试用例所对应的模板用例,或者,根据待识别的测试用例所对应的测试功能,人为的选取其对应的模板用例。
其中,待识别的测试用例可以是用户通过终端上传的,模板用例可以预先存储在服务器的后台数据库中。用户可以指程序开发人员,其可通过终端上传所书写的测试用例,并通过本申请所提供的方法识别测试用例和模板用例的差异,以对测试用例进行完善。
S202、基于测试用例和模板用例,解析生成测试用例的测试点集合以及模板用例的模板点集合,测试点集合包括至少一个测试点,模板点集合包括至少一个模板点,每个测试点和每个模板点均包括至少一个测试标签,测试标签用于指示测试内容的关键词。
可选地,测试用例和模板用例可以为图1中所示出的以树结构所表示的用例文件,可以以树的根节点出发到叶节点所经过的路径上的所有节点为条件组成之一,对测试用例进行解析,生成测试点集合,并以同样的方法,对模板用例进行解析,生成模板点集合。
其中,测试点集合可包括多个测试点,模板点集合同样包括多个模板点,需要说明的是,测试用例和模板用例均是由多个测试点组成的,而本申请实施中,为了将测试用例的测试点和模板用例的测试点进行区分,此处将根据模板用例生成的集合称作模板点集合,而模板点集合中所包含的测试点也称作模板点。
可选地,每个测试点或者每个模板点均可由至少一个测试标签组成,测试标签可以指测试内容的关键词。例如图1(a)中,(A,B1,C1)可以组成一个测试点,而其中的A、B1和C1均为该测试点所包含的测试标签。以测试内容为:检查不同语言下的商城的皮肤文字导入是否正确为例,该测试内容对应的关键词可包括:语言、商城、皮肤等,那么,测试点中的测试标签则可以包括:语言、商城、皮肤。
S203、根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异。
可选地,上述在解析得到测试点集合和模板点集合后,则可采用预设算法,确定测试点集合中测试点与模板点集合中模板点的差异,并进一步地根据测试点和模板点的差异,确定测试用例和模板用例的差异。对于该部分的具体计算步骤,可参考下述图3所提供的测试用例识别方法进行理解。
S204、根据测试用例与模板用例的差异,识别测试用例是否包含目标测试点。
可选地,通过测试用例和模板用例的差异,可以识别得到测试用例中是否完整的包含了模板用例中的目标测试点,其中目标测试点可以指待识别的测试用例所需包含的所有必测点。
在一些实施例中,当待识别的测试用例与模板用例不存在差异时,则可认为待识别的测试用例包含了所有的必测点,属于较为完善的测试用例,而当待识别的测试用例与模板用例存在差异时,则可根据该差异,对待识别的测试用例进行完善,以提高测试用例的精确性,以便于在根据测试用例进行测试时,具有较好的测试精度。
综上,本实施例提供的测试用例识别方法,包括:获取待识别的测试用例以及预先生成的模板用例,模板用例包含测试用例应包含的目标测试点;基于测试用例和模板用例,解析生成测试用例的测试点集合以及模板用例的模板点集合;根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异;根据测试用例与模板用例的差异,识别测试用例是否包含目标测试点。本方案中,通过将测试用例和模板用例进行解析,抽取得到测试用例的测试点集合和模板用例的模板点集合,进而根据测试点集合和模板点集合,计算测试点集合中测试点与模板点集合中模板点的差异,并根据测试点和模板点的差异,确定测试用例和模板用例的差异,以识别测试用例是否完善。其中,通过将测试用例和模板用例中的测试点以条件集合的方式抽取为测试点集合和模板点集合,在保留测试用例和模板用例的测试点组成路径的同时抹去了层级的先后顺序,无视了分类的顺序,使得在对测试用例和模板用例进行比对时,不会因为测试用例和模板用例的树的结构不同而报错,有效避免了识别结果的误差,从而提高了识别结果的准确性。
图3为本申请实施例提供的另一种测试用例识别方法的流程示意图;图4为本申请实施例提供的另一种测试用例的树结构示意图。其中,图4(a)表示模板用例的树结构示意图,图4(b)表示待识别的测试用例的树结构示意图。可选地,如图3所示,上述步骤S203中,根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异,可以包括:
S301、根据测试点集合中各测试标签和模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离,编辑距离用于表征两个数据互相转换所需执行的编辑操作的次数。
需要说明的是,为了便于在实施例中进行举例,可用如图4中所示的字符“A、B1”等大写字母指代测试点中所包含的测试标签,而在进行编辑距离计算时,也同样是针对该字母之间的转换所需执行的编辑操作次数进行计算。例如:测试标签“A”转换为测试标签“B1”,编辑距离为2,也即,将“A”替换为“B”,并新增“1”。
而实际应用中,测试点中的测试标签也可以直接用表示测试内容的关键词表示,例如:测试标签包括:台服、东南亚服,那么,在进行编辑距离计算时,则是针对该文字之间的转换所需执行的编辑操作次数进行计算。例如:测试标签“台服”转换为“东南亚服”,编辑距离为3,也即,将“台”替换为“东”,增加“南”,增加“亚”。具体对于测试标签的表示,可以采用任意字符进行表示,只要能唯一的区分不同的测试标签即可。
可选地,根据上述所采用的解析方法(从根节点出发到叶节点所经过的路径,抽取路径上所有节点的测试标签组成测试点的集合),对图4(a)中模板用例的树结构进行解析,得到的模板用例的模板点集合可如下表1所示,而对图4(b)中测试用例的树结构进行解析,得到的测试用例的测试点集合可如下表2所示:
表1
表2
测试点1 | A | C1 | B3 |
测试点2 | A | C1 | B2 |
测试点3 | A | C2 | B1 |
测试点4 | A | C2 | B2 |
可选地,根据得到的测试点集合和模板点集合,可以计算获取测试点集合中各测试标签和模板点集合中各测试标签的编辑距离,得到如下表3所示的编辑距离表:
表3
A | B1 | B2 | B3 | C1 | C2 | |
A | 0 | 2 | 2 | 2 | 2 | 2 |
B1 | 2 | 0 | 1 | 1 | 1 | 2 |
B2 | 2 | 1 | 0 | 1 | 2 | 1 |
C1 | 2 | 1 | 2 | 2 | 0 | 1 |
C2 | 2 | 2 | 1 | 2 | 1 | 0 |
其中,对于任意两个测试标签的编辑距离,均可根据上述所举例的计算方法推算得到。
需要说明的是,本实施例中对于测试点集合和模板点集合,以及测试点集合中各测试标签和模板点集合中各测试标签的编辑距离均是以表格的形式进行展示,实际应用中,也可以是以矩阵的形式展示,例如:测试点1(A,C1,B3)。
可选地,在得到测试点集合中各测试标签和模板点集合中各测试标签的编辑距离之后,则可采用指派问题算法,计算各测试点和各模板点的编辑距离,其中包括:计算测试点1分别与模板点1、模板点2、模板点3和模板点4的编辑距离,测试点2分别与模板点1、模板点2、模板点3和模板点4的编辑距离,测试点3分别与模板点1、模板点2、模板点3和模板点4的编辑距离,测试点4分别与模板点1、模板点2、模板点3和模板点4的编辑距离。
S302、根据各测试点和各模板点的编辑距离,确定测试点和模板点的第一映射关系,第一映射关系为测试点集合中各测试点和模板点集合中各模板点的编辑距离之和最小时的映射关系。
需要说明的是,指派问题算法(Linear Sum Assignment)通常用于匹配两个测试点集合的异同,其作用是对于两个集合S1和S2,找到一种映射关系,使所有映射中的两个元素的距离的总值最小。比如,如果有一群人在一群岛上,现在需要他们到另外一群岛上去,并且不关心谁到了哪个岛上,这种算法可以使他们到达目的岛并且所有人旅行的总距离最小。
可选地,基于上述计算得到的各测试点和各模板点的编辑距离,可再次采用指派问题算法,得到测试点和模板点的第一映射关系,其中,第一映射关系中包含测试点集合中所有测试点的完整映射关系,也即,对于每个测试点,均有与其映射的模板点。对应到上述对指派问题算法的说明,可以知道,得到的第一映射关系为可以使得所有映射关系中测试点和模板点的编辑距离之和最小时的映射关系。
S303、根据测试点和模板点的第一映射关系、以及测试点和模板点的编辑距离,确定测试点集合中测试点与模板点集合中模板点的差异。
可选地,根据测试点和模板点的第一映射关系,可以确定各测试点所映射的模板点,从而可以根据该测试点和模板点的编辑距离,反向推导,确定测试点集合中测试点与模板点集合中模板点的差异。
例如:测试点和模板点的第一映射关系包括:测试点1-模板点1、测试点2-模板点3、测试点3-模板点2、测试点4-模板点4。由于测试点1为(A,C1,B3),模板点1为(A,B1,C1),而根据计算得到的测试点和模板点的编辑距离可知,测试点1和模板点1的编辑距离为1,那么可确定测试点1和模板点1的差异为B1,也即,测试点1相对于模板点1,缺少了模板点1中的B1。同理,可计算得到所有具有映射关系的测试点和模板点的差异,从而得到测试点集合中测试点与模板点集合中模板点的差异。
S304、根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例和模板用例的差异。
在一些实施例中,根据测试点和模板点的差异,则可得到测试用例和模板用例的差异,也即,确定测试用例中所缺少的模板用例的必测点信息。例如:上述确定的测试点和模板点的差异为:模板点1-B1,也即,测试点1中缺少了模板点1中的测试标签B1,那么,则可确定测试用例与模板用例的差异为缺少模板点1中的测试标签B1,也即,测试用例中的测试点1并不完整,缺少了必测点(模板点1中的测试标签B1所在分支)。
图5为本申请实施例提供的又一种测试用例识别方法的流程示意图;可选地,如图5所示,上述步骤S301中,根据测试点集合中各测试标签和模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离,可以包括:
S501、根据测试点集合中第一测试点和模板点集合中第一模板点的测试标签的编辑距离,得到第一测试点和第一模板点的测试标签的编辑距离集合,其中,第一测试点为测试点集合中的任一测试点,第一模板点为模板点集合中的任一模板点。
可选地,可以根据获取的测试点集合中各测试标签和模板点集合中各测试标签的编辑距离(即上述表3),从表3中分别得到测试点集合中第一测试点和模板点集合中第一模板点的测试标签的编辑距离。那么,可分别得到16个子编辑距离表,每个子编辑距离表用于表示一个测试点和一个模板点的测试标签的编辑距离集合,其中可包括:测试点1分别与模板点1、模板点2、模板点3和模板点4的测试标签的编辑距离集合;测试点2分别与模板点1、模板点2、模板点3和模板点4的测试标签的编辑距离集合;测试点3分别与模板点1、模板点2、模板点3和模板点4的测试标签的编辑距离集合;测试点4分别与模板点1、模板点2、模板点3和模板点4的测试标签的编辑距离集合。如下表4所示,此处仅通过表格的形式展示其中一个子编辑距离表,其可用于表示模板点1和测试点3的测试标签的编辑距离集合。
表4
A | C2 | B1 | |
A | 0 | 2 | 2 |
B1 | 2 | 2 | 0 |
C1 | 2 | 1 | 1 |
同样的,第一测试点和第一模板点的测试标签的编剧距离集合也可以矩阵的形式进行表示。
S502、根据第一测试点和第一模板点的测试标签的编辑距离集合,确定第一测试点和第一模板点中测试标签的第二映射关系,第二映射关系为第一测试点中各测试标签和第一模板点中各测试标签的编辑距离之和最小时的映射关系。
本实施例中,可通过第一次使用指派问题算法,计算第一测试点和第一模板点中测试标签的第二映射关系。由于第一测试点可以为测试点集合中的任意一个测试点,第一模板点可以为模板点集合中的任意一个模板点,那么,可通过指派问题算法,分别计算测试点1和模板点1中测试标签的第二映射关系,测试点1和模板点2中测试标签的第二映射关系…测试点4和模板点4中测试标签的第二映射关系,依次类推,直到计算完所有测试点和模板点的测试标签的第二映射关系为止。
以计算模板点1和测试点3的测试标签的第二映射关系为例进行说明:可以将上表4中用于表示模板点1和测试点3的测试标签的编辑距离集合作为指派问题算法的输入,算法的输出则为模板点1中测试标签和测试点3中测试标签的第二映射关系,其中,第二映射关系为可以使得模板点1中各测试标签和测试点3中各测试标签的编辑距离之和最小时的映射。针对模板点1和测试点3,得到的第二映射关系为(A,A)、(B1,B1)、(C1,C2),该映射中各模板点的测试标签和测试点的测试标签的编辑距离之和为1。
同理,采用与上述相同的计算方法,可以得出任意一个测试点和任意一个模板点的测试标签的第二映射关系。
S503、根据第一测试点中测试标签和第一模板点中测试标签的第二映射关系、以及相互映射的测试标签的编辑距离,计算得到第一测试点和第一模板点的编辑距离。
基于上述所确定的第二映射关系,可以将第一测试点与第一模板点中相互映射的测试标签的编辑距离进行相加,得到用于表示第一测试点和第一模板点的编辑距离。
继续以模板点1和测试点3举例,由于得到的第二映射关系为(A,A)、(B1,B1)、(C1,C2),而(A,A)的编辑距离为0,(B1,B1)的编辑距离为0,(C1,C2)的编辑距离为1,那么,可计算得到第一测试点和第一模板点的编辑距离为1。
S504、根据第一测试点和第一模板点的编辑距离,得到各测试点和各模板点的编辑距离。
可选地,通过如上述的方法,分别通过16次计算,可得到测试点1分别和模板点1-模板点4的编辑距离,测试点2分别和模板点1-模板点4的编辑距离,测试点3别和模板点1-模板点4的编辑距离,测试点4分别和模板点1-模板点4的编辑距离,也即得到各测试点和各模板点的编辑距离。
图6为本申请实施例提供的另一种测试用例识别方法的流程示意图;如图6所示,上述步骤S302中,根据各测试点和各模板点的编辑距离,确定测试点和模板点的第一映射关系,可以包括:
S601、根据各测试点和各模板点的编辑距离,得到测试点和模板点的编辑距离集合。
可选地,根据上述计算得到的各测试点和各模板点的编辑距离,可得到测试点和模板点的编辑距离集合,本实施例中,可以如表5所示的,以表格的形式展示测试点和模板点的编辑距离集合:
表5
模板点1 | 模板点2 | 模板点3 | 模板点4 | |
测试点1 | 1 | 1 | 1 | 2 |
测试点2 | 1 | 2 | 0 | 1 |
测试点3 | 1 | 0 | 2 | 1 |
测试点4 | 2 | 1 | 1 | 0 |
当然,也可以采用其他的表示形式,例如,以矩阵的形式表示所得到的测试点和模板点的编辑距离集合。
S602、根据测试点和模板点的编辑距离集合,确定测试点和模板点的第一映射关系。
本实施例中,可根据得到的测试点和模板点的编辑距离集合,第二次使用指派问题算法,以确定测试点和模板点的第一映射关系,从而得到测试点集合中每个测试点与模板点集合中模板点的映射关系。
可选地,该第一映射关系则如上述所说的,为可以使得每个映射中,测试点和模板点的编辑距离之和最小的映射。
可选地,可将上述表5所表示的测试点和模板点的编辑距离集合作为指派问题算法的输入,算法的输出则为多个映射关系,包括:映射1:模板点1-测试点1;映射2:模板点2-测试点3;映射3:模板点3-测试点2;映射4:模板点4-测试点4。
可选地,本申请方案中,通过编辑距离以及指派问题算法的应用,以确定测试点和模板点的第一映射关系,从而可以根据第一映射关系确定测试点和模板点的差异,进而得到测试用例和模板用例的差异。由于通过指派问题算法可以使得得到的映射关系中相互映射的测试点和模板点的编辑距离之和最小,从而使得根据得到的差异,对测试用例进行完善时,可以通过最少的编辑次数实现完善过程。
图7为本申请实施例提供的又一种测试用例识别方法的流程示意图;如图7所示,上述步骤S303中,根据测试点和模板点的第一映射关系、以及测试点和模板点的编辑距离,确定测试点集合中测试点与模板点集合中模板点的差异,可以包括:
S701、根据测试点和模板点的第一映射关系,得到多组相互映射的测试点和模板点。
可选地,根据测试点和模板点的第一映射关系,可得到多组相互映射的测试点和模板点,包括:映射1:模板点1-测试点1;映射2:模板点2-测试点3;映射3:模板点3-测试点2;映射4:模板点4-测试点4。
S702、根据每组相互映射的测试点和模板点的编辑距离、以及编辑距离所对应的编辑操作,确定每组相互映射的测试点与模板点的映射差。
例如:模板点1和测试点1的编辑距离为1,由于模板点1为(A,B1,C1),测试点1为(A,C1,B3),则可以得到模板点1和测试点1的映射差为B1,映射差也即表示相对于模板点,测试点中所缺少的模板点的测试标签。
同样的,模板点2和测试点2的编辑距离为0,由于模板点2为(A,B1,C2),测试点3为(A,C2,B1),则可以得到模板点2和测试点3的映射差为空。
模板点3和测试点2的编辑距离为0,由于模板点3为(A,B2,C1),测试点2为(A,C1,B2),则可以得到模板点3和测试点2的映射差为空。
模板点4和测试点4的编辑距离为0,由于模板点3为(A,B2,C2),测试点4为(A,C2,B2),则可以得到模板点4和测试点4的映射差为空。
S703、根据每组相互映射的测试点与模板点的映射差,得到测试点集合中测试点与模板点集合中模板点的差异。
可选地,根据得到的每组测试点和模板点的映射差,则可得到测试点集合中测试点与模板点集合中模板点的差异为:模板点1-B1。
图8为本申请实施例提供的另一种测试用例识别方法的流程示意图;可选地,如图8所示,上述步骤S203中,根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异,可以包括:
S801、根据测试点集合中测试点与模板点集合中模板点的差异,确定测试点集合中测试点所缺少的模板点的测试标签。
如上述所说明的,得到测试点集合中测试点与模板点集合中模板点的差异为:模板点1-B1。则可确定测试点集合中测试点所缺少的模板点的测试标签为B1。
S802、将测试点所缺少的模板点的测试标签作为测试用例和模板用例的差异。
由此可得到测试用例和模板用例的差异为B1。那么,可根据测试标签B1所代表的测试内容的关键词,得到测试用例中所缺少的模板用例中的测试内容。
可选地,步骤S301中,根据测试点集合中各测试标签和模板点集合中各测试标签的编辑距离,采用指派问题算法,确定各测试点和各模板点的编辑距离之前,本申请的方法还包括:采用预设的字符串编辑距离计算方法,计算得到测试点集合中各测试标签和模板点集合中各测试标签的编辑距离。
本实施例中,在解析得到测试点集合和模板点集合之后,还可先对测试点集合中各测试标签和各模板点集合中各测试标签的编辑距离进行计算。
可选地,测试标签可以是由不同类型的字符串表示的,例如:采用字母A、B1等表示,或者直接使用汉字:台服、国服等表示,可以根据各测试标签,采用编辑距离计算规则,得到测试点集合中各测试标签和模板点集合中各测试标签的编辑距离。例如:A-B1,可以是将A替换为B,新增1,那么编辑距离为2。台服-东南亚服,可以是将台替换为东,新增南,新增亚,那么编辑距离为3。根据该规则,计算得到测试点集合中各测试标签和模板点集合中各测试标签的编辑距离。
可选地,步骤S303中,根据测试点和模板点的第一映射关系、以及测试点和模板点的编辑距离,确定测试点集合中测试点与模板点集合中模板点的差异之后,本申请的方法还可包括:根据测试点集合中测试点与模板点集合中模板点的差异、以及每个模板点中测试标签的组成路径,重构得到测试用例所对应的差异树,差异树用于标识测试点集合中测试点缺少的模板点的测试标签。
本实施例中,还可根据上述得到的测试点集合中测试点与模板点集合中模板点的差异,重新构建树,以用重构得到的树更加清晰的为用户展示测试用例与模板用例的差异。
可选地,可根据每组映射差,以及每组映射差中模板点的测试标签的组成路径,进行重构。
其中,只要映射差不为空,则执行以下操作:
(1)按照模板点的测试标签的组成路径,新建一棵子树;
(2)若此子树的测试标签在映射差中,则从映射差中删除此测试标签。
当映射差被删空时则此缺漏模板点已重构完成,得到测试用例所对应的差异树。
图9为本申请实施例提供的一种重构差异树的结构示意图。以模板点1-测试点1进行举例:
模板点1为(A,B1,C1),根据图4(a)的模板用例的树结构可知,模板点1的测试标签的组成路径为:A-B1-C1。模板点1和测试点1的映射差为:B1。那么,重构得到的差异树则如图9所示。
可选地,通过重构得到差异树,可以使得用户更加清晰的了解测试用例和模板用例的差别,从而帮助用户更加高效的进行测试用例的完善。
综上所述,本实施例提供的测试用例识别方法,包括:获取待识别的测试用例以及预先生成的模板用例,模板用例包含测试用例应包含的目标测试点;基于测试用例和模板用例,解析生成测试用例的测试点集合以及模板用例的模板点集合;根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异;根据测试用例与模板用例的差异,识别测试用例是否包含目标测试点。本方案中,通过将测试用例和模板用例进行解析,抽取得到测试用例的测试点集合和模板用例的模板点集合,进而根据测试点集合和模板点集合,计算测试点集合中测试点与模板点集合中模板点的差异,并根据测试点和模板点的差异,确定测试用例和模板用例的差异,以识别测试用例是否完善。其中,通过将测试用例和模板用例中的测试点以条件集合的方式抽取为测试点集合和模板点集合,在保留测试用例和模板用例的测试点组成路径的同时抹去了层级的先后顺序,无视了分类的顺序,使得在对测试用例和模板用例进行比对时,不会因为测试用例和模板用例的树的结构不同而报错,有效避免了识别结果的误差,从而提高了识别结果的准确性。
其次,通过编辑距离以及指派问题算法的应用,以确定测试点和模板点的映射关系,从而可以根据映射关系确定测试点和模板点的差异,进而得到测试用例和模板用例的差异。由于通过指派问题算法可以使得得到的映射关系中相互映射的测试点和模板点的编辑距离之和最小,从而使得根据得到的差异,对测试用例进行完善时,可以通过最少的编辑次数实现完善过程。
最后,通过重构得到差异树,可以使得用户更加清晰的了解测试用例和模板用例的差别,从而帮助用户更加高效的进行测试用例的完善。
下述对用以执行本申请所提供的测试用例识别方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图10为本申请实施例提供的一种测试用例识别装置的示意图,该测试用例识别装置实现的功能对应上述方法执行的步骤。该装置可以理解为上述服务器,或服务器的处理器,也可以理解为独立于上述服务器或处理器之外的在服务器控制下实现本申请功能的组件。如图10所示,该装置可包括:获取模块110、解析模块120、确定模块130、识别模块140。
获取模块110,用于获取待识别的测试用例以及预先生成的模板用例,模板用例包含测试用例应包含的目标测试点;
解析模块120,用于基于测试用例和模板用例,解析生成测试用例的测试点集合以及模板用例的模板点集合,测试点集合包括至少一个测试点,模板点集合包括至少一个模板点,每个测试点和每个模板点均包括至少一个测试标签,测试标签用于指示测试内容的关键词;
确定模块130,用于根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例与模板用例的差异;
识别模块140,用于根据测试用例与模板用例的差异,识别测试用例是否包含目标测试点。
可选地,确定模块130,具体用于
根据测试点集合中各测试标签和模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离,编辑距离用于表征两个数据互相转换所需执行的编辑操作的次数;
根据各测试点和各模板点的编辑距离,确定测试点和模板点的第一映射关系,第一映射关系为测试点集合中各测试点和模板点集合中各模板点的编辑距离之和最小时的映射关系;
根据测试点和模板点的第一映射关系、以及测试点和模板点的编辑距离,确定测试点集合中测试点与模板点集合中模板点的差异;
根据测试点集合中测试点与模板点集合中模板点的差异,确定测试用例和模板用例的差异。
可选地,确定模块130,具体用于
根据测试点集合中第一测试点和模板点集合中第一模板点的测试标签的编辑距离,得到第一测试点和第一模板点的测试标签的编辑距离集合,其中,第一测试点为测试点集合中的任一测试点,第一模板点为模板点集合中的任一模板点;
根据第一测试点和第一模板点的测试标签的编辑距离集合,确定第一测试点和第一模板点中测试标签的第二映射关系,第二映射关系为第一测试点中各测试标签和第一模板点中各测试标签的编辑距离之和最小时的映射关系;
根据第一测试点中测试标签和第一模板点中测试标签的第二映射关系、以及相互映射的测试标签的编辑距离,计算得到第一测试点和第一模板点的编辑距离;
根据第一测试点和第一模板点的编辑距离,得到各测试点和各模板点的编辑距离。
可选地,确定模块130,具体用于
根据各测试点和各模板点的编辑距离,确定测试点和模板点的第一映射关系,包括:
根据各测试点和各模板点的编辑距离,得到测试点和模板点的编辑距离集合;
根据测试点和模板点的编辑距离集合,确定测试点和模板点的第一映射关系。
可选地,确定模块130,具体用于
根据测试点和模板点的第一映射关系,得到多组相互映射的测试点和模板点;
根据每组相互映射的测试点和模板点的编辑距离、以及编辑距离所对应的编辑操作,确定每组相互映射的测试点与模板点的映射差;
根据每组相互映射的测试点与模板点的映射差,得到测试点集合中测试点与模板点集合中模板点的差异。
可选地,确定模块130,具体用于
根据测试点集合中测试点与模板点集合中模板点的差异,确定测试点集合中测试点所缺少的模板点的测试标签;
将测试点所缺少的模板点的测试标签作为测试用例和模板用例的差异。
可选地,获取模块110,还用于,计算得到测试点集合中各测试标签和模板点集合中各测试标签的编辑距离。
可选地,该装置还包括:重构模块;
重构模块,用于根据测试点集合中测试点与模板点集合中模板点的差异、以及每个模板点中测试标签的组成路径,重构得到测试用例所对应的差异树,差异树用于标识测试点集合中测试点缺少的模板点的测试标签。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。
需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-chip,简称SOC)的形式实现。
图11为本申请实施例提供的一种电子设备的结构示意图,该设备可以是具备数据处理功能的计算设备。
该设备包括:处理器801、存储器802。
存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
其中,存储器802存储有程序代码,当程序代码被处理器801执行时,使得处理器801执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的测试用例识别方法中的各种步骤。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种测试用例识别方法,其特征在于,包括:
获取待识别的测试用例以及预先生成的模板用例,所述模板用例包含所述测试用例应包含的目标测试点;
基于所述测试用例和所述模板用例,解析生成所述测试用例的测试点集合以及所述模板用例的模板点集合,所述测试点集合包括至少一个测试点,所述模板点集合包括至少一个模板点,每个所述测试点和每个所述模板点均包括至少一个测试标签,所述测试标签用于指示测试内容的关键词;
根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离,所述编辑距离用于表征两个数据互相转换所需执行的编辑操作的次数;
根据所述各测试点和各模板点的编辑距离确定所述测试点和所述模板点的第一映射关系,所述第一映射关系为所述测试点集合中各测试点和所述模板点集合中各模板点的编辑距离之和最小时的映射关系;
根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异;
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例和模板用例的差异;
根据所述测试用例与所述模板用例的差异,识别所述测试用例是否包含所述目标测试点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离,包括:
根据所述测试点集合中第一测试点和所述模板点集合中第一模板点的测试标签的编辑距离,得到第一测试点和第一模板点的测试标签的编辑距离集合,其中,所述第一测试点为所述测试点集合中的任一测试点,所述第一模板点为所述模板点集合中的任一模板点;
根据所述第一测试点和第一模板点的测试标签的编辑距离集合,确定所述第一测试点和所述第一模板点中测试标签的第二映射关系,所述第二映射关系为所述第一测试点中各测试标签和所述第一模板点中各测试标签的编辑距离之和最小时的映射关系;
根据所述第一测试点中测试标签和所述第一模板点中测试标签的第二映射关系、以及相互映射的测试标签的编辑距离,计算得到所述第一测试点和所述第一模板点的编辑距离;
根据所述第一测试点和所述第一模板点的编辑距离,得到所述各测试点和各模板点的编辑距离。
3.根据权利要求1所述的方法,其特征在于,所述根据所述各测试点和各模板点的编辑距离,确定所述测试点和所述模板点的第一映射关系,包括:
根据所述各测试点和各模板点的编辑距离,得到测试点和模板点的编辑距离集合;
根据所述测试点和模板点的编辑距离集合,确定所述测试点和所述模板点的第一映射关系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,包括:
根据所述测试点和所述模板点的第一映射关系,得到多组相互映射的测试点和模板点;
根据每组所述相互映射的测试点和模板点的编辑距离、以及所述编辑距离所对应的编辑操作,确定每组所述相互映射的测试点与模板点的映射差;
根据每组所述相互映射的测试点与模板点的映射差,得到所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异。
5.根据权利要求4所述的方法,其特征在于,所述根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例与所述模板用例的差异,包括:
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试点集合中测试点所缺少的模板点的测试标签;
将所述测试点所缺少的模板点的测试标签作为所述测试用例和模板用例的差异。
6.根据权利要求1所述的方法,其特征在于,所述根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离之前,所述方法还包括:
计算得到所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离。
7.根据权利要求1所述的方法,其特征在于,所述根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异之后,所述方法还包括:
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异、以及每个模板点中测试标签的组成路径,重构得到所述测试用例所对应的差异树,所述差异树用于标识所述测试点集合中测试点缺少的模板点的测试标签。
8.一种测试用例识别装置,其特征在于,包括:获取模块、解析模块、确定模块、识别模块;
所述获取模块,用于获取待识别的测试用例以及预先生成的模板用例,所述模板用例包含所述测试用例应包含的目标测试点;
所述解析模块,用于基于所述测试用例和所述模板用例,解析生成所述测试用例的测试点集合以及所述模板用例的模板点集合,所述测试点集合包括至少一个测试点,所述模板点集合包括至少一个模板点,每个所述测试点和每个所述模板点均包括至少一个测试标签,所述测试标签用于指示测试内容的关键词;
所述确定模块,用于根据所述测试点集合中各测试标签和所述模板点集合中各测试标签的编辑距离,确定各测试点和各模板点的编辑距离,所述编辑距离用于表征两个数据互相转换所需执行的编辑操作的次数;
根据所述各测试点和各模板点的编辑距离,确定所述测试点和所述模板点的第一映射关系,所述第一映射关系为所述测试点集合中各测试点和所述模板点集合中各模板点的编辑距离之和最小时的映射关系;
根据所述测试点和所述模板点的第一映射关系、以及所述测试点和所述模板点的编辑距离,确定所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异;
根据所述测试点集合中所述测试点与所述模板点集合中所述模板点的差异,确定所述测试用例和模板用例的差异;
所述识别模块,用于根据所述测试用例与所述模板用例的差异,识别所述测试用例是否包含所述目标测试点。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的测试用例识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的测试用例识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011152195.3A CN112181849B (zh) | 2020-10-23 | 2020-10-23 | 测试用例识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011152195.3A CN112181849B (zh) | 2020-10-23 | 2020-10-23 | 测试用例识别方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181849A CN112181849A (zh) | 2021-01-05 |
CN112181849B true CN112181849B (zh) | 2023-07-25 |
Family
ID=73922804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011152195.3A Active CN112181849B (zh) | 2020-10-23 | 2020-10-23 | 测试用例识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181849B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114288666A (zh) * | 2021-12-29 | 2022-04-08 | 完美世界(北京)软件科技发展有限公司 | 游戏元素检测方法、装置、设备和存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949670B1 (en) * | 2012-09-26 | 2015-02-03 | Emc Corporation | Method and system for translating mind maps to test management utility test cases |
CN105320701A (zh) * | 2014-08-04 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 功能点测试实现方式的筛选方法、装置及终端 |
CN107193739A (zh) * | 2017-05-23 | 2017-09-22 | 张泽祎 | 一种黑盒回归测试方法 |
CN107622017A (zh) * | 2017-10-13 | 2018-01-23 | 深圳市视维科技股份有限公司 | 一种通用自动化软件测试的解析方法 |
CN107992409A (zh) * | 2017-11-21 | 2018-05-04 | 平安养老保险股份有限公司 | 测试用例生成方法、装置、计算机设备和存储介质 |
CN108509339A (zh) * | 2018-03-22 | 2018-09-07 | 京北方信息技术股份有限公司 | 基于浏览器和思维导图的测试用例生成方法、装置及设备 |
CN109254918A (zh) * | 2018-08-31 | 2019-01-22 | 重庆富民银行股份有限公司 | 基于路径差异的代码测试系统 |
CN109446071A (zh) * | 2018-09-26 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、接口测试装置、电子设备及存储介质 |
CN109885476A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 自动化测试方法及装置、终端和计算机可读存储介质 |
CN109885474A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 测试用例编辑方法及装置、终端和计算机可读存储介质 |
CN111176996A (zh) * | 2019-12-25 | 2020-05-19 | 平安普惠企业管理有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN111367790A (zh) * | 2020-02-14 | 2020-07-03 | 重庆邮电大学 | 一种基于混合模型的元启发式测试用例排序方法 |
CN111581090A (zh) * | 2020-04-30 | 2020-08-25 | 重庆富民银行股份有限公司 | 一种基于nlp和rf框架的自动化测试用例生成方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265691A1 (en) * | 2005-05-20 | 2006-11-23 | Business Machines Corporation | System and method for generating test cases |
US7644334B2 (en) * | 2006-11-27 | 2010-01-05 | Honeywell International, Inc. | Requirements-based test generation |
US20100070231A1 (en) * | 2008-09-05 | 2010-03-18 | Hanumant Patil Suhas | System and method for test case management |
US9038026B2 (en) * | 2011-10-17 | 2015-05-19 | International Business Machines Corporation | System and method for automating test automation |
US10089217B2 (en) * | 2014-09-23 | 2018-10-02 | Red Hat, Inc. | Identification of software test cases |
US10417117B2 (en) * | 2016-11-09 | 2019-09-17 | Accenture Global Solutions Limited | System and method for test case generation and adaptation |
US10229042B2 (en) * | 2017-01-19 | 2019-03-12 | International Business Machines Corporation | Detection of meaningful changes in content |
-
2020
- 2020-10-23 CN CN202011152195.3A patent/CN112181849B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949670B1 (en) * | 2012-09-26 | 2015-02-03 | Emc Corporation | Method and system for translating mind maps to test management utility test cases |
CN105320701A (zh) * | 2014-08-04 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 功能点测试实现方式的筛选方法、装置及终端 |
CN107193739A (zh) * | 2017-05-23 | 2017-09-22 | 张泽祎 | 一种黑盒回归测试方法 |
CN107622017A (zh) * | 2017-10-13 | 2018-01-23 | 深圳市视维科技股份有限公司 | 一种通用自动化软件测试的解析方法 |
CN107992409A (zh) * | 2017-11-21 | 2018-05-04 | 平安养老保险股份有限公司 | 测试用例生成方法、装置、计算机设备和存储介质 |
CN108509339A (zh) * | 2018-03-22 | 2018-09-07 | 京北方信息技术股份有限公司 | 基于浏览器和思维导图的测试用例生成方法、装置及设备 |
CN109254918A (zh) * | 2018-08-31 | 2019-01-22 | 重庆富民银行股份有限公司 | 基于路径差异的代码测试系统 |
CN109446071A (zh) * | 2018-09-26 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、接口测试装置、电子设备及存储介质 |
CN109885476A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 自动化测试方法及装置、终端和计算机可读存储介质 |
CN109885474A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 测试用例编辑方法及装置、终端和计算机可读存储介质 |
CN111176996A (zh) * | 2019-12-25 | 2020-05-19 | 平安普惠企业管理有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN111367790A (zh) * | 2020-02-14 | 2020-07-03 | 重庆邮电大学 | 一种基于混合模型的元启发式测试用例排序方法 |
CN111581090A (zh) * | 2020-04-30 | 2020-08-25 | 重庆富民银行股份有限公司 | 一种基于nlp和rf框架的自动化测试用例生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于二分K-means的测试用例集约简方法;汪文靖;冯瑞;;计算机工程(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181849A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111680634B (zh) | 公文文件处理方法、装置、计算机设备及存储介质 | |
WO2018121531A1 (zh) | 一种生成测试用例脚本的方法和装置 | |
JP2023509405A (ja) | 翻訳方法、装置、電子機器及びコンピュータプログラム | |
CN110688853A (zh) | 序列标注方法、装置、计算机设备和存储介质 | |
CN112825129A (zh) | 用于文档处理的位置嵌入 | |
CN104615544A (zh) | 面向问题的gui软件关联功能分析方法及装置 | |
CN114547267A (zh) | 智能问答模型的生成方法、装置、计算设备和存储介质 | |
CN112181849B (zh) | 测试用例识别方法、装置、设备及存储介质 | |
CN113190220A (zh) | Json文件差异化对比方法及装置 | |
CN103235757B (zh) | 基于自动化造数对输入域测试对象进行测试的装置和方法 | |
CN112328246A (zh) | 页面组件生成方法、装置、计算机设备及存储介质 | |
CN112148819A (zh) | 结合rpa和ai的地址识别方法和装置 | |
CN113722441B (zh) | 一种相似文本的生成方法、装置、设备及存储介质 | |
CN113536770B (zh) | 基于人工智能的文本解析方法、装置、设备及存储介质 | |
CN114138243A (zh) | 基于开发平台的功能调用方法、装置、设备及存储介质 | |
Cox et al. | Croon’s bias-corrected estimation for multilevel structural equation models with latent interactions | |
CN109597881A (zh) | 匹配度确定方法、装置、设备和介质 | |
CN111401038B (zh) | 文本处理方法、装置、电子设备及存储介质 | |
CN112433753A (zh) | 基于参数信息的接口文档生成方法、装置、设备和介质 | |
CN112395880A (zh) | 结构化三元组的纠错方法、装置、计算机设备及存储介质 | |
CN111159424A (zh) | 标注知识图谱实体的方法,装置,存储介质及电子设备 | |
CN112287005B (zh) | 一种数据处理方法、装置、服务器及介质 | |
US20140067769A1 (en) | String substitution apparatus, string substitution method and storage medium | |
CN107577760B (zh) | 一种基于约束规范的文本分类方法及装置 | |
CN104794236B (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 |