测试回滚控制方法及装置、终端和计算机可读存储介质与流程

文档序号:17720890发布日期:2019-05-22 02:09阅读:173来源:国知局
测试回滚控制方法及装置、终端和计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种测试回滚控制方法及装置、终端和计算机可读存储介质。



背景技术:

目前,在大型系统测试时,已经运行过的测试用例无法再次直接运行,而是需要极其复杂的数据准备工作,具体来说,需要将已测试的用例对照未测试的用例人工进行编辑,才能使已测试的用例回复到测试前的数据状态。换句话说,测试用例无法直接复用。这样一来,每次需要复用测试用例时,都需要消耗大量的人力和时间成本,使得测试效率低下。

因此,如何降低测试用例复用的难度,成为目前亟待解决的技术问题。



技术实现要素:

本发明实施例提供了一种测试回滚控制方法及装置、终端和计算机可读存储介质,旨在解决相关技术中测试用例难以复用的技术问题,能够降低测试用例复用的难度,提升测试效率。

第一方面,本发明实施例提供了一种测试回滚控制方法,包括:获取测试回滚请求,所述测试回滚请求指示有目标测试用例和回滚主体;根据所述测试回滚请求,在数据库底层获取所述目标测试用例对应的业务索引;将所述回滚主体回滚至所述业务索引的建立时间时的数据状态。

在本发明上述实施例中,可选地,所述测试回滚请求还指示有回滚时间点;所述根据所述测试回滚请求,在数据库底层获取所述目标测试用例对应的业务索引的步骤,包括:在所述目标测试用例对应的业务索引集合中,确定建立时间与所述回滚时间点相匹配的所述业务索引。

在本发明上述实施例中,可选地,在所述获取测试回滚请求的步骤之前,还包括:当所述目标测试用例的每个数据操作完成时,为完成的所述数据操作建立对应的所述业务索引;录制所述回滚主体在所述业务索引的建立时间时的数据状态。

在本发明上述实施例中,可选地,所述回滚主体为待回滚的测试用例或测试系统。

在本发明上述实施例中,可选地,在所述将所述回滚主体回滚至所述业务索引的建立时间时的数据状态的步骤之前,还包括:判断所述回滚主体是否为所述测试系统;在所述回滚主体为所述测试系统的情况下,将所述测试系统中的每个测试用例均回滚至所述每个测试用例在所述业务索引的建立时间时的数据状态;在所述回滚主体不是所述测试系统的情况下,确定所述回滚主体为所述目标测试用例,将所述目标测试用例回滚至所述目标测试用例在所述业务索引的建立时间时的数据状态。

第二方面,本发明实施例提供了一种测试回滚控制装置,包括:回滚请求获取单元,用于获取测试回滚请求,所述测试回滚请求指示有目标测试用例和回滚主体;业务索引获取单元,用于根据所述测试回滚请求,在数据库底层获取所述目标测试用例对应的业务索引;回滚单元,用于将所述回滚主体回滚至所述业务索引的建立时间时的数据状态。

在本发明上述实施例中,可选地,所述测试回滚请求还指示有回滚时间点;所述业务索引获取单元用于:在所述目标测试用例对应的业务索引集合中,确定建立时间与所述回滚时间点相匹配的所述业务索引。

在本发明上述实施例中,可选地,还包括:业务索引建立单元,用于在所述回滚请求获取单元获取所述测试回滚请求之前,当所述目标测试用例的每个数据操作完成时,为完成的所述数据操作建立对应的所述业务索引,录制所述回滚主体在所述业务索引的建立时间时的数据状态。

在本发明上述实施例中,可选地,所述回滚主体为待回滚的测试用例或测试系统。

在本发明上述实施例中,可选地,还包括:判断单元,用于在所述回滚单元将所述回滚主体回滚至所述业务索引的建立时间时的数据状态之前,判断所述回滚主体是否为所述测试系统;第一执行单元,用于在所述回滚主体为所述测试系统的情况下,将所述测试系统中的每个测试用例均回滚至所述每个测试用例在所述业务索引的建立时间时的数据状态;第二执行单元,用于在所述回滚主体不是所述测试系统的情况下,确定所述回滚主体为所述目标测试用例,将所述目标测试用例回滚至所述目标测试用例在所述业务索引的建立时间时的数据状态。

第三方面,本发明实施例提供了一种终端,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述第一方面中任一项所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述第一方面中任一项所述的方法流程。

通过以上技术方案,针对相关技术中测试用例难以复用的技术问题,能够降低测试用例复用的难度,提升测试效率。

首先,可接收测试回滚请求,测试回滚请求中指示有目标测试用例和回滚主体,其中,回滚主体指的是需要进行数据回滚的对象,可以是一个或多个待回滚的测试用例,也可以是整个测试系统,或测试系统中的部分功能单元。

由于在数据库底层为测试用例的每一步数据操作都设置了对应的业务索引,因此,在请求依照目标测试用例对回滚主体进行测试回滚时,可以直接将回滚主体回滚至目标测试用例的一个业务索引的建立时间时的数据状态,具体来说,是将回滚主体回滚至目标测试用例处于在业务索引的建立时间时该回滚主体的数据状态。由此,无需人工进行编辑即可将回滚主体回滚至所需的数据状态,只需要在目标测试用例的若干个业务索引中进行选择一个目标业务索引,即可实现将回滚主体自动回滚至目标测试用例的该目标业务索引所对应的该回滚主体的数据状态。

通过以上技术方案,实现了测试用例乃至测试系统的自动回滚,节省了人力成本和时间成本,并能够提升数据回滚的准确性,使得测试用例可以复用,极大地提升了测试效率。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出了本发明的一个实施例的测试回滚控制方法的流程图;

图2示出了本发明的另一个实施例的测试回滚控制方法的流程图;

图3示出了本发明的再一个实施例的测试回滚控制方法的流程图;

图4示出了本发明的一个实施例的测试回滚控制装置的框图;

图5示出了本发明的一个实施例的终端的框图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

图1示出了本发明的一个实施例的测试回滚控制方法的流程图。

如图1所示,本发明的一个实施例的测试回滚控制方法的流程包括:

步骤102,获取测试回滚请求,所述测试回滚请求指示有目标测试用例和回滚主体。

首先,可接收测试回滚请求,测试回滚请求中指示有目标测试用例和回滚主体,其中,回滚主体指的是需要进行数据回滚的对象,可以是一个或多个待回滚的测试用例,也可以是整个测试系统,或测试系统中的部分功能单元,而目标测试用例则用于指示回滚主体所需要回滚至的数据状态,进一步来说,目标测试用例具有一步或多步数据操作,每步数据操作对应有一个业务索引,该业务索引的建立时间时回滚对象的数据状态已被系统记录。因此,通过目标测试用例,可将回滚主体回滚至目标测试用例的任一或指定业务索引的建立时间时所录制的回滚主体的数据状态。此过程在本发明的下述实施例中会进行进一步描述。

步骤104,根据所述测试回滚请求,在数据库底层获取所述目标测试用例对应的业务索引。

其中,数据库底层为sql(structuredquerylanguage,结构化查询语言),sql为一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名,另外,对于大部分数据库来说,sql是通用的。因此,数据库底层可以说是指数据库的基本语言构成,因此,在数据库底层进行测试回滚等操作,便于及时发现数据库底层的语言错误,减少了人工查找语言错误所消耗的时间成本,提升测试的便利性和实用性。

由于在数据库底层为测试用例的每一步数据操作都设置了对应的业务索引,并保存有每个业务索引的建立时间,因此,在请求依照目标测试用例对回滚主体进行测试回滚时,可以直接将回滚主体回滚至目标测试用例的一个业务索引的建立时间时所记录的回滚主体的数据状态。

步骤106,将所述回滚主体回滚至所述业务索引的建立时间时的数据状态。

具体来说,是将回滚主体回滚至目标测试用例处于在业务索引的建立时间时该回滚主体的数据状态。由此,无需人工进行编辑即可将回滚主体回滚至所需的数据状态,只需要获取目标测试用例的业务索引,即可得到该业务索引的建立时间,进而,将回滚对象回滚至该业务索引的建立时间时回滚对象的数据状态。

通过以上技术方案,针对相关技术中测试用例难以复用的技术问题,能够降低测试用例复用的难度,提升测试效率,实现了测试用例乃至测试系统的自动回滚,节省了人力成本和时间成本,并能够提升数据回滚的准确性,使得测试用例可以复用,极大地提升了测试效率。

在本发明的一种实现方式中,在目标测试用例仅具有一步数据操作的情况下,只具有对应的一个业务索引,因此,测试回滚请求中可仅指示目标测试用例即可,根据回滚请求中指示的目标测试用例,就可以直接获取到唯一的业务索引,以将回滚主体回滚至该唯一的业务索引的建立时间。

在本发明的另一种实现方式中,在目标测试用例具有多步数据操作的情况下,就会相应地建立多个业务索引,测试回滚请求中可仅指示目标测试用例即可,并获取该目标测试用例的多个业务索引,供系统自动选择或供操作者手动选择,以适应实际测试回滚需求。

在本发明再一种实现方式中,测试回滚请求在指示目标测试用例为哪个的同时,还需要指示待回滚至的业务索引,这样,就可将回滚对象直接回滚至目标测试用例的该业务索引的建立时间时回滚对象的数据状态。由此,进一步增加了测试回滚的便利性,实现了测试用例乃至测试系统的自动回滚,节省了人力成本和时间成本。

图2示出了本发明的另一个实施例的测试回滚控制方法的流程图。

如图2所示,本发明的另一个实施例的测试回滚控制方法的流程包括:

步骤202,当目标测试用例的每个数据操作完成时,为完成的所述数据操作建立对应的业务索引,并录制所述回滚主体在所述业务索引的建立时间时的数据状态。由此,便于在后续步骤中根据业务索引将回滚主体回滚至该业务索引的建立时间时所录制的回滚主体的数据状态。

步骤204,获取测试回滚请求,所述测试回滚请求指示有目标测试用例、回滚主体和回滚时间点。其中,所述回滚主体为待回滚的测试用例或测试系统,即可以将单个测试用例回滚到在前的某个状态,也可将整个测试系统整体回滚到在前的某个状态,目标测试用例则用于指示回滚主体所需要回滚至的数据状态,通过目标测试用例,可将回滚主体回滚至目标测试用例的任一或指定业务索引的建立时间时所录制的回滚主体的数据状态,而回滚时间点指的是回滚主体所需要回滚至的数据状态对应的时间点,通过将回滚时间点与各业务索引的建立时间相比较,可以选择建立时间与回滚时间点匹配的一个业务索引,作为回滚对象回滚的依据。

步骤206,在所述目标测试用例对应的业务索引集合中,确定建立时间与所述回滚时间点相匹配的所述业务索引。

结合步骤202和步骤206可知,目标测试用例由于具有多步数据操作,每步数据操作都对应有一个业务索引,所有业务索引构成业务索引集合,并且,每个业务索引都具有自己的建立时间。因此,可以根据测试回滚请求指示的回滚时间点来选择具有相匹配的建立时间的业务索引。

此处的相匹配可以指完全相同,也可以指回滚时间点与业务索引的建立时间的差值小于预定差值,这样,如果测试回滚请求指示的回滚时间点在一个数据操作的过程中,则可分别计算回滚时间点与在前业务索引的第一差值,以及回滚时间点与在后业务索引的第二差值,将小于预定差值的差值所对应的业务索引作为与所述回滚时间点相匹配的所述业务索引。

当然,如果第一差值和第二差值均小于预定差值的差值,则可选择第一差值和第二差值中的较小者,或者,也可以发出提示,以供人工选择,从而适应实际测试需求。

步骤208,将所述回滚主体回滚至所述业务索引的建立时间时的数据状态。

通过以上技术方案,针对相关技术中测试用例难以复用的技术问题,能够降低测试用例复用的难度,提升测试效率,实现了测试用例乃至测试系统的自动回滚,节省了人力成本和时间成本,并能够提升数据回滚的准确性,使得测试用例可以复用,极大地提升了测试效率。

图3示出了本发明的再一个实施例的测试回滚控制方法的流程图。

如图3所示,本发明的再一个实施例的测试回滚控制方法的流程包括:

步骤302,获取测试回滚请求,所述测试回滚请求指示有目标测试用例和回滚主体。

步骤304,根据所述测试回滚请求,在数据库底层获取所述目标测试用例对应的业务索引。

步骤306,判断所述回滚主体是否为所述测试系统,当判断结果为是时,进入步骤308,当判断结果为否时,进入步骤310。

所述回滚主体为待回滚的测试用例或测试系统,即可以将单个测试用例回滚到在前的某个状态,也可将整个测试系统整体回滚到在前的某个状态。因此,由于回滚整个测试系统占用的内存资源较大,可判断回滚主体为目标测试用例还是测试系统,以便采取相应的回滚策略,以便在回滚主体为目标测试用例不锁定过多资源,避免占用大量资源影响测试系统的其他功能,以及,便于在回滚主体为测试系统时锁定足够的资源供整个测试系统使用。当然,判断依据可以为获取到的测试回滚请求,该测试回滚请求中指示了回滚主体的类型。

步骤308,将所述测试系统中的每个测试用例均回滚至所述每个测试用例在所述业务索引的建立时间时的数据状态。

也就是说,在所述回滚主体为所述测试系统的情况下,需要进行数据回滚的为测试系统,故可将测试系统中的每个测试用例均进行回滚,回滚至所述每个测试用例在所述业务索引的建立时间时的数据状态,以实现整个测试系统的回滚。当然,在实际场景中,回滚主体也可为所述测试系统的部分功能单元,则在进行回滚时,可直接将测试系统的部分功能单元所涉及的测试用例进行回滚,回滚至部分功能单元所涉及的测试用例在所述业务索引的建立时间时的数据状态。

步骤310,确定所述回滚主体为所述目标测试用例,将所述目标测试用例回滚至所述目标测试用例在所述业务索引的建立时间时的数据状态。

也就是说,在所述回滚主体不是所述测试系统的情况下,可认定所述回滚主体是目标测试用例,故可直接将该目标测试用例回滚至目标测试用例在所述业务索引的建立时间时的数据状态。

通过以上技术方案,针对相关技术中测试用例难以复用的技术问题,能够降低测试用例复用的难度,提升测试效率,实现了测试用例乃至测试系统的自动回滚,节省了人力成本和时间成本,并能够提升数据回滚的准确性,使得测试用例可以复用,极大地提升了测试效率。

图4示出了本发明的一个实施例的测试回滚控制装置的框图。

如图4所示,本发明的一个实施例的测试回滚控制装置400包括:回滚请求获取单元402,用于获取测试回滚请求,所述测试回滚请求指示有目标测试用例和回滚主体;业务索引获取单元404,用于根据所述测试回滚请求,在数据库底层获取所述目标测试用例对应的业务索引;回滚单元406,用于将所述回滚主体回滚至所述业务索引的建立时间时的数据状态。

该测试回滚控制装置400使用图1至图3示出的实施例中任一项所述的方案,因此,具有上述所有技术效果,在此不再赘述。测试回滚控制装置400还具有以下技术特征:

在本发明上述实施例中,可选地,所述测试回滚请求还指示有回滚时间点;所述业务索引获取单元404用于:在所述目标测试用例对应的业务索引集合中,确定建立时间与所述回滚时间点相匹配的所述业务索引。

在本发明上述实施例中,可选地,还包括:业务索引建立单元,用于测试过程中,在所述回滚请求获取单元402获取所述测试回滚请求之前,当所述目标测试用例的每个数据操作完成时,为完成的所述数据操作建立对应的所述业务索引,录制所述回滚主体在所述业务索引的建立时间时的数据状态。

在本发明上述实施例中,可选地,所述回滚主体为待回滚的测试用例或测试系统。

在本发明上述实施例中,可选地,还包括:判断单元,用于在所述回滚单元406将所述回滚主体回滚至所述业务索引的建立时间时的数据状态之前,判断所述回滚主体是否为所述测试系统;第一执行单元,用于在所述回滚主体为所述测试系统的情况下,将所述测试系统中的每个测试用例均回滚至所述每个测试用例在所述业务索引的建立时间时的数据状态;第二执行单元,用于在所述回滚主体不是所述测试系统的情况下,确定所述回滚主体为所述目标测试用例,将所述目标测试用例回滚至所述目标测试用例在所述业务索引的建立时间时的数据状态。

图5示出了本发明的一个实施例的终端的框图。

如图5所示,本发明的一个实施例的终端500,包括至少一个存储器502;以及,与所述至少一个存储器502通信连接的处理器504;其中,所述存储器存储有可被所述至少一个处理器504执行的指令,所述指令被设置为用于执行上述图1至图3实施例中任一项所述的方案。因此,该终端500具有和图1至图3实施例中任一项相同的技术效果,在此不再赘述。

本发明实施例的终端以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

另外,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述图1至图3实施例中任一项所述的方法流程。

以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,针对相关技术中测试用例难以复用的技术问题,能够降低测试用例复用的难度,提升测试效率,实现了测试用例乃至测试系统的自动回滚,节省了人力成本和时间成本,并能够提升数据回滚的准确性,使得测试用例可以复用,极大地提升了测试效率。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述执行单元,但这些执行单元不应限于这些术语。这些术语仅用来将执行单元彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一执行单元也可以被称为第二执行单元,类似地,第二执行单元也可以被称为第一执行单元。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1