自动化测试脚本的生成方法、装置及其计算机设备与流程

文档序号:16067937发布日期:2018-11-24 12:51阅读:181来源:国知局

本发明涉及计算机程序的测试领域,特别是涉及自动化测试脚本的生成方法、装置及其计算机设备。

背景技术

目前,在计算机软件技术及其运用、自动化测试过程中,自动化脚本做为一种常用的软件有非常广泛的应用,如无论是基于pc(个人计算机)机或服务器纯软件系统还是嵌入式系统,各种网管软件、通信系统、控制系统、服务器、各种终端都有自动化脚本的应用,自动化脚本用于检测或测试的应用场景也越来越多,其重要性也日益突出。

传统的自动化脚本的开发通常有两种方式:一种是对于有gui(图形用户界面的)系统的,先需要通过手工运行一次测试,同时使用自动化测试工具的录制功能,把所进行的操作记录下来,生成测试脚本。二是类似软件开发的方法,选择一种脚本开发语言,在该语言的规则下编写测试脚本框架,对测试需要的基础操作提供接口供调用,测试人员根据测试操作需求,手工编写调用接口的自动化测试脚本。

由于以上这两种方法对测试人员的代码水平要求很高,需要测试人员具有较强的测试经验才能完成脚本的测试工作,且后期维护难度以及维护成本都比较大,目前的这种自动化脚本的生成方法也极大影响自动化测试推广。



技术实现要素:

基于此,有必要针对现有的自动化脚本生成方法对程序员的专业水平要求过高的技术问题,提供一种自动化测试脚本的生成方法、装置及其计算机设备。

一种自动化测试脚本的生成方法,该方法包括:

获取测试操作的关键字;

从选择的通用模板中获取该关键字的测试执行步骤;

根据与该关键字相关联的测试数据模板,获取该关键字的测试数据;

根据该关键字、该测试执行步骤以及该测试数据自动生成测试脚本。

一种自动化测试脚本的生成装置,该装置包括:

关键字获取模块,用于获取测试操作的关键字;

步骤获取模块,用于从选择的通用模板中获取该关键字的测试执行步骤;

测试数据获取模块,用于根据与该关键字相关联的测试数据模板,获取该关键字的测试数据;

测试脚本生成模块,用于根据该关键字、该测试执行步骤以及该测试数据自动生成测试脚本。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现上述的自动化测试脚本的生成方法。

上述自动化测试脚本的生成方法、装置及其计算机设备通过通用模块、测试数据模板将关键字的测试执行步骤以及测试数据都提供给测试员,让测试员依据通用模块和测试数据模板的提示即可进行脚本测试,提高了自动化测试脚本的开发效率,同时降低后续自动化测试维护难度。

附图说明

图1为根据本发明一个实施例的自动化测试脚本的生成方法的流程图;

图2为根据本发明另一实施例的自动化测试脚本的生成方法的流程图;

图3为根据本发明又一实施例的自动化测试脚本的生成方法的流程图;

图4为根据本发明再一实施例的自动化测试脚本的生成方法的流程图;

图5为根据本发明一个实施例的自动化测试脚本的生成装置的结构框图;

图6为根据本发明另一实施例的自动化测试脚本的生成装置的结构框图。

具体实施方式

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

图1为根据本发明一个实施例的自动化测试脚本的生成方法的流程图,如图1所示提供的一种自动化测试脚本的生成方法,该方法包括以下步骤s110、s120、s130和s140。

s110、获取测试操作的关键字。

根据本实施例的一个示例,该测试操作的关键字可以依据关键字库的提示,根据用户的选择获取对应的关键字,对于经验丰富的测试员,该关键字也可以由测试员直接输入。

对被测试对象的操作指令经过逐层封装和抽象后形成测试操作关键字,一个关键字可以封装一个或多个被测试对象的操作指令。为了便于关键字的管理,作为可选地,还可以将这些关键字分类进行存储,其分类标准包括但不限于如配置、告警、性能、维护等等,供脚本开发时选择使用。

为了使得测试人员可以准确的在关键字库中进行选择,作为可选地,该步骤进一步包括以下步骤(1)、(2)和(3):

(1)、将预设的关键字编译成不同的语种后显示。在该步骤中,不同的语种包括但不限于汉语、英语和日语等等,测试人员可以选择以自己的母语(例如汉语)的方式显示对应的关键字。

(2)、接收以对应语种显示的关键字的选择指令。作为可选地,所有可供选择的关键字均存放在关键字库中,并以用户需要的语种显示该关键字的含义,便于测试员理解。

(3)、将接收的关键字作为获取的该测试操作的关键字。在该步骤中,测试员只需要在关键字库中选择一个需要测试的对象即可开始脚本测试。

根据本实施例的另一示例,该自动化测试脚本的生成方法还包括对关键字库中的关键字的更新和维护,具体的方法步骤包括:

接收到关键字的删除或新增指令时,在该预设的关键字中删除或新增对应的关键字。

当在预设的关键字中新增对应的关键字时,建立新增的关键字与上述测试数据模板的映射关系,或新建测试数据模板,并建立该新建的测试数据模板与该新增的对应的关键字的映射关系。

当在预设的关键字中删除对应的关键字时,还包括:删除与该关键字相映射的测试数据模板的映射关系,作为可选地,还可以根据需要删除与该关键字相映射的测试数据模板。

根据本示例的一个使用场景例如,当有新的电子设备或模块需要检测或已有的电子设备/模块不再需要检测时,更新和维护该预设的关键字/包含该预设关键字的关键字库。

由于该关键字的更新和维护步骤决定后续与之对应的测试数据模板的建设,因此一般需要较为有经验的程序员进行更新和维护。

s120、从选择的通用模板中获取该关键字的测试执行步骤。

根据本实施例的一个示例,该通用模板定义了自动化脚本的字段和内容组成。一个自动化脚本包括但不限于:脚本名称、脚本等级、脚本描述、前置条件、后置条件、通过准则、测试类型、脚本状态、基于测试人员母语的测试操作关键字、关键字的测试数据、关键字逻辑关系。

该通用模板包括两大部分:一是脚本基本属性,二是脚本执行属性。其中,脚本基本属性包括但不限于:脚本名称、脚本等级、脚本描述、前置条件、后置条件、通过准则、测试类型、脚本状态。脚本执行属性包括但不限于:测试执行步骤、测试数据及测试执行步骤逻辑关系。其中基本属性中的脚本名称、脚本执行属性为必填。

该通用模板是预设的用于存放关键字的测试执行步骤。其所存储的测试执行步骤是一般的关键字都需要或者是经常要执行的测试步骤,测试员可以根据具体的情况选择哪些步骤需要执行、哪些步骤不用执行。

根据本实施例的一个示例,还包括:对自动化通用模板的各个字段进行编辑。可以从关键字库中拖动需要的关键字成为自动化测试脚本的测试执行步骤或删除已有的测试执行步骤、也可以复制、剪贴该测试执行步骤成为新的测试执行步骤,也可以复制测试数据,拖动测试执行步骤上下顺序关系等操作。

根据本实施例的另一示例,确定关键字与该测试执行步骤的对应关系例如可以在选择/编辑关键字后,将该关键字拖放到对应的通用模板中,确定该关键字的具体测试步骤。根据自动化测试需要可以拖放多个关键字到通用模板中组成一系列测试执行步骤。

s130、根据与该关键字相关联的测试数据模板,获取该关键字的测试数据。

在该步骤中,根据本实施例的一个示例,每个关键字都有与其关联的测试数据模板,不同关键字对应的测试数据模板不同。通过修改测试数据可以使得关键字操作的对象、内容不同。在测试数据模板中进行编辑或修改后测试数据保存后生效。在该测试数据模板下,可以进行该关键字的测试数据编辑,使得该测试执行步骤有具体的执行数据。

其中,该测试数据模板的作用是给测试员提供测试数据的参考,测试员可以根据该测试数据模板的提示编辑测试数据,也可以直接从该测试数据模板中选择常用的测试数据作为测试执行步骤的具体执行数据。

s140、根据该关键字、该测试执行步骤以及该测试数据自动生成测试脚本。

在该步骤中测试脚本是计算机(或其它可以编译和运行的电子设备)自动生成的,其关键字、测试步骤以及测试数据都是根据对应的库或者模板提供给测试员的,使得测试员不需要有太高的专业水平就可以进行脚本的测试工作。

本实施例通过将关键字与测试数据完全分离,使得当测试对象不同、测试方法相同时只需修改测试数据即可,有利于后期测试脚本维护,大大提高了脚本可维护性以及维护效率。

图2为根据本发明另一实施例的自动化测试脚本的生成方法的流程图,如图2所示的根据本发明另一实施例的自动化测试脚本的生成方法,该方法在包括上述步骤s110、s120、s130和s140的基础上,还包括步骤s121和s122。

s121、从获取的该测试执行步骤中确定所选择的关键字的测试执行步骤。其中,关键字以及测试执行步骤的确定可以根据用户的指定来确定至少一个测试执行步骤,因为测试模板中的测试数据是一般关键字经常需要执行的测试步骤,并不是关键字需要的所有测试步骤,测试员可以根据通用模板中的测试执行步骤的提示或者该关键字的测试需要,选择具体的测试执行步骤。

s122、根据接收的逻辑操作指令对确定的该测试执行步骤执行逻辑操作。

根据本实施例的一个示例,该逻辑操作指令包括以下三种情况中的至少一种。

(1)、该关键字的该测试执行步骤是否执行。本步骤即执行开关,定义对应的关键字是否执行,是表示执行,否表示不执行。

(2)、该关键字的该测试执行步骤是否为验证点。选择是表示该关键字执行结果影响脚本执行结果(通过或失败),否:则不影响脚本执行结果。当选择是的关键字有一个执行失败时,则脚本执行结果为失败。当选择是的关键字都执行成功,则脚本执行结果为成功。

(3)、该关键字的该测试执行步骤执行失败时是否退出。如果选择是表示该关键字执行失败后,该关键字后续的关键字都不执行,该脚本的执行结果为失败。选择否则表示该关键字执行失败后,继续其后的其他关键字。

作为可选地,当步骤s121中选择的测试执行步骤包括两个或者两个以上时,该逻辑操作还包括:

调整不同测试执行步骤的先后执行顺序。

本实施例通过提供测试执行步骤的逻辑操作关系,使得脚本测试的结果更加准确更加能够满足测试员的需求。

图3为根据本发明又一实施例的自动化测试脚本的生成方法的流程图,下面结合图3来描述根据本发明又一实施例的自动化测试脚本的生成方法的使用场景流程,该流程包括以下步骤s201~s206:

s201:打开自动化脚本通用模板。新建自动化测试脚本时自动打开编辑器和自动化脚本通用模板,根据需要对自动化测试脚本基本属性进行编辑,对自动化脚本名称进行命名。

s202:选择并拖放基于测试人员母语的测试操作关键字到通用模板,在脚本通用模板中这些测试操作关键字叫测试执行步骤。

s203:根据关键字的测试数据模板填写并保存测试数据。关键字与测试数据模板绑定,每个关键字都有对应的测试数据模板,不同关键字的测试数据模板不同,根据被测试对象不同,填写不同的测试数据即可。

s204:选择上下文关键字逻辑关系或调整关键字先后顺序,该步骤可选。关键字被拖放到测试执行步骤中后,有一个缺省的逻辑关系和执行先后顺序。可以在实际需要的时候再进行编辑和调整。

s205:是否继续选择关键字,根据自动化测试需要,可以选择多个关键字做为当前自动化测试脚本的测试执行步骤。如果相同的测试步骤在同一个测试脚本前后都被执行,可以直接复制粘贴。

s206:保存自动生成测试脚本。

本实施例使得整个脚本开发过程中,测试人员无需与具体的脚本语言、语法、脚本调试打交道。测试人员可以用该方法和系统扬长避短:发挥测试的优势、避免了软件编码的弱势。

图4为根据本发明再一实施例的自动化测试脚本的生成方法的流程图,如图4所示的根据本发明再一实施例的自动化测试脚本的生成方法,该方法在包括上述步骤s110、s120、s140的基础上,所述测试数据模板中预存有与所述关键字相关联的测试参考数据,上述步骤s130还包括步骤s131及s132,或者具体包括s133及s134。

s131、获取并显示该测试数据模板中的测试数据的数据字段。

在该步骤中,该数据字段表示该关键字的执行步骤所需要的测试数据的组数以及每组的测试数据的个数,给测试员一个提示的作用。例如,显示该关键字的需要输入的数据有三组,每组需包含两个测试数据,测试员根据这一提示输入对应的测试数据即可。

s132、获取依据该数据字段输入的关键字的测试数据。用户根据测试数据模板中的数据字段的提示输入具体的数据作为该关键字的测试数据。

s133、接收测试参考数据的选择指令。

s134、将选择的所述测试参考数据设置为所述关键字的测试数据。如图4所示,该步骤s133、s134与上述步骤s131、s132是并列的关系,测试员可以根据测试数据模板中的数据字段的提示输入具体的测试数据,也可以直接在测试数据模板中选择对应的测试数据,作为该关键字的测试步骤的测试数据。

图5为根据本发明一个实施例的自动化测试脚本的生成装置的结构框图。如图5所示,该自动化测试脚本的生成装置10包括:

关键字获取模块11,用于获取测试操作的关键字;

步骤获取模块12,用于从选择的通用模板中获取该关键字的测试执行步骤;

测试数据获取模块13,用于根据与该关键字相关联的测试数据模板,获取该关键字的测试数据;

测试脚本生成模块14,用于根据该关键字、该测试执行步骤以及该测试数据自动生成测试脚本。

图6为根据本发明另一实施例的自动化测试脚本的生成装置的结构框图,作为可选地,如图6所示,该自动化测试脚本的生成装置10还包括:

步骤确定单元15,用于从获取的该测试执行步骤中确定所选择的关键字的测试执行步骤;

逻辑操作单元16,用于根据接收的逻辑操作指令对确定的该测试执行步骤执行逻辑操作。

其中,该逻辑操作指令包括以下三种情况中的至少一种:

该关键字的该测试执行步骤是否执行;

该关键字的该测试执行步骤是否为验证点;

该关键字的该测试执行步骤执行失败时是否退出。

作为可选地,该测试数据模板中预存有与所述关键字相关联的测试参考数据,上述测试数据获取模块13还包括:

数据字段显示单元,用于获取并显示该测试数据模板中的测试数据的数据字段;

测试数据第一获取单元,用于获取依据该数据字段输入的关键字的测试数据。

指令接收单元,用于接收测试参考数据的选择指令;

数据设置单元,用于将选择的所述测试参考数据设置为所述关键字的测试数据。

进一步作为可选地,该关键字获取模块11还包括:

语种显示单元,用于将预设的关键字编译成不同的语种后显示;

关键字选择单元,用于接收以对应语种显示的关键字的选择指令;

关键字获取模块11具体用于将接收的关键字作为获取的该测试操作的关键字。

关键字维护单元,用于接收到关键字的删除或新增指令时,在该预设的关键字中删除或新增对应的关键字。

当在预设的关键字中新增对应的关键字时,该关键字维护单元还用于建立新增的关键字与上述测试数据模板的映射关系,或新建测试数据模板,并建立该新建的测试数据模板与该新增的对应的关键字的映射关系。

当在预设的关键字中删除对应的关键字时,该关键字维护单元还用于删除与该关键字相映射的测试数据模板的映射关系,作为可选地,该关键字维护单元还用于还可以根据需要删除与该关键字相映射的测试数据模板。

本实施例另提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述的自动化测试脚本的生成方法。

本实施例在整个脚本开发过程中,脚本开发人员无需与具体的脚本语言、脚本语法、脚本调试打交道,只需选择待执行的测试操作关键字以及对应的测试数据编辑即可。大大降低了脚本开发难度、提高了工作效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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