CN106201873A - 测试脚本的处理方法和装置 - Google Patents

测试脚本的处理方法和装置 Download PDF

Info

Publication number
CN106201873A
CN106201873A CN201610524954.1A CN201610524954A CN106201873A CN 106201873 A CN106201873 A CN 106201873A CN 201610524954 A CN201610524954 A CN 201610524954A CN 106201873 A CN106201873 A CN 106201873A
Authority
CN
China
Prior art keywords
test
script
test script
tester
keyword
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610524954.1A
Other languages
English (en)
Inventor
郑重
孙丹
马雯雯
倪维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201610524954.1A priority Critical patent/CN106201873A/zh
Publication of CN106201873A publication Critical patent/CN106201873A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种测试脚本的处理方法和装置。其中,该方法包括:提供至少一个图形供测试者进行选择,其中,每个图形均表示对预定功能的测试;获取测试者从至少一个图形中选择出的一个或多个图形;将一个或多个图形转换为测试脚本。本发明解决了现有技术中测试脚本在生成处理过程中形式较为单一的技术问题。

Description

测试脚本的处理方法和装置
技术领域
本发明涉及测试领域,具体而言,涉及一种测试脚本的处理方法和装置。
背景技术
随着软件技术的发展,为了测试软件的正确性、完整性、安全性,以及为了保证软件质量,各种测试技术与测试方法应运而生,其中,按照测试的执行方式,测试者将软件测试分为两类人工测试和自动化测试两种。
游戏测试作为软件测试的一种,使用的测试手段和传统的软件测试相同,也分为人工测试和自动化测试两种。在自动化测试中,目前主要使用的测试脚本制作方法为基于图形识别的脚本录制方法和基于程序语言的脚本方法。其中,按键精灵和Sikuli等脚本录制工具即为基于图形识别的脚本制作方法。一般情况下,在基于图形识别的方法中,是将测试者的操作通过图形的方式录制成一个脚本,在执行下次逻辑操作时,可以直接运行该测试脚本就可以重复测试人员的操作。另外一个测试脚本的制作方法为基于程序语言的脚本制作方法,该测试脚本的制作方法往往以游戏(或者,软件)的开发语言,以及其它编程语言编写脚本为基础,调用游戏(或者,软件)的相关接口,组织成一个测试脚本,并使用该测试脚本进行测试。
上述基于图形识别的方法中和基于程序语言的方法中,均存在一些缺点。例如,在基于图形识别的方法中,可以录制玩家的操作,并将录制的操作作为测试脚本。但是录制玩家的操作的过程中,录制脚本的精确度是不能保证的。因为由于录制环境的影响,会导致录制的脚本出现缺失部分。并且,由于不同分辨率的机器上的图片尺寸大小不同,所以一个机器上录制的脚本,往往很难在另外一个机器上执行。这种脚本录制的方式,可移植性较差,后期维护需要消耗大量的人力。并且这些录制脚本的方式,一般都是使用现有的软件来完成,测试人员几乎不能根据自己的需求定制软件的操作,这样就限制了脚本制作的灵活性。
在基于编程语言进行测试脚本的制作方法中,往往通过调用软件(或者,游戏)接口,组织成一个可执行的程序或脚本来制作测试脚本。这种脚本制作的过程中要求脚本编写人员有一定的编程基础,使用的过程也要求使用人员能够阅读对应的脚本。开发的周期一般较长,开发难度较大,开发成本较大,并且脚本的执行与结果输出并不直观。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种测试脚本的处理方法和装置,以至少解决现有技术中测试脚本在生成处理过程中形式较为单一的技术问题。
根据本发明实施例的一个方面,提供了一种测试脚本的处理方法,包括:提供至少一个图形供测试者进行选择,其中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本;获取所述测试者从所述至少一个图形中选择出的一个或多个图形;将所述一个或多个图形转换为测试脚本。
进一步地,所述图形表示的对预定功能的测试的方式包括以下至少之一:通过使用编程语言的方式来进行测试、通过图形录制的方式来进行测试。
进一步地,所述至少一个图形包括以下至少之一:接口描述、测试功能的描述,其中,所述接口为对所述预定功能进行测试所能配置的参数。
进一步地,所述接口描述和/或所述测试功能的描述使用自然语言进行描述。
进一步地,获取所述测试者从所述至少一个图形中选择出的一个或多个图形包括:获取用户输入的关键字;在所述接口描述和/或所述测试功能的描述中查找所述关键字对应的描述,并确定所述对应的描述对应的所述一个或多个图形。
进一步地,将所述一个或多个图形转换为测试脚本包括:获取所述测试者根据测试需求构建出的所述一个或多个图形之间的逻辑关系;将构建所述逻辑关系之后的所述一个或多个图形转换为所述测试脚本。
进一步地,在将所述一个或多个图形转换为测试脚本之后,所述方法还包括:将所述测试脚本转换成程序语言描述的脚本;发送转换之后的所述测试脚本至服务器;接收所述服务器返回的对所述测试脚本对应的逻辑操作进行测试的结果。
进一步地,获取所述测试者从所述至少一个图形中选择出的一个或多个图形包括:获取测试者的测试需求,其中,所述测试需求使用自然语言进行描述;对所述测试需求进行语意分析得出关键字;根据所述关键字在至少一个图形中选择一个或多个图形。
根据本发明实施例的一个方面,还提供了一种测试脚本的处理装置,包括:提供模块,用于提供至少一个图形供测试者进行选择,其中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本;获取模块,用于获取所述测试者从所述至少一个图形中选择出的一个或多个图形;第一转换模块,用于将所述一个或多个图形转换为测试脚本。
进一步地,所述图形表示的对预定功能的测试的方式包括以下至少之一:通过使用编程语言编写测试脚本来进行测试、通过图形录制的方式来进行测试。
进一步地,所述至少一个图形包括以下至少之一:接口描述、测试功能的描述,其中,所述接口为对所述预定功能进行的测试所能配置的参数。
进一步地,所述接口描述和/或所述测试功能的描述使用自然语言进行描述。
进一步地,所述获取模块用于:获取用户输入的关键字;在所述接口描述和/或所述测试功能的描述中查找所述关键字对应的描述,并确定所述对应的描述对应的所述一个或多个图形。
进一步地,所述第一转换模块用于:获取所述测试者根据测试需求构建出的所述一个或多个图形之间的逻辑关系;将构建所述逻辑关系之后的所述一个或多个图形转换为所述测试脚本。
进一步地,所述装置还包括:第二转换模块,用于在将所述一个或多个图形转换为测试脚本之后,将所述测试脚本转换成程序语言描述的脚本;发送模块,用于发送转换之后的所述测试脚本至服务器,接收模块,用于接收所述服务器返回的对所述测试脚本对应的逻辑操作进行测试的结果;在所述接口描述和/或所述测试功能的描述中查找所述关键字对应的描述,并确定所述对应的描述对应的所述一个或多个图形。
进一步地,所述获取模块包括:获取单元,用于获取测试者的测试需求,其中,所述测试需求使用自然语言进行描述;分析单元,用于对所述测试需求进行语意分析得出关键字;选择单元,用于根据所述关键字在至少一个图形中选择一个或多个图形。
在本发明实施例中,采用提供至少一个图形供测试者进行选择,其中,每个图形均表示对预定功能的测试;获取所述测试者从所述至少一个图形中选择出的一个或多个图形;将所述一个或多个图形转换为测试脚本的方式,首先将预定功能的测试以图形的形式进行显示,然后,测试者可以在至少一个图形中选择一个或多个图形,并将选择的一个或多个图形转换为测试脚本,通过本发明提供的测试脚本的处理方法,可以使得测试脚本的制作过程变为一个可视化的过程,相对于传统的测试脚本的制作方法,本发明提供的测试脚本的制作方法,达到了可视化测试脚本的制作过程的目的,从而实现了降低测试脚本的制作门槛的技术效果,进而解决了现有技术中测试脚本在生成处理过程中形式较为单一的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种测试脚本的处理方法的流程图;
图2是根据本发明实施例的一种测试脚本的处理装置的示意图一;
图3是根据本发明实施例的一种测试脚本的处理装置的示意图二;
图4是根据本发明实施例的一种测试脚本的处理装置的示意图三;
图5是根据本发明实施例的另一种测试脚本的处理装置的示意图;
图6是根据本发明实施例的一种模型封装器的流程图;
图7是根据本发明实施例的一种用户选择器的流程图;
图8是根据本发明实施例的一种脚本翻译器的流程图;
图9是根据本发明实施例的一种脚本执行器的流程图;
图10是根据本发明实施例的一种模型封装器的交互显示界面的示意图;
图11是根据本发明实施例的一种用户选择器的交互显示界面的示意图;以及
图12是根据本发明实施例的另一种用户选择器的交互显示界面的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种测试脚本的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种测试脚本的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,提供至少一个图形供测试者进行选择,其中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本。
在本发明实施例中,可以使用对应的模型封装器建立常用逻辑操作(下述均简称操作)的模型,然后,使用相应的编程语言实现建立的模型,进而封装成一个操作。接下来,可以将封装得到的操作转换成一个图形,得到至少一个图形,以供测试者选择使用。测试者可以直接拖拽上述至少一个图形中的任一个图形,来组合成一个测试脚本。因此,在本发明中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本,也就是说,每个图形均对应一个脚本,其中,该脚本与测试脚本虽然均为脚本,但是为对应不同测试逻辑的脚本,本发明实施例中的测试脚本由每个图形对应的一个或多个脚本制作而成。
步骤S104,获取测试者从至少一个图形中选择出的一个或多个图形。
具体地,在本发明实施例中,可以使用对应的用户选择器自动获取测试者在至少一个图形中选择的一个或多个图形。其中,获取一个或多个图形的方式可以有很多种,例如,可以获取测试者发送的拖拽图形的指令,进而获取一个或多个图形;测试者还可以在对应的输入框中输入某个关键字,例如“点击”,用户选择器在获取到该关键字之后,将自动在至少一个图形中查找包括该关键字的图形,并将查找到的图形显示在界面中,以供测试者选择。
步骤S106,将一个或多个图形转换为测试脚本。
在获取到测试者选择的一个或多个图形之后,可以通过脚本翻译器将一个或多个图形按照预定的方式进行转换,得到测试脚本,以供测试者进行测试。
通过上述步骤S102至步骤S106可知,在本发明实施例中,测试脚本的制作过程为一个可视化的制作过程。通过拖拽图形或者输入关键字的方式就可以实现选择对应的一个或多个图形,然后使用选择出的图形组织成一个测试脚本,并直接将该测试脚本用于测试。因此,采用本发明实施例中的脚本制作方法,即使是毫无编程基础的用户,也可以直接使用该方法,制作对应的测试脚本。
在本发明实施例中,首先将预定功能的测试以图形的形式进行显示,然后,测试者可以在至少一个图形中选择一个或多个图形,并将选择的一个或多个图形转换为测试脚本,通过本发明提供的测试脚本的处理方法,可以使得测试脚本的制作过程变为一个可视化的过程,相对于传统的测试脚本的制作方法,本发明提供的测试脚本的制作方法,达到了可视化测试脚本的制作过程的目的,从而实现了降低测试脚本的制作门槛的技术效果,进而解决了现有技术中测试脚本在生成处理过程中形式较为单一的技术问题。
在上述步骤S102中的描述可知,每个图形均对应一个逻辑操作,也即,每个图形均可以执行相应的逻辑操作。图形表示的对预定功能的测试的方式包括以下至少之一:通过使用编程语言的方式来进行测试、通过图形录制的方式来进行测试。
在本发明实施例中,每个图形对应的逻辑操作可以通过图形录制的方式来获取,还可以通过编程语言的方式来编写相应地逻辑操作。因此,每个图形表示的对预定功能的测试的方式包括通过使用编程语言编写脚本的方式进行测试,还可以通过图形录制的方式进行测试。
在本发明的一个可选实施方式中,上述至少一个图形中的部分或全部图形中的每个图形包括以下至少之一:接口描述、测试功能的描述,其中,接口为预定功能进行的测试所能配置的参数,其中,上述接口和测试功能可以使用图形表示。
具体地,在上述步骤S102中的描述可知,可以使用对应的模型封装器建立常用逻辑操作的模型,然后,使用相应的编程语言实现建立的模型,进而封装成一个操作。其中,在使用相应地编程语言实现建立的模型时,可以使用任何的编程语言将建立的常用逻辑操作的模型封装成为一个使用自然语言进行描述的接口,然后,将该接口转换为一个图形。
因此,在本发明实施例中,至少一个图形中的部分或者全部图形中的每个图形包括:使用自然语言进行描述的接口描述,例如,“鼠标左键点击”和“鼠标右键点击”等;除此之外,还包括图形表示的测试的功能的描述,也就是说,每个图形对应一个图形标志,该标识表示该图形的测试的功能的描述,其中,测试功能的描述也使用自然语言进行描述。
需要说明的是,在本发明实施例中,可以按照图形对应的接口描述的类型对图形进行分类,分类之后,每个接口类型中的图形对应的标识可以为相同的标识,也可以为不相同的标识。例如,可以将接口类型分为:操作、工具和***等类型,每个类型中包括至少一个接口。通过将接口进行分类存储,可以使得测试者能够更加快速地查找到对应的操作。
在本发明的另一个可选实施方式中,获取测试者从至少一个图形中选择出的一个或多个图形包括:获取用户输入的关键字;在接口描述和/或测试功能的描述中查找关键字对应的描述,并确定对应的描述对应的一个或多个图形。
具体地,在上述步骤S104中的描述可知,测试者可以在对应的输入框中输入所要使用的操作或者操作的关键字。用户选择器在获取到该关键字之后,将自动在至少一个图形中查找包括该关键字的图形。由于至少一个图形中部分或者全部图形中的每个图形包括自然语言形式的接口描述,因此,可以依据至少一个图形的接口描述查找包括关键字的一个或多个图形。
例如,用户在对应的输入框中输入所要使用的操作或者操作的关键字,例如,寻路到某个位置这一操作,用户可以输入“寻路”这一关键字;用户选择器根据用户输入的关键字在接口描述中自动匹配含有该关键字的操作列表L,例如:“寻路”这一关键,用户选择器会自动匹配到“寻路到坐标”,“寻路到NPC”等操作;用户在操作列表L中选择要使用的操作l,填充操作l的参数,例如选择“寻路到坐标”这一操作,需要填充“横向坐标”,“纵向坐标”,“高度”,“场景编号”等相应地参数;用户输入操作的参数后,点击添加,用户选择器会自动将自然语言描述的接口,转换成图形显示的测试脚本。
在本发明的另一个可选实施方式中,获取测试者从至少一个图形中选择出的一个或多个图形还包括:获取用户的测试需求,其中,测试需求使用自然语言进行描述;对测试需求进行语意分析得出关键字;根据关键字在至少一个图形中选择一个或多个图形。
在本发明实施例中,测试需求可以为用户实际想要测试的操作,其中,该测试需求可以使用自然语言进行描述,例如,用户可以输入“我想要寻路到某个位置的操作”。
然后,对获取到的测试需求进行分析,例如,可以对“我想要寻路到某个位置的操作”进行分词处理,然后过滤掉其中的感叹词和连接词等无用词汇,最终得到一个或多个关键字,例如,对上述测试需求进行分析之后,可以得到的关键字包括:“寻路”和“寻路到位置”。
在分析得到上述至少一个关键字之后,用户选取器可以根据该关键字自动在至少一个图形中进行匹配,匹配得到一个或多个图形。在本发明中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本,也就是说,每个图形均对应一个脚本,其中,该脚本与测试脚本虽然均为脚本,但是为对应不同测试逻辑的脚本,本发明实施例中的测试脚本由每个图形对应的一个或多个脚本制作而成
在获取到测试者选择的一个或多个图形之后,可以通过对应的脚本翻译器将一个或多个图形按照预定的方式转换成测试脚本,以供测试者进行测试。
在本发明可选实施方式中,用户仅需在对应的输入框中输入测试需求,用户选择器就会自动地对测试需求进行分析,进而根据分析结果为用户自动选取一个或多个图形。其中,如果用户默认用户选择器选取的一个或多个图形,则用户选择器将自动将一个或多个图形制作为测试脚本;如果用户认为用户选取器选取的一个或多个图形中包括不需要的图形,则可以手动删除该图形,并在用户点击确认之后,用户选择器将自动将一个或多个图形制作为测试脚本。
在本发明的另一个可选实施方式中,将一个或多个图形转换为测试脚本包括:获取测试者根据测试需求构建出的一个或多个图形之间的逻辑关系;将构建逻辑关系之后的一个或多个图形转换为测试脚本。
具体地,当用户选择出一个或多个图形之后,用户选择器还可以获取用户为一个或多个图形之间设置的逻辑关系,并将构建逻辑关系之后的一个或多个图形转换为测试脚本,其中,该测试脚本以图形的形式显示在显示界面中,并且用户还可以为该测试脚本设置一个自然语言描述的名称,以表征该测试脚本的测试功能。
在用户选择器获取到一个或多个图形,并将一个或多个图形转换为测试脚本之后,在本发明实施例中,还可以:将测试脚本转换成程序语言描述的脚本,然后,发送转换之后的测试脚本至服务器,并接收服务器返回的对测试脚本对应的逻辑操作进行测试的结果,其中,服务器在接收到转换之后的测试脚本之后,对测试脚本对应的逻辑操作进行测试,并返回测试结果。
在本发明实施例中,可以通过脚本翻译器将用户选择器中制作的使用自然语言描述的测试脚本翻译成机器可执行的程序脚本。
首先,用户可以选择一个需要执行的测试脚本J,然后,脚本翻译器在用户交互界面上加载用户选择的测试脚本。接下来,为测试脚本J选择对应的执行机器,然后点击执行;脚本翻译器可以根据测试脚本J在模型封装器中所使用的封装语言,自动将测试脚本J翻译成对应编程语言的测试脚本S,并使用测试脚本S进行测试。
图2是根据本发明实施例的一种测试脚本的处理装置的示意图一,如图2所示,该装置包括提供模块21、获取模块23和第一转换模块25,其中:
提供模块21,用于提供至少一个图形供测试者进行选择,其中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本;
在本发明实施例中,可以使用对应的模型封装器建立常用逻辑操作的模型,然后,使用相应的编程语言实现建立的模型,进而封装成一个操作。接下来,可以将封装得到的操作转换成图形,得到至少一个图形,以供测试者来选择。测试者可以直接拖拽上述至少一个图形,来组合成一个脚本。因此,在本发明中,每个图形均表示对预定功能的测试,也就是说,每个图形均对应一个逻辑操作。
获取模块23,用于获取测试者从至少一个图形中选择出的一个或多个图形。
具体地,在本发明实施例中,可以使用对应的用户选择器自动获取测试者在至少一个图形中选择的一个或多个图形。其中,获取一个或多个图形的方式可以有很多种,例如,当测试者拖拽某一图形时,将自动获取测试者的拖拽指令,以自动选择图形;测试者还可以在对应的输入框中输入某个关键字,例如“点击”,用户选择器在获取到该关键字之后,将自动在至少一个图形中查找包括该关键字的图形,并将查找到的图形显示在界面中,以供测试者选择。
第一转换模块25,用于将一个或多个图形转换为测试脚本。
在获取到测试者选择的一个或多个图形之后,可以通过对应的脚本翻译器将一个或多个图形按照预定的方式转换成测试脚本,以供测试者进行测试。
通过上述提供模块21、获取模块23和第一转换模块25可知,在本发明实施例中,测试脚本的制作过程为一个可视化的制作过程。通过拖拽图形或者输入关键字的方式就可以实现选择对应的一个或多个图形,然后使用选择出的图形组织成一个脚本,直接用于测试或者执行。因此,采用本发明实施例中的脚本制作方法,即使是毫无编程基础的用户,也可以直接使用该方法,制作对应的测试脚本。
在本发明实施例中,首先将预定功能的测试以图形的形式进行显示,然后,测试者可以在至少一个图形中选择一个或多个图形,并将选择的一个或多个图形转换为测试脚本,通过本发明提供的测试脚本的处理方法,可以使得测试脚本的制作过程变为一个可视化的过程,相对于传统的测试脚本的制作方法,本发明提供的测试脚本的制作方法,达到了可视化测试脚本的制作过程的目的,从而实现了降低测试脚本的制作门槛的技术效果,进而解决了现有技术中测试脚本在生成处理过程中形式较为单一的技术问题。
可选地,图形表示的对预定功能的测试的方式包括以下至少之一:通过使用编程语言编写测试脚本来进行测试、通过图形录制的方式来进行测试。
可选地,至少一个图形包括以下至少之一:接口描述、测试功能的描述,其中,接口为对预定功能进行的测试所能配置的参数。
可选地,接口描述和/或测试功能的描述使用自然语言进行描述。
可选地,获取模块用于:获取用户输入的关键字;在接口描述和/或测试功能的描述中查找关键字对应的描述,并确定对应的描述对应的一个或多个图形。
可选地,第一转换模块用于:获取测试者根据测试需求构建出的一个或多个图形之间的逻辑关系;将构建逻辑关系之后的一个或多个图形转换为测试脚本。
图3是根据本发明实施例的一种测试脚本的处理装置的示意图二,如图3所示,该装置包括第二转换模块31、发送模块33和接收模块35,其中:
第二转换模块31,用于在将一个或多个图形转换为测试脚本之后,将测试脚本转换成程序语言描述的脚本。
在本发明实施例中,测试需求可以为用户实际想要测试的操作,其中,该测试需求可以使用自然语言进行描述,例如,用户可以输入“我想要寻路到某个位置的操作”。
发送模块33,用于发送转换之后的测试脚本至服务器,其中,服务器在接收到转换之后的测试脚本之后,对测试脚本对应的逻辑操作进行测试,并返回测试结果;
接收模块,用于接收服务器返回的对测试脚本对应的逻辑操作进行测试的结果。
图4是根据本发明实施例的一种测试脚本的处理装置的示意图三,如图4所示,获取模块23包括获取单元41、分析单元43和选择单元45,其中:
获取单元41,用于获取测试者的测试需求,其中,测试需求使用自然语言进行描述。
在本发明实施例中,测试需求可以为用户实际想要测试的操作,其中,该测试需求可以使用自然语言进行描述,例如,用户可以输入“我想要寻路到某个位置的操作”。
分析单元43,用于对测试需求进行语意分析得出关键字。
在分析模块中,可以对获取模块中获取到的测试需求进行分析,例如,可以对“我想要寻路到某个位置的操作”进行分词处理,然后过滤掉其中的感叹词和连接词等无用词汇,最终得到一个或多个关键字,例如,对上述测试需求进行分析之后,可以得到的关键字包括:“寻路”和“寻路到位置”。
选择单元45,用于根据关键字在至少一个图形中选择一个或多个图形。
在分析得到上述至少一个关键字之后,用户选取器可以根据该关键字自动在至少一个图形中进行匹配,匹配得到一个或多个图形,其中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本。
在分析得到上述至少一个关键字之后,用户选取器可以根据该关键字自动在至少一个图形中进行匹配,匹配得到一个或多个图形。
在本发明实施例中,首先获取用户的测试需求,然后,对测试需求进行分析得到关键字,并根据关键字至少一个图形中选择一个或多个图形,并将选择的一个或多个图形转换为测试脚本,通过本发明提供的测试脚本的处理方法,可以使得测试脚本的制作过程变为一个可视化的过程,相对于传统的测试脚本的制作方法,本发明提供的测试脚本的制作方法,达到了可视化测试脚本的制作过程的目的,从而实现了降低测试脚本的制作门槛的技术效果,进而解决了现有技术中测试脚本在生成处理过程中形式较为单一的技术问题。
图5是根据本发明实施例的另一种测试脚本的处理装置的示意图,如图5所示,该装置包括:模型封装器51、用户选择器53、脚本翻译器55和脚本执行器57。
模型封装器51用于建立常用逻辑操作的模型,然后使用相应地编程语言实现建立的模型,进而封装成一个操作,并用自然语言描述该操作。
用户选择器53用于将模型封装器中封装得到的不同操作进行组合,得到测试脚本。如图5所示,用户选择器可以获取用户输入的关键字,然后根据该关键字在模型封装器产生的操作中匹配相应地操作(即,上述一个或多个图形),并填充操作对应的参数,组合不同的操作形成一个测试脚本。用户选择器还可以将用户选择的自然语言描述的操作,转换成一个图形,展示在图形界面上,供用户查看和修改。
在用户执行用户选择器中制作得到的测试脚本之前,可以通过脚本翻译器自动将用户选择器中产生的测试脚本翻译成对应编程语言的脚本(即,机器语言脚本)。然后,通过脚本执行器执行脚本翻译器中翻译的测试脚本,并将将执行结果显示在交互页面上,反馈给用户。
图6是根据本发明实施例的一种模型封装器的流程图,如图6所示,该流程图包括如下步骤:
步骤S602,设定待封装模型的中文描述与中文名,其中,中文名可以根据用户的需求自己定制,也可以根据***设定的操作名字作为中文名,例如:打包物品栏,寻路到NPC,接任务等;
步骤S604,输入待封装模型的参数与类型,其中,参数就是一个待封装模型所要操作的对应,例如,寻路模型的参数为:寻路到达的场景(spaceno)与坐标,对于一个3D游戏,坐标由x(横向坐标),y(纵向坐标),z(纵坐标)组成,那么寻路模型的参数就是x,y,z,spaceno;
步骤S606,使用编程语言实现该模型,例如,某游戏的寻路模型,实现该模型实际上就是调用游戏的寻路接口navigator.getNav().pathFinding((x,y,z,spaceNo)),其中,编程语言可以是python,lua,Java等语言;
步骤S608,保存模型,最后将实现的模型保存在操作库中。
具体地,如图10所示的即为模型封装器的交互显示界面的示意图,通过该交互界面,用户可以对模型进行封装,例如,可以设置每个待封装模型的接口类型、接口名称和接口描述的中文名称和英文名称。
图7是根据本发明实施例的一种用户选择器的流程图,如图7所示,该流程图包括如下步骤:
步骤S702,用户输入关键字,其中,该关键字为用户所要使用的操作或者操作的关键字,例如,寻路到某个位置这一操作,用户可以输入“寻路”这一关键字;
步骤S704,根据关键字查询操作库,得到含有该关键字的操作列表。其中,可以根据用户输入的关键字在操作库中自动匹配含有该关键字的操作列表L,例如:“寻路”这一关键,***会自动匹配“寻路到坐标”,“寻路到NPC”等操作;
步骤S706,用户在操作列表L中选择要使用的操作l,并填充操作l的参数,例如“寻路到坐标”这一操作,需要填充“横向坐标”,“纵向坐标”,“高度”,“场景编号”等参数;
步骤S708,将用户选取的操作1转换成图形表示,在获取到用户输入操作1的参数后,如果获取到用户发送的转换指令,则***会自动将自然语言描述的操作,转换成图形显示框;
接着用户重复S702-S708的过程,直至完成所有的操作。
步骤S710,保存测试脚本。
具体地,如图11所示的即为用户选择器的交互显示界面的示意图,用户可以在该交互界面中预先设置测试脚本的脚本名称,测试脚本的接口描述和测试脚本的脚本类型。然后,在“输入步骤名”的输入框中输入关键字,在输入该关键字之后,用户选择器将自动查找包括该关键字的图形,并将一个或多个图形以列表的形式显示给用户。如图12所示,当用户输入“点击”之后,用户选择器将自动地查找一个或多个图形,并显示一个操作列表,例如,图12中所示的“鼠标左键点击”、“鼠标左键点击”和“鼠标点击”等。
图8是根据本发明实施例的一种脚本翻译器的流程图,如图8所示,该流程图包括如下步骤:
步骤S802,用户选择一个需要执行的测试脚本J,并加载测试脚本J,脚本翻译器加载用户选择的测试脚本J在用户交互界面上;
步骤S804,选择对应的执行机器,然后点击执行,就可以实现执行下述步骤S806;
步骤S806,对测试脚本J进行翻译得到机器语言脚本;***根据用户选择的测试脚本J中操作在模型封装器中所使用的语言,自动将测试脚本J翻译成对应编程语言的脚本S。
图11是根据本发明实施例的一种脚本执行器的流程图,如图11所示,脚本执行器通过所在的用户机器将脚本翻译器中产生的机器语言脚本S,发送执行机器,并接收执行机器的返回结果R,显示在用户交互界面上。
本发明已经用于真实的软件测试环境与场景,实践证明,本发明可以很好地实现用户操作的自由定制与封装,制作脚本的用户无需任何编程语言基础,只需要理解自然语言描述的操作,就可以很快地制作一个脚本,极大地降低了脚本制作的技术门槛。脚本维护制作之后,基本上不需要额外的维护费用,降低了脚本制作与维护的费用,促进了测试效率的提高。
在本发明实施例中,提供了一种简便通用,基于用户操作的,使用自然语言描述,可视化的测试脚本的处理方法。用户可以将常用的测试脚本,封装成为一个自然语言描述的操作,然后通过拖拽的方式,使用这些自然语言描述的操作,组织成一个测试脚本,并通过该测试脚本直接用于测试或者执行。即使是毫无编程基础的用户,也可以直接使用该方法,制作脚本,所以脚本的维护成本相对较低。
本发明实施例中,还为用户提供了自由的建模***,模型的实现不受语言的限制。在模型实现的过程中,可以使用自然语言描述该模型形成一个操作,模型可以使用任何编程语言来实现。并且用户在制作测试脚本时,只需要组合自然语言描述的操作,填充必要的参数,就可以构成一个脚本,操作的封装与脚本的制作过程,用户操作的是自然语言与图形,所以整个过程是可视化的。
本发明实施例提供的测试脚本的处理方法相比传统的自动化测试方案,它的优点主要集中在:
第一:无拘束自由建模,用户可以自己定制所要使用的操作,不受平台和工具的束缚;
第二:模型实现的自然语言描述,用户实现模型的过程中,可以使用自然语言描述该模型,模型一旦实现,就变成了一个自然语言描述的操作,其它用户只需要使用这些自然语言描述的操作,就可以形成一个脚本;
第三:可视化脚本制作,用户制作脚本的过程,用户操作的是自然语言描述的操作和图形,无需任何编程语言基础。由于模型的实现使用自然语言描述,所以制作脚本的用户,只需要理解自然语言,就可以制作一个脚本。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种测试脚本的处理方法,其特征在于,包括:
提供至少一个图形供测试者进行选择,其中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本;
获取所述测试者从所述至少一个图形中选择出的一个或多个图形;
将所述一个或多个图形转换为测试脚本。
2.根据权利要求1所述的方法,其特征在于,所述图形表示的对预定功能的测试的方式包括以下至少之一:通过使用编程语言的方式来进行测试、通过图形录制的方式来进行测试。
3.根据权利要求2所述的方法,其特征在于,所述至少一个图形包括以下至少之一:
接口描述、测试功能的描述,其中,所述接口为对所述预定功能进行测试所能配置的参数。
4.根据权利要求3所述的方法,其特征在于,所述接口描述和/或所述测试功能的描述使用自然语言进行描述。
5.根据权利要求4所述的方法,其特征在于,获取所述测试者从所述至少一个图形中选择出的一个或多个图形包括:
获取用户输入的关键字;
在所述接口描述和/或所述测试功能的描述中查找所述关键字对应的描述,并确定所述对应的描述对应的所述一个或多个图形。
6.根据权利要求1所述的方法,其特征在于,将所述一个或多个图形转换为测试脚本包括:
获取所述测试者根据测试需求构建出的所述一个或多个图形之间的逻辑关系;
将构建所述逻辑关系之后的所述一个或多个图形转换为所述测试脚本。
7.根据权利要求1所述的方法,其特征在于,在将所述一个或多个图形转换为测试脚本之后,所述方法还包括:
将所述测试脚本转换成程序语言描述的脚本;
发送转换之后的所述测试脚本至服务器;
接收所述服务器返回的对所述测试脚本对应的逻辑操作进行测试的结果。
8.根据权利要求1所述的方法,其特征在于,获取所述测试者从所述至少一个图形中选择出的一个或多个图形包括:
获取测试者的测试需求,其中,所述测试需求使用自然语言进行描述;
对所述测试需求进行语意分析得出关键字;
根据所述关键字在至少一个图形中选择一个或多个图形。
9.一种测试脚本的处理装置,其特征在于,包括:
提供模块,用于提供至少一个图形供测试者进行选择,其中,每个图形对应一个预先由用户封装好的用于对预定功能进行测试的脚本;
获取模块,用于获取所述测试者从所述至少一个图形中选择出的一个或多个图形;
第一转换模块,用于将所述一个或多个图形转换为测试脚本。
10.根据权利要求9所述的装置,其特征在于,所述图形表示的对预定功能的测试的方式包括以下至少之一:通过使用编程语言编写测试脚本来进行测试、通过图形录制的方式来进行测试。
11.根据权利要求10所述的装置,其特征在于,所述至少一个图形包括以下至少之一:
接口描述、测试功能的描述,其中,所述接口为对所述预定功能进行的测试所能配置的参数。
12.根据权利要求11所述的装置,其特征在于,所述接口描述和/或所述测试功能的描述使用自然语言进行描述。
13.根据权利要求12所述的装置,其特征在于,所述获取模块用于:
获取用户输入的关键字;
在所述接口描述和/或所述测试功能的描述中查找所述关键字对应的描述,并确定所述对应的描述对应的所述一个或多个图形。
14.根据权利要求9所述的装置,其特征在于,所述第一转换模块用于:
获取所述测试者根据测试需求构建出的所述一个或多个图形之间的逻辑关系;
将构建所述逻辑关系之后的所述一个或多个图形转换为所述测试脚本。
15.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二转换模块,用于在将所述一个或多个图形转换为测试脚本之后,将所述测试脚本转换成程序语言描述的脚本;
发送模块,用于发送转换之后的所述测试脚本至服务器;
接收模块,用于接收所述服务器返回的对所述测试脚本对应的逻辑操作进行测试的结果。
16.根据权利要求9所述的装置,其特征在于,所述获取模块包括:
获取单元,用于获取测试者的测试需求,其中,所述测试需求使用自然语言进行描述;
分析单元,用于对所述测试需求进行语意分析得出关键字;
选择单元,用于根据所述关键字在至少一个图形中选择一个或多个图形。
CN201610524954.1A 2016-07-01 2016-07-01 测试脚本的处理方法和装置 Pending CN106201873A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610524954.1A CN106201873A (zh) 2016-07-01 2016-07-01 测试脚本的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610524954.1A CN106201873A (zh) 2016-07-01 2016-07-01 测试脚本的处理方法和装置

Publications (1)

Publication Number Publication Date
CN106201873A true CN106201873A (zh) 2016-12-07

Family

ID=57464876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610524954.1A Pending CN106201873A (zh) 2016-07-01 2016-07-01 测试脚本的处理方法和装置

Country Status (1)

Country Link
CN (1) CN106201873A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526685A (zh) * 2017-09-11 2017-12-29 杭州迪普科技股份有限公司 一种测试命令行的方法及装置
CN107608659A (zh) * 2017-08-25 2018-01-19 北京智行鸿远汽车有限公司 应用于响应多任务的LabVIEW的软件架构的设计方法
CN107943635A (zh) * 2017-11-30 2018-04-20 郑州云海信息技术有限公司 一种存储设备的测试方法、装置及介质
CN108536584A (zh) * 2018-03-12 2018-09-14 广东睿江云计算股份有限公司 一种基于Sikuli的自动化测试方法
CN108804305A (zh) * 2017-05-05 2018-11-13 北京嘀嘀无限科技发展有限公司 一种自动化测试的方法及装置
CN109902013A (zh) * 2019-02-28 2019-06-18 中国科学院国家空间科学中心 一种基于组态化测试序列的有效载荷测试方法及***
CN110119353A (zh) * 2019-04-18 2019-08-13 上海蔚来汽车有限公司 测试数据生成方法、装置以及控制器和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339534A (zh) * 2008-06-17 2009-01-07 金蝶软件(中国)有限公司 一种软件测试的方法及装置
JP2013077159A (ja) * 2011-09-30 2013-04-25 Hitachi Solutions Ltd テスト自動化システム
CN103984626A (zh) * 2014-05-13 2014-08-13 华为技术有限公司 一种生成测试用例脚本的方法及装置
CN104484269A (zh) * 2014-11-27 2015-04-01 北京广利核***工程有限公司 一种自动生成测试脚本的方法
CN105068929A (zh) * 2015-08-06 2015-11-18 网易(杭州)网络有限公司 测试脚本生成方法和装置、测试方法、测试装置以及测试***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339534A (zh) * 2008-06-17 2009-01-07 金蝶软件(中国)有限公司 一种软件测试的方法及装置
JP2013077159A (ja) * 2011-09-30 2013-04-25 Hitachi Solutions Ltd テスト自動化システム
CN103984626A (zh) * 2014-05-13 2014-08-13 华为技术有限公司 一种生成测试用例脚本的方法及装置
CN104484269A (zh) * 2014-11-27 2015-04-01 北京广利核***工程有限公司 一种自动生成测试脚本的方法
CN105068929A (zh) * 2015-08-06 2015-11-18 网易(杭州)网络有限公司 测试脚本生成方法和装置、测试方法、测试装置以及测试***

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804305A (zh) * 2017-05-05 2018-11-13 北京嘀嘀无限科技发展有限公司 一种自动化测试的方法及装置
CN107608659A (zh) * 2017-08-25 2018-01-19 北京智行鸿远汽车有限公司 应用于响应多任务的LabVIEW的软件架构的设计方法
CN107526685A (zh) * 2017-09-11 2017-12-29 杭州迪普科技股份有限公司 一种测试命令行的方法及装置
CN107943635A (zh) * 2017-11-30 2018-04-20 郑州云海信息技术有限公司 一种存储设备的测试方法、装置及介质
CN108536584A (zh) * 2018-03-12 2018-09-14 广东睿江云计算股份有限公司 一种基于Sikuli的自动化测试方法
CN108536584B (zh) * 2018-03-12 2021-05-11 广东睿江云计算股份有限公司 一种基于Sikuli的自动化测试方法
CN109902013A (zh) * 2019-02-28 2019-06-18 中国科学院国家空间科学中心 一种基于组态化测试序列的有效载荷测试方法及***
CN109902013B (zh) * 2019-02-28 2022-05-31 中国科学院国家空间科学中心 一种基于组态化测试序列的有效载荷测试方法及***
CN110119353A (zh) * 2019-04-18 2019-08-13 上海蔚来汽车有限公司 测试数据生成方法、装置以及控制器和介质
CN110119353B (zh) * 2019-04-18 2023-10-10 上海蔚来汽车有限公司 测试数据生成方法、装置以及控制器和介质

Similar Documents

Publication Publication Date Title
CN106201873A (zh) 测试脚本的处理方法和装置
CN106095673B (zh) 基于web接口的自动化测试方法及***
CN109815156A (zh) 页面中视觉元素的展示测试方法、装置、设备和存储介质
Viyović et al. Sirius: A rapid development of DSM graphical editor
US9864674B2 (en) Test case generation system
US7530050B2 (en) Method and system for developing software using nodes
EP0544637A2 (en) Software structure for telecommunication switching systems
CN109508298B (zh) 图形化的脚本测试方法及***
CN108564104A (zh) 产品缺陷检测方法、装置、***、服务器及存储介质
CN109408384A (zh) 软件应用的测试方法、装置、处理器及电子装置
US20060136864A1 (en) Apparatus and method for product-line architecture description and verification
CN104572072B (zh) 一种对基于mvc模式的程序的语言转换方法与设备
CN104778033B (zh) 一种积木式软件的构建方法和装置
CN110309048A (zh) 基于模拟端口改进软件集成***的方法及相关设备
CN107784372A (zh) 目标对象属性的预测方法、装置和***
CN106709980B (zh) 一种基于形式化的复杂三维场景建模方法
US9501462B2 (en) Form object having form representation and grid representation of form
Silva et al. A Goal Oriented Approach to Identify and Configure Feature Models for Software Product Lines.
CN106886408A (zh) 应用于机器人软件工程师的智能决策***
CN106874204A (zh) 自动化测试定制方法及定制***
CN113537496A (zh) 一种深度学习模型可视化构建***及其应用和设计方法
CN106293761A (zh) 用于生成游戏编辑器和插件以及数据处理的方法及装置
CN110058829A (zh) 一种图像数据处理方法、装置及存储介质
Jesus et al. Using systems architecture views to assess integration readiness levels
CN104239212B (zh) 测试用例的查询方法及装置、测试用例的建立方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161207