一种测试、校验方法及装置与流程

文档序号:12063571阅读:234来源:国知局
一种测试、校验方法及装置与流程
本发明涉及计算机
技术领域
,尤其涉及一种测试、校验方法及装置。
背景技术
:随着信息技术的发展,服务提供商(如:网站)的服务系统中往往包含不同的应用程序(以下简称应用),服务系统可以调用这些应用提供的接口,如:应用程序编程接口(ApplicationProgrammingInterface,API),以便获得不同应用的功能来实现相应的业务服务。目前,为了保证接口被服务系统调用后能够正常运行,往往需要对不同应用的接口进行接口测试,以判断接口的内部运行逻辑是否正常,避免在被调用时出现异常。现有技术中,通常根据测试用例对接口进行测试(其中,测试用例用于测试待测对象的某项特定功能是否正常运行,测试用例中通常包括测试输入、执行条件以及预期结果)。对于任一测试用例而言,都需要准备一定数量的测试数据(如:多种接口参数),在设置好了测试数据后,则运行与该测试用例对应的测试脚本,调用相应的接口进行测试。在得到了测试结果数据后,将根据测试用例的预期结果(也称为目标数据)对测试结果数据进行校验,以判断被测的接口的该项功能是否符合预期。但是,不同的测试用例所需的测试数据的差异性并不大,多数测试用例所需的测试数据仅是个别参数不同,而采用现有技术中的上述方式,每进行一次测试时都需要重复设置全部的测试数据。同样,不同的测试用例中的目标数据也存在一定程度的共性,而使用现有技术中的测试方式,在校验测试结果数据时仍需要重复设置目标数据。显然,采用现有技术中的接口测试方式,其过程 较为繁琐,效率较低。技术实现要素:本发明实施例提供一种测试、校验方法及装置,用以解决现有技术中对接口测试的过程操作繁琐导致效率较低的问题。本发明实施例提供的一种测试方法,包括:测试平台接收自定测试数据;获取测试模板数据集,其中,所述测试模板数据集中包含测试模板数据,所述测试平台接收到的自定测试数据的类型的数量小于测试模板数据的类型的数量;针对接收到的每个自定测试数据,在所述测试模板数据集中,采用该自定测试数据替换与该自定测试数据属于同一类型的测试模板数据,生成测试数据;根据所述测试数据,对待测对象进行测试。本发明实施例另提供的一种校验方法,包括:测试平台接收自定目标数据;获取目标模板数据集,其中,所述目标模板数据集中包含目标模板数据,所述测试平台接收到的自定目标数据的类型的数量小于目标模板数据的类型的数量;针对接收到的每个自定目标数据,在所述目标模板数据集中,采用该自定目标数据替换与该自定目标数据属于同一类型的目标模板数据,生成目标数据;根据所述目标数据,对测试结果数据进行比对校验。本发明实施例另提供的一种测试装置,包括:接收模块,用于接收自定测试数据;获取模块,用于获取测试模板数据集,其中,所述测试模板数据集中包含 测试模板数据,所述测试平台接收到的自定测试数据的类型的数量小于测试模板数据的类型的数量;合成模块,用于针对接收到的每个自定测试数据,在所述测试模板数据集中,采用该自定测试数据替换与该自定测试数据属于同一类型的测试模板数据,生成测试数据;测试模块,用于根据所述测试数据,对待测对象进行测试。本发明实施例另提供的一种校验装置,包括:接收模块,用于获取测试结果数据;获取模块,用于获取目标模板数据集,其中,所述目标模板数据集中包含目标模板数据,所述测试平台接收到的自定目标数据的类型的数量小于目标模板数据的类型的数量;合并模块,用于针对接收到的每个自定目标数据,在所述目标模板数据集中,采用该自定目标数据替换与该自定目标数据属于同一类型的目标模板数据,生成目标数据;校验模块,用于根据所述目标数据,对测试结果数据进行比对校验。本发明实施例提供一种测试、校验方法及装置,其中,通过所述测试方法,测试平台中针对各待测对象,预先设置属于各待测对象的测试模板数据集,该测试模板数据集中包含了待测对象能够正常运行的各类测试模板数据,在进行测试的过程中,测试平台通过接收到的测试脚本,可以获取到测试者自定义的部分数据(即,自定测试数据),并将自定测试数据与属于该待测对象的测试模板数据集中的测试模板数据进行合并,生成测试所需的测试数据。与现有技术不同的是,采用本申请中自定测试数据以及测试模板数据集的方式,可以最大程度降低重复设置数据情况的出现,提升了在测试过程中的便捷性,以及测试的效率。类似地,对于本申请中的校验方法而言,也使用了类似的方式,同样达到了类似效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为本发明实施例提供的测试过程示意图;图2为本发明实施例提供的校验过程示意图;图3为本发明实施例提供的CTS框架示意图;图4为本发明实施例提供的测试装置结构示意图;图5为本发明实施例提供的校验装置结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例提供的测试过程,该过程具体包括以下步骤:S101:测试平台接收自定测试数据。S102:获取测试模板数据集。其中,所述测试模板数据集中包含测试模板数据,所述测试平台接收到的自定测试数据的类型的数量小于测试模板数据的类型的数量。结合上述两个步骤:在本申请实施例中,所述的测试平台可以是一种具有开发、测试功能的测试环境,可运行在相应的服务器中,为不同的使用者提供测试服务,如:eclipse平台。在测试平台中,可以提供不同的测试框架,用以针对不同测试对象(测 试对象可以是应用、接口、操作系统等等)进行具体测试,如:用于针对接口进行测试的核心测试框架系统(Core-Test-Fram-System,CTS)。当然,这里并不构成对本申请的限定。实际应用中,对待测对象进行测试时,往往需要设置相应的数据,以待测对象为待测接口为例:接口中通常都包含一系列数据(如:接口参数),这些数据不仅保证了接口的正常工作,也可使得接口实现相应的功能。为了针对接口在不同测试场景条件下的运行逻辑,现有的测试过程通常根据不同的测试用例来设置待测接口中的全部数据,对于不同的测试用例所对应的数据而言,其在一定程度上是相同的,只有部分数据间具有差异,但使用现有的测试方式,每一次测试都需要重复设置参数,显然,这样的方式过于繁琐且增加了不必要的重复工作。为了减少重复设置数据的情况,故在本申请实施例中,测试者可以自定义测试时其所需的某些数据,也即,自定测试数据。同时,在测试平台中,预先设置了不同接口的测试模板数据集。可见,在一次测试中,测试者只需要定义少部分的数据,对于未定义的数据,由测试模板数据集提供。这将有效减少针对数据的重复设置。需要说明的是,本申请实施例中的自定测试数据,既可以在测试脚本中定义,也可以通过测试脚本在特定的配置文件中调取,当然,对于自定测试数据的确定方式并不构成对本申请的限定。S103:针对接收到的每个自定测试数据,在所述测试模板数据集中,采用该自定测试数据替换与该自定测试数据属于同一类型的测试模板数据,生成测试数据。自定测试数据只是待测对象所需全部数据中的部分数据,那么,在进行测试前,相应的测试框架就会将测试者自定的数据,与该待测对象对应的测试模板数据集中的测试模板数据进行合并。其合并的方式就是将与自定测试数据同类的测试模板数据,替换为自定测试数据,也即生成了本次测试所需的测试数 据。S104:根据所述测试数据,对待测对象进行测试。在得到了上述的测试数据后,便可以对待测的目标进行测试,在本申请实施例中,所述的目标可以是:待测的应用、接口、操作系统等等,这里并不构成对本申请的限定。通过上述步骤,测试平台中针对各待测对象,预先设置属于各待测对象的测试模板数据集,该测试模板数据集中包含了待测对象能够正常运行的各类测试模板数据,在进行测试的过程中,测试平台通过接收到的测试脚本,可以获取到测试者自定义的部分数据(即,自定测试数据),并将自定测试数据与属于该待测对象的测试模板数据集中的测试模板数据进行合并,生成测试所需的测试数据。与现有技术不同的是,采用本申请中自定测试数据以及测试模板数据集的方式,可以最大程度降低重复设置数据情况的出现,提升了在测试过程中的便捷性,以及测试的效率。需要说明的是,本申请中每一次测试过程均是根据相应的测试用例而进行,为了能够执行测试的过程,通常需要运行与该测试用例对应的测试脚本。所述的测试脚本,由不同的测试者提供(如:可由测试者进行编写),这里并不构成对本申请的限定。作为一种可能的方式,自定测试数据可以预先由测试者编辑至测试平台中,通过测试脚本,可以在该测试平台中获取到该自定测试数据。而作为另一种可能的方式,自定测试数据由测试脚本携带,在此情况下,对于上述步骤S101,测试平台接收自定测试数据,具体包括:所述测试平台接收携带在测试脚本中的自定测试数据。对于上述步骤S104,根据所述测试数据,对待测对象进行测试,具体包括:根据所述测试数据,采用所述测试脚本对待测对象进行测试。当然,上述两种方式均作为本申请种的可能方式,不构成对本申请的限定。正是由于本申请中每一次测试过程均是根据相应的测试用例而进行,也就 是说,每一次测试用例不同,那么,在测试过程中的自定测试数据也就不相同,在与待测对象对应的测试模板数据集中的测试模板数据进行合并后,将生成不同的测试数据。为了保证每一次测试结束后,测试框架中的数据(测试模板数据集中的测试模板数据)不会对后一次测试造成影响,所以,在每一次测试结束后,都将删除本次测试时所使用的测试数据,这样一来,待测对象所对应的测试模板数据集中的测试模板数据仍不受自定测试数据的影响。故在本申请实施例中,所述方法还包括:在测试结束后,删除所述测试数据。在接口测试的场景下,完整的接口测试过程,既包括对接口测试获得测试结果数据,也包括对测试结果数据进行验证,判断接口的内部逻辑是否正常。上述内容解决了在获得测试结果数据前的过程需要重复设置数据的问题,但正如前述,在实际应用时,在对测试结果数据的验证过程中,也需要设置不同的目标数据,用以对测试结果数据进行验证,也就是说,在验证过程中,也存在重复设置数据的现象,从而导致测试过程,所以,在本申请实施例中,还提供一种校验方法,如图2所示。在图2中,所述方法具体包括如下步骤:S201:测试平台接收自定目标数据。其中,所述测试结果数据是测试平台根据测试脚本所需的测试数据,对被测的接口进行测试后生成的。S202:获取目标模板数据集。其中,所述目标模板数据集中包含目标模板数据,所述测试平台接收到的自定目标数据的类型的数量小于目标模板数据的类型的数量。同样,为了避免或最大程度降低重复设置目标数据的现象,故测试者可以预先自定义所需的目标数据,也即,目标自定测试数据。类似地,在该测试平台中,也预先设置有相应的目标模板数据集。而测试者自定义的各类目标自定测试数据的数量小于目标模板数据集中各类目标模板数据的数量。显然,与现有技术中不同的是,测试者只需设置部分目标数据,而无需设置全部目标数据,对于测试者未设置的目标数据,将由目标模板数据提供,这样的方式将有效减 少在验证过程中对目标数据的重复设置的现象。S203:针对接收到的每个自定目标数据,在所述目标模板数据集中,采用该自定目标数据替换与该自定目标数据属于同一类型的目标模板数据,生成目标数据。与测试模板数据集中替换测试模板数据相类似,在确定了各类自定目标数据以及目标模板数据集之后,便可以将与各类自定目标数据相同类别的目标模板数据进行替换,从而得到测试用例所需的目标数据。具体的替换过程与上述如图1所示的方法类似,故在此不再赘述。S204:根据所述目标数据,对测试结果数据进行比对校验。具体地,本实施例中所述的测试结果数据,可以是上述如图1所示的方法中最终得到的测试结果数据,也可以是从其他途径获得的测试结果,这里并不构成对本申请的限定。需要说明的是,测试用例中通常包含的相应的期望数据(也就是本步骤中的目标数据),从而可以根据目标数据验证测试结果数据是否与该目标数据相匹配,如果匹配,也就证明测试的待测对象的内部逻辑运行正常,反之,就表明该待测对象的内部逻辑出现异常。通过上述步骤,在测试结果数据的验证的过程中,测试者可以根据测试用例自行定义相应的目标数据(也即,自定目标数据),与自定测试数据相类似,自定目标数据也并非是全部的目标数据,即测试者只需定义部分目标数据,而对于测试者未定义的目标数据而言,将由测试平台中预设的目标模板数据提供,测试平台会将自定目标数据和目标模板数据进行合并,生成目标数据,从而与测试结果数据进行比对校验。与现有技术不同的是,本申请中的测试者只需自行定义少数的目标数据,可以有效地减少重复设置目标数据的情况的出现。从而,可以有效提升在对接口测试过程中的验证步骤中的便捷性以及验证的效率。与上述过程相类似,执行待测对象的校验过程,通常也需要运行相应的测 试脚本。所以,作为一种可能的方式,自定目标数据可以预先由测试者编辑至测试平台中,通过测试脚本,可以在该测试平台中获取到该自定目标数据。而作为另一种可能的方式,自定测试数据由测试脚本携带,在此情况下,对于上述步骤S201,测试平台接收自定目标数据,具体包括:所述测试平台接收携带在测试脚本中的自定目标数据。对于上述步骤S204,根据所述目标数据,对测试结果数据进行比对校验,具体包括:根据所述目标数据,采用所述测试脚本对所述测试结果数据进行比对校验。相似地,在实际应用中,不同的校验过程通常需要不同的测试用例,具体来说,每一次的校验过程所需的目标数据都不相同,那么,为了避免本次校验过程中的目标数据对下一次的校验过程造成影响,故在每一次校验过程结束后,将删除本次校验过程中生成的目标数据,因此,在本申请实施例中,所述方法还包括:当所述校验结束后,删除所述目标数据。结合上述如图1及图2所示的方法可知,在本申请中,在测试过程和校验过程中提供了一种合并数据的功能,从而获得相应的测试数据和目标数据,为了实现合并数据的功能,就需要一种具备数据合并功能的测试框架,即,如图3所示,为本申请实施例提供的接口测试框架,该接口测试框架属于CTS框架,在图3中,所述的测试框架中设置有重载数据模块、基准数据模块、合并模块以及处理模块。图3中,重载数据模块用于提供测试者的自定测试数据以及自定目标数据,在一种可能的方式下,重载数据模块中以conf格式的配置文件存储自定测试数据和自定目标数据。可以认为,在每一次测试(或校验)过程中,自定测试数据和自定目标数据都与测试用例相关联,基准数据模块用于提供各接口所对应的测试模板数据集以及目标模板数据集,在一种可能的方式下,基准数据模块中以csv格式的文件存储测试模板数据集和目标模板数据集。为了清楚地阐述在实际应用场景下图3中的接口测试框架的工作过程,现 以一应用实例进行详细说明。假设针对接口A进行一次测试,本次测试的测试用例中确定了所需的测试数据以及目标数据,分别如下表1和表2所示。接口参数1接口参数2接口参数3……接口参数naBc……N表1在表1中,示出了n种接口参数(也即,测试数据)及其赋值。目标数据1目标数据2目标数据3……目标数据na’B’c’……N’表2表2中示出了n种目标数据以及相应的期望结果(表2中仅以值的形式表示期望结果,在实际应用中,还可以采用文本方式明确相应的期望结果,这里并不构成对本申请的限定)。现假设进行接口测试的过程,其过程具体包括:步骤一:在接口测试框架中运行与该测试用例相对应的测试脚本。步骤二:根据测试脚本,获取该测试脚本对应的测试模板数据集以及自定测试数据。具体而言,假设在该框架中已预先存储有相应的测试模板数据集,如下表3所示。模板参数1模板参数2模板参数3……模板参数nabc……n表3表3中示出了各类标准化的接口参数(即,各类测试模板数据)。假设所述测试脚本所对应的自定测试数据如下表4所示。接口参数1接口参数2接口参数3……接口参数nB……N表4从表4中可见,在进行每一测试的情况下,测试者并不需要设置全部的接口参数,而只需要设置其所需的部分接口参数,正如表4所示,测试者在本次测试时,只设置了“接口参数2”以及“接口参数n”两个参数。步骤三:将测试模板数据集中的测试模板数据与自定测试数据进行合并,生成测试数据。具体地,在数据合并的过程中,是将测试模板数据集中与自定测试数据同类的测试模板数据进行合并,并最终形成如表1所示的测试数据。也就是说,在合并时,将表4中的“接口参数2”以及“接口参数n”两个参数,替换表3中“接口参数2”以及“接口参数n”的两个参数。步骤四:调用接口A并使用测试数据进行测试,得到测试结果数据。假设经过步骤四获得的测试结果数据如下表5所示。结果数据1结果数据2结果数据3……结果数据na’b’c’……N’表5至此,针对接口A的测试过程结束,而为了确定该接口A内部的运行逻辑是否正常,还需对表5所示的测试结果数据进行校验,也即,执行校验过程(下述步骤五)。步骤五:对测试结果数据进行校验。当然,在校验过程中,测试者还需要设定相应的目标数据,与上述测试过程中的步骤二和步骤三类似,接口测试框架提供了目标模板数据集,那么,测试者也可以仅设定部分自定目标数据,并将目标模板数据集与自定目标数据进行合并。具体地,假设目标模板数据集如下表6所示。模板数据1模板数据2模板数据3……模板数据na’b’c’……n’表6并假设自定目标模板如下表7所示。模板数据1模板数据2模板数据3……模板数据nB’……N’表7在将上述表6和7中的数据进行合并,便可得到上述表2所示的目标数据。从而,也就可以使用目标数据与表5所示的测试结果数据进行比对校验,并得到相应的校验结果:结果数据2与目标数据2不一致。至此,一套针对接口A的完整测试过程结束。从上述内容中可见,在整个测试过程中,合成了两种数据:测试数据和目标数据,这两种数据都是本次测试用例所需的,但可能与下一次测试时不同,所以,为了避免本次测试过程中的数据对下一次测试造成影响,故将执行数据清理操作,即执行下述步骤六。步骤六:清理合成的测试数据和目标数据。结合上述内容可见,采用本申请中测试方式,测试者只需设定其所需的部分自定测试数据,通过自定测试数据与预设的模板数据进行合并的方式,生成测试所需的测试数据和目标数据,可以最大程度降低重复设置数据情况的出现,提升了在测试过程中的便捷性,以及测试的效率。以上为本发明实施例提供的测试方法,基于同样的思路,本发明实施例还提供一种测试装置。如图4所示,测试装置包括:接收模块401,用于接收自定测试数据;获取模块402,用于获取测试模板数据集,其中,所述测试模板数据集中包含测试模板数据,所述测试平台接收到的自定测试数据的类型的数量小于测试模板数据的类型的数量;合成模块403,用于针对接收到的每个自定测试数据,在所述测试模板数据集中,采用该自定测试数据替换与该自定测试数据属于同一类型的测试模板 数据,生成测试数据;测试模块404,用于根据所述测试数据,对待测对象进行测试。作为本申请实施例中的一种方式,所述接收模块401,具体用于接收携带在测试脚本中的自定测试数据。所述测试模块404,具体用于根据所述测试数据,采用所述测试脚本对待测对象进行测试。在本申请实施例中,所述装置还包括:数据清理模块405,用于在测试结束后,删除所述测试数据。在本申请实施例中,所述装置,运行在一种包括核心测试框架系统CTS的测试平台上。所述测试模板数据集包括:以csv文件存储的测试模板数据集。所述自定测试数据包括:以conf文件存储的自定测试数据。通过上述如图4所示的装置,进行接口测试过程而得到了测试结果数据后,需要针对该测试结果数据进行校验。相应地,在本申请实施例中,还提供一种校验装置,如图5所示。所述装置包括:接收模块501,用于获取测试结果数据;获取模块502,用于获取目标模板数据集,其中,所述目标模板数据集中包含目标模板数据,所述测试平台接收到的自定目标数据的类型的数量小于目标模板数据的类型的数量;合并模块503,用于针对接收到的每个自定目标数据,在所述目标模板数据集中,采用该自定目标数据替换与该自定目标数据属于同一类型的目标模板数据,生成目标数据;校验模块504,用于根据所述目标数据,对测试结果数据进行比对校验。作为本申请实施例中的一种方式,所述接收模块501,具体用于接收携带在测试脚本中的自定目标数据;所述校验模块502,具体用于根据所述目标数据,采用所述测试脚本对所述测试结果数据进行比对校验。所述装置还包括:数据清理模块505,用于在测试结束后,删除所述测试数据。与上述测试装置相类似,对于本实施例中的校验装置而言,运行在一种包括核心测试框架系统CTS的测试平台上。所述测试模板数据集包括:以csv文件存储的测试模板数据集。所述自定测试数据包括:以conf文件存储的自定测试数据。在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程 序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1