一种自动测试的方法及系统、测试终端与流程

文档序号:16207942发布日期:2018-12-08 07:21阅读:158来源:国知局
一种自动测试的方法及系统、测试终端与流程

本发明属于软件测试技术领域,尤其涉及一种自动测试的方法及系统、测试终端。

背景技术

软件测试是保证软件质量的重要手段,通过软件测试可以发现软件缺陷从而修改缺陷达到提高软件质量水平的目的。

现有技术中,手工测试仍然是软件测试中的主要方式,但由于软件测试进行中有许多重复而又单调的过程,为了提高工作效率及测试准确性,出现了自动化测试。

从广义上来讲,自动化测试是一切通过工具(程序)的方式来代替或辅助手工测试的行为,或自己所写的一段用于生成指定位数的随机数的程序。从狭义上来讲,通过工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证。现有的自动化测试框架中,需要自动化测试人员进行编码,并需要持续的编写代码来执行,因此编码的效率取决于自动化测试人员的编码基础,在自动化测试人员缺失的情况下,自动化测试效率受到较大影响。



技术实现要素:

本发明实施例提供了一种自动测试的方法及系统、测试终端,旨在解决现有技术的由于自动化测试过程中需要测试人员持续编码来实现影响测试效率的问题。

一种自动测试的方法,包括:

接收测试指令;

根据测试指令从测试用例库中获取相应的测试用例并自动执行,所述测试用例库的每一测试用例预先基于selenium自动生成;

输出执行结果。

优选地,所述接收测试指令之前还包括:

基于selenium建立测试用例库。

优选地,所述基于selenium建立测试用例库包括:

接收测试用例建立指示,所述建立指示包括一个以上测试用例的参数;

基于selenium建立与所述建立指示对应的测试用例;

基于建立的测试用例建立测试用例库。

优选地,所述基于selenium建立与所述建立指示对应的测试用例库,所述测试用例包括一个以上测试用例包括:

根据所述建立指示输入一个以上测试用例的参数;

将每一所述测试用例的一个以上操作的代码进行封装,形成对应的测试用例。

优选地,所述一个以上测试用例的参数包括测试用例的优先级,所述根据测试指令从测试用例库中获取相应的测试用例并自动执行包括:

根据所述测试指令从测试用例库中获取相应的测试用例;

当所获取的测试用例不止一个时,自动基于所述测试用例的优先级执行所获取的测试用例。

优选地,所述根据测试指令从测试用例库中获取相应的测试用例并执行具体为:

当所获取的测试用例不止一个时,自动逐个执行所获取的测试用例。

本发明还提供一种自动测试的系统,包括:

接收单元,用于接收测试指令;

执行单元,用于根据测试指令从测试用例库中获取相应的测试用例并自动执行,所述测试用例库的每一测试用例预先基于selenium自动生成;

输出单元,用于输出执行结果。

本发明还提供一种测试终端,该测试终端包括一种自动测试的系统,其中所述系统包括:

接收单元,用于接收测试指令;

执行单元,用于根据测试指令从测试用例库中获取相应的测试用例并自动执行,所述测试用例库的每一测试用例预先基于selenium自动生成;

输出单元,用于输出执行结果。

本发明还提供一种存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被处理器执行如下步骤:

接收测试指令;

根据测试指令从测试用例库中获取相应的测试用例并自动执行,所述测试用例库的每一测试用例预先基于selenium自动生成;

输出执行结果。

本发明还提供一种服务终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

接收测试指令;

根据测试指令从测试用例库中获取相应的测试用例并自动执行,所述测试用例库的每一测试用例预先基于selenium自动生成;

输出执行结果。

本发明实施例中,预先建立测试用例库,后续使用过程中直接使用,无需在线编码,提高测试效率及降低成本。

附图说明

图1为本发明第一实施例提供的一种自动测试的方法的流程图;

图2为本发明第一实施例提供的一种自动测试的方法的步骤s4的具体流程图;

图3为本发明第一实施例提供的一种自动测试的方法的步骤s42的具体流程图;

图4为本发明第一实施例提供的一种自动测试的方法的步骤s2的具体流程图;

图5为本发明第二实施例提供的一种自动测试的系统的结构图;

图6为本发明第三实施例提供的一种服务终端的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,一种自动测试的方法,包括:接收测试指令;根据测试指令从测试用例库中获取相应的测试用例并自动执行,所述测试用例库的每一测试用例预先基于selenium自动生成;输出执行结果。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种自动测试的方法的流程图,该方法包括:

步骤s1,接收测试指令;

具体地,当测试者需要进行自动化测试时,下达测试指令(可通过设定测试按钮,然后在网页上弹出对话框来下达测试指令),该测试指令包括测试用例的名称或者编码(可识别测试用例的数据),便于根据测试指令来找到相应的测试用例。

步骤s2,根据测试指令从测试用例库中获取相应的测试用例并自动执行;

具体地,基于测试指令从测试用例库中找到相应的测试用例,然后调用相应脚本来自动执行。该测试用例库是测试者根据需求等预先配置好的多个测试用例,每一测试用例是预先基于selenium自动生成。在本实施例中,当需要执行的测试用例不止一个时,可逐个执行或者批量执行。

需要说明的是,测试者可以下达多个测试指令,每一测试指令对应一个测试用例,此时每接收到一个测试指令则执行一个相应的测试用例;也可以只下达一个测试指令,该一个测试指令对应两个以上测试用例,可逐个获取对应的测试用例,然后逐个执行,或者可获取对应的测试用例,然后批量执行。

步骤s3,输出执行结果;

具体地,根据前面执行测试用例后的执行结果进行汇总,然后输出测试结果。优选地,可用页面形式输出执行结果,该执行结果包括执行成功或者失败的信息。还可包括该测试用例的执行起始时间、标题、执行时长等。

在本实施例的一个优选方案中,该步骤s1之前还可包括:

步骤s4,基于selenium建立测试用例库;

具体地,根据测试需求,基于selenium建立测试用例库,该测试需求可对应多个测试用例,该测试需求携带需要建立的测试用例的参数。

本实施例中,预先建立测试用例库,后续使用过程中直接使用,无需在线编码,提高测试效率及降低成本。

在本实施例的一个优选方案中,如图2所示,为本发明第一实施例提供的一种自动测试的方法的步骤s4的具体流程图,该步骤s4具体包括:

步骤s41,接收测试用例建立指示;

具体地,测试者需要提前根据实际需求建立测试用例,于是发出测试用例建立指示。

步骤s42,基于selenium建立与建立指示对应的测试用例;

具体地,该参数还可包括测试用例的各种操作,根据该操作步骤模拟用户在web网页上的各种操作,例如打开被测系统页面操作、输入文本操作、点击按钮操作等,为每一操作配置对应的代码,即每一操作对应后端封装好代码的action,而为每一action和web网页配置对应唯一的标识,即可完成测试用例的建立,需要说明的是,可按照前述步骤完成每一测试用例的建立。

步骤s43,基于建立的测试用例建立测试用例库;

具体地,基于建立好的测试用例建立对应的测试用例库,需要说明的是,若当前不是第一次建立测试用例,则将当前建立的测试用例存储在测试用例库中,每建立一个测试用例均需要存储在测试用例库中,便于后续调用。若当前是第一次建立测试用例时,则需要根据当前建立的测试用例建立测试用例库。

在本实施例的一个优选方案中,如图3所示,为本发明第一实施例提供的一种自动测试的方法的步骤s42的具体流程图,该步骤s42具体包括:

步骤s421,根据建立指示输入一个以上测试用例的参数;

具体地,该测试用例建立指示包括一个以上测试用例的参数,该参数可包括测试用例的标题、测试用例所述模块、类型,还可包括优先级等,此处对此不作限制,根据每一测试用例输入对应的参数;

步骤s422,将每一测试用例的一个以上操作的代码进行封装,形成对应的测试用例;

具体地,该参数还包括测试用例对应的操作,为每一操作配置对应的代码,并将配置的代码进行封装,形成对应的测试用例,便于在后续需要调用该测试用例时,无需再写入代码,节省时间,提高效率,也降低人力成本。

在本实施例的一个优选方案中,该参数包括测试用例的优先级,如图4所示,为本发明第一实施例提供的一种自动测试的方法的步骤s2的具体流程图,该步骤s2具体包括:

步骤s21,根据测试指令从测试用例库中获取相应的测试用例;

具体地,根据测试指令从测试用例库中获取相应的测试用例,例如获取测试用例的名称、对应的代码等;

步骤s22,当所获取的测试用例不止一个时,自动基于测试用例的优先级执行所获取的测试用例;

具体地,若获取的测试用例不止一个时,则需要根据测试用例的优先级来执行,即先执行优先级高的测试用例;

在本实施例的进一步优选方案中,该步骤s21之后、步骤s22之前还可包括:

步骤s23,判断所获取的测试用例是否不止一个;

具体地,先判断所获取的测试用例是否不止一个,当不止一个时,转到步骤s22,当只有一个时,转到步骤s24;

步骤s24,自动执行所获取的测试用例;

具体地,调用相应的脚本来执行该测试用例。

在本实施例中,预先建立测试用例库,后续使用过程中直接使用,无需在线编码,提高测试效率及降低成本。

实施例二:

如图5所示,为本发明第二实施例提供的一种自动测试的系统的结构图,该系统包括:接收单元1、与接收单元1连接的执行单元2、与执行单元2连接的输出单元3,其中:

接收单元1,用于接收测试指令;

具体地,当测试者需要进行自动化测试时,下达测试指令(可通过设定测试按钮,然后在网页上弹出对话框来下达测试指令),该测试指令包括测试用例的名称或者编码(可识别测试用例的数据),便于根据测试指令来找到相应的测试用例。

执行单元2,用于根据测试指令从测试用例库中获取相应的测试用例并自动执行;

具体地,基于测试指令从测试用例库中找到相应的测试用例,然后调用相应脚本来自动执行。该测试用例库是测试者根据需求等预先配置好的多个测试用例,每一测试用例是预先基于selenium自动生成。在本实施例中,当需要执行的测试用例不止一个时,可逐个执行或者批量执行。

需要说明的是,测试者可以下达多个测试指令,每一测试指令对应一个测试用例,此时每接收到一个测试指令则执行一个相应的测试用例;也可以只下达一个测试指令,该一个测试指令对应两个以上测试用例,可逐个获取对应的测试用例,然后逐个执行,或者可获取对应的测试用例,然后批量执行。

输出单元3,用于输出执行结果;

具体地,根据前面执行测试用例后的执行结果进行汇总,然后输出测试结果。优选地,可用页面形式输出执行结果,该执行结果包括执行成功或者失败的信息。还可包括该测试用例的执行起始时间、标题、执行时长等。

在本实施例的一个优选方案中,该系统还可包括:与执行单元2连接的建立单元4,其中:

建立单元4,用于基于selenium建立测试用例库;

具体地,根据测试需求,基于selenium建立测试用例库,该测试需求可对应多个测试用例,该测试需求携带需要建立的测试用例的参数。

本实施例中,预先建立测试用例库,后续使用过程中直接使用,无需在线编码,提高测试效率及降低成本。

在本实施例的一个优选方案中,该建立单元4具体包括:指示接收子单元、与指示接收子单元连接的建立子单元,其中:

指示接收子单元,用于接收测试用例建立指示;

具体地,测试者需要提前根据实际需求建立测试用例,于是发出测试用例建立指示,指示接收子单元接收到建立指示后反馈给建立子单元;

建立子单元,用于基于selenium建立与建立指示对应的测试用例;

具体地,该参数还可包括测试用例的各种操作,根据该操作步骤模拟用户在web网页上的各种操作,例如打开被测系统页面操作、输入文本操作、点击按钮操作等,为每一操作配置对应的代码,即每一操作对应后端封装好代码的action,而为每一action和web网页配置对应唯一的标识,即可完成测试用例的建立,需要说明的是,可按照前述步骤完成每一测试用例的建立。

该建立子单元还用于:基于建立的测试用例建立测试用例库;

具体地,基于建立好的测试用例建立对应的测试用例库,需要说明的是,若当前不是第一次建立测试用例,则将当前建立的测试用例存储在测试用例库中,每建立一个测试用例均需要存储在测试用例库中,便于后续调用。若当前是第一次建立测试用例时,则需要根据当前建立的测试用例建立测试用例库。

在本实施例的一个优选方案中,该建立子单元具体用于:

根据建立指示输入一个以上测试用例的参数;

具体地,该测试用例建立指示包括一个以上测试用例的参数,该参数可包括测试用例的标题、测试用例所述模块、类型,还可包括优先级等,此处对此不作限制,根据每一测试用例输入对应的参数;

还用于:将每一测试用例的一个以上操作的代码进行封装,形成对应的测试用例;

具体地,该参数还包括测试用例对应的操作,为每一操作配置对应的代码,并将配置的代码进行封装,形成对应的测试用例,便于在后续需要调用该测试用例时,无需再写入代码,节省时间,提高效率,也降低人力成本。

在本实施例的一个优选方案中,该参数包括测试用例的优先级,该执行单元2具体包括:获取子单元及与其连接的执行子单元,其中:

获取子单元,用于根据测试指令从测试用例库中获取相应的测试用例;

具体地,根据测试指令从测试用例库中获取相应的测试用例,例如获取测试用例的名称、对应的代码等;

执行子单元,用于当所获取的测试用例不止一个时,自动基于测试用例的优先级执行所获取的测试用例;

具体地,若获取的测试用例不止一个时,则需要根据测试用例的优先级来执行,即先执行优先级高的测试用例;

在本实施例的进一步优选方案中,该执行单元2还可包括:与获取子单元连接的判断子单元,其中:

判断子单元,用于判断所获取的测试用例是否不止一个;

具体地,先判断所获取的测试用例是否不止一个,将判断结果反馈给执行子单元,当不止一个时,该执行子单元具体用于:自动基于测试用例的优先级执行所获取的测试用例;

当只有一个测试用例时,自动执行所获取的测试用例;

具体地,调用相应的脚本来执行该测试用例。

在本实施例中,预先建立测试用例库,后续使用过程中直接使用,无需在线编码,提高测试效率及降低成本。

在本发明中,还提供一种测试终端,该测试终端用于软件的测试,该测试终端包括如上述实施例二描述的自动测试的系统,该系统的具体结构、工作原理及所带来的技术效果与上述实施例二的描述基本一致,此处不再赘述。

实施例三:

图6示出了本发明第三实施例提供的一种服务终端的结构图,该服务终端包括:存储器(memory)61、处理器(processor)62、通信接口(communicationsinterface)63和总线64,该处理器62、存储器61、通信接口63通过总线64完成相互之间的交互通信。

存储器61,用于存储各种数据;

具体地,存储器61用于存储各种数据,例如通信过程中的数据、接收的数据等,此处对此不作限制,该存储器还包括有多个计算机程序。

通信接口63,用于该服务终端的通信设备之间的信息传输;

处理器62,用于调用存储器61中的各种计算机程序,以执行上述实施例一所提供的一种自动测试的方法,例如:

接收测试指令;

根据测试指令从测试用例库中获取相应的测试用例并自动执行,所述测试用例库的每一测试用例预先基于selenium自动生成;

输出执行结果。

本实施例中,预先建立测试用例库,后续使用过程中直接使用,无需在线编码,提高测试效率及降低成本。

本发明还提供一种存储器,该存储器存储有多个计算机程序,该多个计算机程序被处理器调用执行上述实施例一所述的一种自动测试的方法。

本发明中,预先建立测试用例库,后续使用过程中直接使用,无需在线编码,提高测试效率及降低成本。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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