一种测试用例创建方法、装置、设备及存储介质与流程

文档序号:14897495发布日期:2018-07-08 09:06阅读:213来源:国知局

本发明涉及自动化测试技术领域,尤其涉及一种测试用例创建方法、装置、设备及存储介质。



背景技术:

目前,自动化测试中,测试人员编写完用例以后,还需要脚本开发人员单独编写一条针对此用例的自动化测试脚本,然后使用自动化测试工具运行脚本进行测试,测试用例一旦变更,又要测试人员重新编程,这种测试方法对人员编程能力要求高,资源耗费大,工作效率低。



技术实现要素:

本发明的目的在于提供一种测试用例创建方法、装置、设备及存储介质,能够用拖拽的方式实现测试用例的创建,并且实现测试脚本的自动化生成,创建用例不再受人员编程能力的影响。

本发明是这样实现的,本发明第一方面提供一种测试用例创建方法,所述测试用例创建方法包括:

读取测试用例数据库,将测试用例数据库中的测试用例的执行动作所对应的代码分成不同模块,使每个模块在屏幕上形成可移动块并以关键字的形式进行显示;

根据用户对关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例;

根据测试用例中的关键字查找对应的测试脚本代码并生成自动化测试脚本;

验证自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。

本发明第二方面提供一种测试用例创建装置,所述测试用例创建装置包括:

关键字生成模块,用于读取测试用例数据库,将测试用例数据库中的测试用例的执行动作所对应的代码分成不同模块,使每个模块在屏幕上形成可移动块并以关键字的形式进行显示;

测试用例生成模块,根据用户对关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例;

测试脚本生成模块,根据用户对不同关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例;

验证模块,验证自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。

本发明第三方面提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明第一方面所述方法的步骤。

本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述方法的步骤。

本发明实施例提供一种测试用例创建方法,将读取到得测试用例分解成不同的模块,每个模块对应关键字在屏幕上显示,根据用户对关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例,根据形成的测试用例中的关键字查找对应的测试脚本代码并生成自动化测试脚本,验证自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。这种方法使代码组成的模块形成关键字词典,并使其可视化,大大降低了创建测试用例对人员编程能力的要求。

附图说明

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

图1是本发明一种实施例提供的一种测试用例创建方法的流程图;

图2是本发明一种实施例提供的一种测试用例创建方法中的步骤s40的一种实施方式提供的具体流程图;

图3是本发明一种实施例提供的一种测试用例创建方法中的步骤s20的具体流程图;

图4是本发明一种实施例提供的一种测试用例创建方法中的另一种实施方式提供的具体流程图;

图5是本发明另一种实施例提供的一种测试用例创建装置的结构示意图;

图6是本发明另一种实施例提供的一种测试用例创建装置的结构示意图;

图7是本发明另一种实施例提供的一种测试用例创建装置中的验证模块的结构示意图;

图8是本发明另一种实施例提供的终端设备的结构示意图。

图9是本实施例中终端设备示意图。

具体实施方式

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

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

本发明实施例提供一种测试用例创建方法,如图1所示,该测试用例创建方法包括:

步骤s10.读取测试用例数据库,将测试用例数据库中的测试用例的执行动作所对应的代码分成不同模块,使每个模块在屏幕上形成可移动块并以关键字的形式进行显示。

在步骤s10中,读取测试用例数据库中的测试用例,读取方式可以连接某种工具,例如,可以连接测试用例管理工具来读取测试用例;对测试用例进行分块,是将测试用例数据库中的测试用例的执行动作所对应的代码分成不同模块,分成的模块是实现一个功能的最小代码的单元,关键字是与测试用例中的操作命令对应的代码映射表中的名称。例如:

上述代码是修改条滚行条的用例,其中<styletype="text/css">body{scrollbar-face-color:#330033;}</style>,为实现一个功能的最小代码单元;每个模块生成可移动块并以关键字的形式进行显示,是代码可视化的步骤,例如,以关键字‘滚动条表面颜色设定’显示的可移动块,其下面隐藏的代码为<styletype="text/css">body{scrollbar-face-color:#330033;}</style>。

需要说明的是,关键字库根据读取到的测试用例数据库的更新而更新。例如,通过连接的测试用例管理工具,通过联网或者人工导入一批测试用例,则对关键字库进行更新。

步骤s20.根据用户对所述关键字的拖拽操作对关键字进行排列组合,形成测试用例。

在步骤s20中,当检测到用户对所述关键字的拖拽操作,例如,检测到用户用鼠标拉动某个关键字时,使该关键字按照用户拖动的地点进行移动,对于用户的拖拽行为,表面上是对关键字的重组,实际上是按模块打乱的代码的重组,是生成新的测试用例的过程。例如,用户通过拖拽“开始、登录、上次记录、继续播放、时间设置、结束”,即可创建一个新的用例。

步骤s30.根据测试用例中的关键字查找对应的测试脚本代码并生成自动化测试脚本。

在步骤s30中,根据测试用例中的关键字查找对应的测试脚本代码并生成自动化测试脚本。测试脚本的查找方法有多种,例如,根据测试用例中的关键字在关键字与代码映射表中查找;生成自动化测试脚本,这一步骤依赖于自动化测试工具,常见的自动化测试工具有,quicktestprofessional、ibmrationalfunctionaltester和silktest等。例如,本实施例中的脚本默认是生成针对ibmrationalfunctionaltester这个自动化测试工具工具的代码。

步骤s40.验证所述自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。

在步骤s40中,是检查自动化生成的脚本是否完整和是否有语法错误。

对于上述实施例中的步骤s40,作为一种实施方式,如图2所示,包括:

步骤s401.添加生成的测试用例信息。

步骤s402.在自动化测试脚本的外层添加异常处理代码,异常处理代码为try-catch代码。

步骤s403.根据try-catch代码检查自动化测试脚本是否有语法错误,若无,则执行步骤s405,直接生成最终版本;若有,则执行步骤s404。

如果try正确就会直接完成测试,如果try错误就会走catch代码,进而检测出语法是否错误。

步骤s404.发出错误提示,使测试人员根据错误提示进行修改。

步骤s405.直接生成最终版本。

本发明实施例提供一种测试用例创建方法,将读取到得测试用例分解成不同的模块,每个模块对应关键字在屏幕上显示,根据用户对关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例,根据形成的测试用例中的关键字查找对应的测试脚本代码并生成自动化测试脚本,验证自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。这种方法使代码组成的模块形成关键字词典,并使其可视化,大大降低了创建测试用例对人员编程能力的要求。

对于上述实施例中的步骤s20,作为一种实施方式,如图3所示,根据用户对关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例,包括:

步骤s201.获取用户进行的拖拽操作,并获取拖拽操作的关键字对应的拖拽提示信息。

在步骤s201中,当用户对关键字进行拖动时,此时检测关键字对应的提示信息,该提示信息可以是关键字自身带有的提示信息,例如关键字的规则等等,也可以是用户在多动关键字前自行定义的一些提示,例如关键字所属的逻辑位置等等。

步骤s202.显示所述拖拽提示信息,并根据所述拖拽操作的移动轨迹移动所述拖拽提示信息,以使用户在进行所述拽操作的过程中能够查看到所述拖拽提示信息。

在步骤s202中,当拖拽着关键字移动时,提示信息随着拖拽轨迹而移动。作为一种实施例,提示信息中文字的颜色不同于关键字的颜色,并且提示信息中文字的字体大小不同于关键字的字体大小,例如,关键字颜色和字体为黑色四号时,提示信息中的文字颜色和字体为红色小五。本实施例有利于用户时刻看到提示信息,且不与关键字相混淆。

对于上述实施例中的步骤s202,作为一种实施方式,如图4所示,包括:

步骤s2021.当拖拽关键字到某些位置时,所述拖拽提示信息显示参数提示以提示用户设置不同的参数。

在步骤s2021中,当拖拽关键字到某些位置时,为了适应该位置,需要对关键字内部代码中的某些参数进行修改,此时可以发出修改参数提示,用户可以根据需求自行设置参数。

步骤s2022.当关键字被拖拽到的位置不符合逻辑时,发出错误拖拽提示信息进行提示。

在步骤s2022中,出现错误提示的主要原因是关键字下隐藏的代码逻辑按照拖拽的顺序行不通,提示用户更换位置或者更换关键字。

本发明实施例在用户拖拽关键字时,显示关键字的提示信息,使用户根据提示信息更准确的对关键字进行组成形成测试用例,提供了用户创建测试用例的效率。

作为另一种实施方式,如图5所示,该测试用例创建方法还包括:

步骤s301.当被拖拽的关键字的源码文件的标识发生修改时,生成包含以下内容的映射关系:该用例的标识、该关键字相关的源码文件以及该源码文件中被用例覆盖的语句行的覆盖标识。

步骤s302.检测关键字中语句行的覆盖标识,则查找到的具有覆盖标志的关键字所在的用例确定为需要回归的用例,回归该用例。

步骤s301中生成包含:生成用例的标识、该关键字相关的源码文件、以及该源码文件中被用例覆盖的语句行的覆盖标识,包括:

a1.在每个用例运行结束后,记录该用例的标识。

a2.生成该用例相关的源码文件;

a3.针对该用例相关的每一关键字的源码文件,生成包含该用例在该源码文件覆盖的语句行标识的语句覆盖信息的关键字;

a4.汇总步骤a3生成的各个语句覆盖信息的关键字包含的内容,得到用例相关的覆盖率信息文件,用例相关的覆盖率信息文件包含该用例各个相关的源码文件以及在各个相关的源码文件覆盖的语句行的覆盖标识。

a5.根据用例的标识以及用例相关的覆盖率信息文件包含的内容,生成包含以下内容的映射关系:该用例的标识、该关键字相关的源码文件、以及该源码文件中被用例覆盖的语句行的标识。

本发明实施例中在源码文件中语句行的信息发生修改时生成覆盖标志,并基于该覆盖标志生成用例、关键字以及修改语句之间的映射关系,根据该语句行的覆盖标识查找包含该覆盖标志的映射关系,仅将查找到的映射关系中的用例标识对应的用例确定为需要回归的用例,相比于现有技术,能够快速、准确定位出需要回归的用例。

本发明另一种实施例提供一种测试用例创建装置50,如图6所示,测试用例创建装置50包括:

关键字生成模块501,用于读取测试用例数据库,将测试用例数据库中的测试用例的执行动作所对应的代码分成不同模块,每个模块在屏幕上形成可移动块并以关键字的形式进行显示;

测试用例生成模块502,根据用户对不同关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例;

测试用例脚本生成模块503,根据用户对不同关键字的拖拽操作对关键字进行排列组合,形成不同的测试用例;

验证模块504,验证自动化测试脚本的代码完整性,使自动化测试脚本的代码符合自动化测试工具代码规范的代码。

进一步的,如图7所示,测试用例创建装置50还包括:

提示信息模块505,用于获取用户进行的拖拽操作,并获取所述拖拽操作的关键字对应的拖拽提示信息,显示所述获取的拖拽提示信息,并根据所述拖拽操作的移动轨迹移动所述拖拽提示信息,以使用户在进行所述拖拽操作的过程中能够查看到所述拖拽提示信息。

进一步的,如图8所示,验证模块504包括:

测试用例信息添加单元510,用于添加测试用例信息,包括:测试用例名称和id;

异常处理代码添加单元511,用于在所述自动化测试脚本的外层添加异常处理代码,所述异常处理代码为try-catch代码;

错误验证单元512,用于根据所述try-catch代码验证所述自动化测试脚本是否有语法和编写错误,若验证不通过,则发出错误提示,若通过,则生成最终的自动化测试脚本。

上述终端设备中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明另一种实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的云轨的噪音处理方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述实施例中测试用例创建装置中各模块/单元的功能,为避免重复,这里不再赘述。

图9是本实施例中终端设备的示意图。如图9所示,终端设备6包括处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62。处理器60执行计算机程序62时实现上述实施例中测试用例创建方法的各个步骤,例如图1所示的步骤s10、s20、s30和s40。或者,处理器60执行计算机程序62时实现上述实施例中测试用例创建装置各模块/单元的功能,如图7所示关键字生成模块501、测试用例生成模块502、测试用例脚本生成模块503、验证模块504的功能。

示例性的,计算机程序62可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器61中,并由处理器60执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序62在终端设备6中的执行过程。例如,计算机程序62可以被分割成关键字生成模块501、测试用例生成模块502、测试用例脚本生成模块503、验证模块504。

该终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图9仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器61可以是终端设备6的内部存储单元,例如终端设备6的硬盘或内存。存储器61也可以是终端设备6的外部存储设备,例如终端设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器61还可以既包括终端设备6的内部存储单元也包括外部存储设备。存储器61用于存储计算机程序以及终端设备所需的其他程序和数据。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

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

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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