数据测试方法、测试库的生成方法及相关装置的制作方法

文档序号:6443836阅读:184来源:国知局
专利名称:数据测试方法、测试库的生成方法及相关装置的制作方法
技术领域
本发明涉及数据处理领域,尤其涉及一种数据测试方法、测试库的生成方法及相
关装置。
背景技术
在软件的开发流程中,需要对一些程序的功能进行自动化测试;而在现有技术中,执行某些功能的自动化测试时,需要对被测试的数据进行备份,并且在测试完成的时候,使用备份的文件对测试完成后的数据进行还原,以保证原有的数据模型不变,从而可以使用原始的数据进行反复的自动化测试和验证。在现有技术中,在执行数据备份时,是对整一种数据库里面的数据进行备份;并且,在很多情况下,许多的测试用例在运行时都需要使用到原始的数据进行测试,因此,导致每一次运行一个测试用例都需要重新还原整个数据库中原始的数据,而整库的还原效率非常低,严重影响测试效率。

发明内容
本发明实施例提供了一种数据测试方法、测试库的生成方法及相关装置,用于高效的进行数据的自动化测试。本发明提供的数据测试方法,包括:根据特征标识提取需要进行测试的测试数据;对所述测试数据进行备份,得到数据备份文件;根据所述测试数据运行测试用例;使用所述数据备份文件还原所述测试用例运行之后的测试数据。本发明提供的测试库的生成方法,包括:获取测试数据,根据所述测试数据的不同类型为所述测试数据添加不同的特征标识;根据预置规则对添加特征标识后的测试数据进行测试用例的划分。本发明提供的数据测试装置,包括:数据提取单元,用于根据特征标识提取需要进行测试的测试数据;数据备份单元,用于对所述测试数据进行备份,得到数据备份文件;测试单元,用于根据所述测试数据运行测试用例;备份还原单元,用于使用所述数据备份文件还原所述测试用例运行之后的测试数据。本发明提供的测试库生成装置,包括:字段添加单元,用于获取用户录入的测试数据,根据不同的用户标识为所述测试数据添加不同的特征标识;用例划分单元,用于根据预置规则对添加特征标识后的测试数据进行测试用例的划分。从以上技术方案可以看出,本发明实施例具有以下优点:在本发明实施例中,在建立测试库时,为不同类型的测试数据添加上相应的特征标识,使得在进行数据测试时,本发明可以根据特征标识提取需要进行测试的测试数据,从而避免了对整个测试库的测试数据进行备份,提高了数据测试的效率。


图1是本发明实施例中数据测试方法的一个流程示意图;图2是本发明实施例中数据测试方法的另一个流程示意图;图3是本发明实施例中测试库生成方法的另一个流程示意图;图4是本发明实施例中数据测试装置的逻辑结构示意图;图5是本发明实施例中测试库生成装置的逻辑结构示意图。
具体实施例方式本发明实施例提供了一种数据测试方法、测试库的生成方法及相关装置,用于高效的进行数据的自动化测试。请参阅图1,本发明实施例中数据测试方法的一个实施例包括:101、根据特征标识提取需要进行测试的测试数据;根据特征标识提取需要进行测试的测试数据。具体的,在建立测试库时,数据库生成装置为用户录入的测试数据添加特征标识,使得不同类型的测试数据具有不同的特征标识,从而在提取需要进行测试的测试数据时,可以有针对性的提取相应的测试数据,避免对整个数据库的同时的进行处理。所述特征标识用于唯一的识别一类测试数据;具体的,所述特征标识可以为用户名字段、项目类型字段或数据的关键字串。如,该测试数据都是某一用户所使用的业务,则可以根据该用户注册的测试账号或用户名称为该用户名字段(即特征标识)。102、对所述测试数据进行备份;在提取需要进行测试的测试数据之后,对所述测试数据进行备份,得到所述测试数据对应的数据备份文件。在实际应用中,具体的,所述数据备份文件可以为结构化查询语言(SQL,Structured Query Language)脚本格式的文件。可选的,对于数据备份文件,可以使用紧凑的SQL语法生成,使得每个数据表中只有I条SQL语句进行执行,并采用批次处理,关闭索引的自动建立等方法,加快SQL脚本的执行效率。103、根据所述测试数据运行测试用例;在对原始的测试数据进行备份之后,即可以根据所述测试数据运行测试用例。在实际应用中,在测试库建立时,会对分属于不同功能模块的测试数据进行测试用例的划分,使得在执行测试时,可以直接使用数据库中已划分完成的测试用例运行测试内容。104、使用所述数据备份文件还原所述测试用例运行之后的测试数据。在完成测试用例的运行之后,可以使用所述数据备份文件还原所述测试用例运行之后的测试数据。在实际执行还原操作的过程中,先删除对应的测试库中所有所述特征字段对应的测试数据,然后查找之前备份的数据备份文件进行还原,使得原始的测试数据可以被反复的利用。在本发明实施例中,在建立测试库时,为不同类型的测试数据都添加上相应的特征标识,使得在进行数据测试时,本发明可以根据特征标识提取需要进行测试的测试数据,从而避免了对整个数据库的测试数据进行备份,提高了数据测试的效率。
在现有技术中,测试用例间可能存在关联关系,若同时运行多个测试用例,则会可能会引起数据的冲突,本发明提供了相应的解决方法,请参阅图2,本发明实施例中数据测试方法的另一个实施例包括:201、数据测试装置根据特征标识提取需要进行测试的测试数据;数据测试装置根据特征标识提取需要进行测试的测试数据。具体的,在建立测试库时,数据库生成装置为用户录入的测试数据添加特征标识,使得具有不同类型的测试数据具有不同的特征标识,从而在数据测试装置提取需要进行测试的测试数据时,可以有针对性的提取相应的测试数据,避免对整个数据库的同时的进行处理。202、数据测试装置对所述测试数据进行备份;在数据测试装置提取需要进行测试的测试数据之后,数据测试装置对所述测试数据进行备份,得到所述测试数据对应的数据备份文件。在实际应用中,具体的,所述数据备份文件可以为SQL脚本格式的文件。可选的,对于数据备份文件,可以使用紧凑的SQL语法生成,使得每个数据表中只有I条SQL语句进行执行,并采用批次处理,关闭索引的自动建立等方法,加快SQL脚本的执行效率。203、数据测试装置检测是否有待运行的测试用例;数据测试装置检测是否有待运行的测试用例,若有,则触发步骤204,检测是否有状态为空闲的测试库;若没有,则结束所述测试用例的运行流程,并触发步骤206,进行测试数据的备份还原。204、数据测试装置检测是否有状态为空闲的测试库;数据测试装置检测是否有状态为空闲的测试库,所述测试库具有两个以上,若有,则触发步骤205,建立一个后台线程;若无,则等待状态为空闲的测试库。在本发明实施例中,数据测试装置建立有两个以上的测试库,所述测试库存储了所述测试用例,签署已备份的用户数据SQL脚本,测试库本地的运行状态(包括:运行中和空闲),以及测试账户相关的业务数据。在测试库建立测试用例时,根据业务功能对测试数据进行划分,使得各个测试用例的运行结果为所述业务功能所需要得到的最终参数,避免各个测试用例间产生关联关系,从而使得测试用例可以被同时地运行。具体的,测试用例的划分可以遵循以下规则:一、若待测的业务间的功能相互独立,则为所述待测的业务分别建立测试用例;如,用户对各个产品的续费业务,由于各个产品的续费都是相互独立的,没有数据关联,因此,可以为每个产品的续费业务单独建立测试用例;其中,若上述每个产品的续费业务都是针对同一个用户的,则可以创建一个测试账号,然后为该测试账号的每个产品的续费业单独建立测试用例。二、若各项业务之间涉及同一个流程操作,则将与所述各项业务相关的测试数据划分为一个测试用例;如,验证产品的购买开通流程;所述购买开通流程包括:用户产品下单、付款、后台确认付款、开通服务、进入服务使用5个节点。每个节点的数据验证必须要使用上一个节点的结果数据,如果把每个节点都编写为独立的测试用例,则要求测试用例的执行需要按照顺序来执行,显然这在自动化实际运行过程中有太多制约。因此,在建立测试用例时,需要将与所述购买开通流程相关的测试数据划分为一个测试用例,并根据上述流程次序进行测试脚本的编写。上面仅以一些例子对本发明实施例中的应用场景进行了说明,可以理解的是,在实际应用中,还可以有更多的应用场景,具体此处不作限定。205、数据测试装置建立后台线程;数据测试装置建立一个后台进程,在所述运行状态为空闲的测试库中运行所述待运行的测试用例。具体的,在所述测试库已经开始运行测试用例之后,可以将所述测试库的运行状态变更为“运行中”,使得数据测试装置可以根据各个测试库的实时状态监控测试用例的运行过程;同理,当所述测试库完成了测试用例的运行之后,可以将所述测试库的运行状态变更为“空闲”,等待运行下一个测试用例。 206、数据测试装置执行测试数据的备份还原。在确认所有的测试用例都运行完毕之后,数据测试装置将所有的测试数据还原为测试前的备份数据。或,还有测试用例需要用到相关的测试数据时,则对所述需要用到相关的测试数据进行还原;具体的,由于测试用例进行划分时是针对测试账号和业务功能进行划分的,因此,在还原测试用例所需用到相关的测试数据时,可以查询所述测试用例对应的测试账号,根据所述测试账号确定需要提取测试数据的特征标识,使用所述特征标识提取备份数据进行还原。下面对测试库的生成方法进行描述,请参阅图3,本发明实施例中测试库生成方法的一个实施例包括:301、测试库生成装置获取测试数据;测试库生成装置获取测试数据,可选的,所述测试数据可以为用户录入的数据,也可以为测试库生成装置从其它数据库中获取到的测试相关数据。302、测试库生成装置分配特征标识;测试库生成装置根据所述测试数据的不同类型为所述测试数据添加不同的特征标识,所述特征标识用于唯一的识别一类测试数据;具体的,所述特征标识可以为用户名字段、项目类型字段或数据的关键字串;可选的,所述用户名字段可以为用户的名称或用户的测试账号。在本发明实施例中,测试数据在存入测试库时添加有特征标识,使得当需要调用测试数据时,可有针对性的对需要进行测试的测试账号的测试数据进行提取,避免了对全盘数据进行操作。303、测试库生成装置进行测试用例的划分。在对测试数据添加了特征标识之后,测试库生成装置根据预置规则对添加特征标识后的测试数据进行测试用例的划分。具体的,测试库生成装置可以根据业务功能对添加特征标识后的测试数据进行测试用例的划分,使得所述测试用例的运行结果为所述业务功能所需要得到的最终参数;并且,在测试用例的划分时,还可以考虑测试账号等参考因素,具体可以参考以下的划分规则:
一、若待测的业务间的功能相互独立,则为所述待测的业务分别建立测试用例;如,用户对各个产品的续费业务,由于各个产品的续费都是相互独立的,没有数据关联,因此,可以为每个产品的续费业务单独建立测试用例;其中,若上述每个产品的续费业务都是针对同一个用户的,则可以创建一个测试账号,然后为该测试账号的每个产品的续费业单独建立测试用例。二、若各项业务之间涉及同一个流程操作,则将与所述各项业务相关的测试数据划分为一个测试用例;如,验证产品的购买开通流程;所述购买开通流程包括:用户产品下单、付款、后台确认付款、开通服务、进入服务使用5个节点。每个节点的数据验证必须要使用上一个节点的结果数据,如果把每个节点都编写为独立的测试用例,则要求测试用例的执行需要按照顺序来执行,显然这在自动化实际运行过程中有太多制约。因此,在建立测试用例时,需要将与所述购买开通流程相关的测试数据划分为一个测试用例,并根据上述流程次序进行测试脚本的编写。上面仅以一些例子对本发明实施例中的应用场景进行了说明,可以理解的是,在实际应用中,还可以有更多的应用场景,具体此处不作限定。下面对用于执行上述数据测试方法的本发明中数据测试装置的实施例进行说明,其逻辑结构请参考图4,本发明实施例中数据测试装置的一个实施例包括:数据提取单元401,用于根据特征标识提取需要进行测试的测试数据;数据备份单元402,用于对所述测试数据进行备份,得到数据备份文件;测试单元403,用于根据所述测试数据运行测试用例;备份还原单元404,用于使用所述数据备份文件还原所述测试用例运行之后的测试数据。可选的,本发明实施例中的数据测试装置还可以进一步包括:状态标记单元405,用于将运行测试用例的测试库的状态标记为测试中,在所述测试用例运行结束后,将所述测试库的状态标记为空闲。可选的,本发明实施例中的测试单元403可以包括:运行检测模块4031,用于检测是否有待运行的测试用例,所述测试库具有两个以上,若有,则触发状态检测模块4032,若无,则结束测试用例的运行流程;状态检测模块4032,用于检测是否状态为空闲的测试库,所述测试库具有两个以上,若有,则触发线程建立模块4033,若无,则等待状态为空闲的测试库;线程建立模块4033,用于建立后台线程,并使用所述空闲的测试库运行所述待运行的测试用例。本发明实施例数据测试装置中各个单元具体的操作过程如下:数据提取单元401根据特征标识提取需要进行测试的测试数据。具体的,在建立测试库时,数据库生成装置为用户录入的测试数据添加特征标识,使得具有不同类型的测试数据具有不同的特征标识,从而在数据测试装置提取需要进行测试的测试数据时,可以有针对性的提取相应的测试数据,避免对整个数据库的同时的进行处理。在提取需要进行测试的测试数据之后,数据备份单元402对所述测试数据进行备份,得到所述测试数据对应的数据备份文件。在实际应用中,具体的,所述数据备份文件可以为SQL脚本格式的文件。可选的,对于数据备份文件,可以使用紧凑的SQL语法生成,使得每个数据表中只有I条SQL语句进行执行,并采用批次处理,关闭索引的自动建立等方法,加快SQL脚本的执行效率。在完成了测试数据的备份之后,测试单元403根据所述测试数据运行测试用例。具体的,可以有测试单元403的运行检测模块4031检测是否有待运行的测试用例,若有,则触发状态检测模块4032 ;若没有,则结束所述测试用例的运行流程,并触发备份还原单元404。状态检测模块4032检测是否状态为空闲的测试库,所述测试库具有两个以上,若有,则触发线程建立模块4033建立后台线程,并使用所述空闲的测试库运行所述待运行的测试用例;若无,则等待状态为空闲的测试库。可选的,在所述测试用例运行时,状态标记单元405将运行测试用例的测试库的状态标记为测试中;在所述测试用例运行结束后,状态标记单元405将所述测试库的状态标记为空闲。下面对用于执行上述测试库生成方法的本发明中测试库生成装置的实施例进行说明,其逻辑结构请参考图5,本发明实施例中测试库生成装置的一个实施例包括:字段添加单元501,用于获取用户录入的测试数据,根据不同的用户标识为所述测试数据添加不同的特征标识;用例划分单元502,用于根据预置规则对添加特征标识后的测试数据进行测试用例的划分。本发明实施例数据装置中各个单元具体的操作过程如下:获取测试数据,可选的,所述测试数据可以为用户录入的数据,也可以为测试库生成装置从其它数据库中获取到的测试相关数据。字段添加单元501根据所述测试数据的不同类型为所述测试数据添加不同的特征标识,所述特征标识用于唯一的识别一类测试数据;具体的,所述特征标识可以为用户名字段、项目类型字段或数据的关键字串。。在本发明实施例中,测试数据在存入测试库时添加有特征标识,使得当需要调用测试数据时,可有针对性的对需要进行测试的测试账号的测试数据进行提取,避免了对全盘数据进行操作。在对测试数据添加了特征标识之后,用例划分单元502根据预置规则对添加特征标识后的测试数据进行测试用例的划分。具体的,测试库生成装置可以根据业务功能对添加特征标识后的测试数据进行测试用例的划分,使得所述测试用例的运行结果为所述业务功能所需要得到的最终参数;并且,在测试用例的划分时,还可以考虑测试账号等参考因素,具体可以参考以下的划分规则:一、若待测的业务间的功能相互独立,则为所述待测的业务分别建立测试用例;如,用户对各个产品的续费业务,由于各个产品的续费都是相互独立的,没有数据关联,因此,可以为每个产品的续费业务单独建立测试用例;其中,若上述每个产品的续费业务都是针对同一个用户的,则可以创建一个测试账号,然后为该测试账号的每个产品的续费业单独建立测试用例。二、若各项业务之间涉及同一个流程操作,则将与所述各项业务相关的测试数据划分为一个测试用例;如,验证产品的购买开通流程;所述购买开通流程包括:用户产品下单、付款、后台确认付款、开通服务、进入服务使用5个节点。每个节点的数据验证必须要使用上一个节点的结果数据,如果把每个节点都编写为独立的测试用例,则要求测试用例的执行需要按照顺序来执行,显然这在自动化实际运行过程中有太多制约。因此,在建立测试用例时,需要将与所述购买开通流程相关的测试数据划分为一个测试用例,并根据上述流程次序进行测试脚本的编写。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种数据测试方法,其特征在于,包括: 根据特征标识提取需要进行测试的测试数据; 对所述测试数据进行备份,得到数据备份文件; 根据所述测试数据运行测试用例; 使用所述数据备份文件还原所述测试用例运行之后的测试数据。
2.根据权利要求1所述的方法,其特征在于,若所述测试用例有两个以上,则所述根据测试数据运行测试用例,包括: 根据所述测试数据,使用两个以上的后台线程运行所述测试用例。
3.根据权利要求2所述的方法,其特征在于,所述根据测试数据,使用两个以上的后台线程运行所述测试用例,包括: 检测是否有待运行的测试用例; 若有,则检测是否有状态为空闲的测试库,所述测试库具有两个以上;若有状态为空闲的测试库,则建立一个后台线程,使用所述空闲的测试库运行所述待运行的测试用例;若没有状态为空闲的测试库,则等待状态为空闲的测试库。
4.根据权利要求3所述的方法,其特征在于,所述使用空闲的测试库运行所述待运行的测试用例之后,包括: 将运行测试用例的测试库的状态标记为测试中; 在所述测试用例运行结 束后,将所述测试库的状态标记为空闲。
5.—种测试库生成方法,其特征在于,包括: 获取测试数据,根据所述测试数据的不同类型为所述测试数据添加不同的特征标识; 根据预置规则对添加特征标识后的测试数据进行测试用例的划分。
6.根据权利要求5所述的方法,其特征在于,所述根据预置规则对添加特征标识后的测试数据进行测试用例的划分,包括: 根据业务功能对添加特征标识后的测试数据进行测试用例的划分,使得所述测试用例的运行结果为所述业务功能所需要得到的最终参数。
7.一种数据测试装置,其特征在于,包括: 数据提取单元,用于根据特征标识提取需要进行测试的测试数据; 数据备份单元,用于对所述测试数据进行备份,得到数据备份文件; 测试单元,用于根据所述测试数据运行测试用例; 备份还原单元,用于使用所述数据备份文件还原所述测试用例运行之后的测试数据。
8.根据权利要求7所述的数据测试装置,其特征在于,所述测试单元包括: 运行检测模块,用于检测是否有待运行的测试用例,所述测试库具有两个以上,若有,则触发状态检测模块,若无,则结束测试用例的运行流程; 状态检测模块,用于检测是否状态为空闲的测试库,所述测试库具有两个以上,若有,则触发线程建立单元,若无,则等待状态为空闲的测试库; 线程建立模块,用于建立后台线程,并使用所述空闲的测试库运行所述待运行的测试用例。
9.根据权利要求8所述的数据测试装置,其特征在于,所述数据测试装置还包括: 状态标记单元,用于将运行测试用例的测试库的状态标记为测试中,在所述测试用例运行结束后,将所述测试库的状态标记为空闲。
10.一种测试库生成装置,其特征在于,包括: 字段添加单元,用于获取用户录入的测试数据,根据不同的用户标识为所述测试数据添加不同的特征标识; 用例划分单元,用于根据预置规则对添加特征标识后的测试数据进行测试用例的划分。 ·
全文摘要
本发明实施例公开了一种数据测试方法、测试库的生成方法及相关装置,用于高效的进行数据的自动化测试。本发明实施例方法包括根据特征标识提取需要进行测试的测试数据;对所述测试数据进行备份,得到数据备份文件;根据所述测试数据运行测试用例;使用所述数据备份文件还原所述测试用例运行之后的测试数据。
文档编号G06F11/14GK103186561SQ201110448450
公开日2013年7月3日 申请日期2011年12月28日 优先权日2011年12月28日
发明者李娟 申请人:深圳市金蝶友商电子商务服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1