CN106649073A - 一种基于动态脚本模板的测试方法及装置 - Google Patents
一种基于动态脚本模板的测试方法及装置 Download PDFInfo
- Publication number
- CN106649073A CN106649073A CN201510712840.5A CN201510712840A CN106649073A CN 106649073 A CN106649073 A CN 106649073A CN 201510712840 A CN201510712840 A CN 201510712840A CN 106649073 A CN106649073 A CN 106649073A
- Authority
- CN
- China
- Prior art keywords
- script
- testing
- test
- template
- parameter
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于动态脚本模板的测试方法及装置,该测试方法包括:接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数;根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本;对函数或脚本利用关键字词典进行映射,并封装成脚本模板;接收测试需求,并根据测试需求和脚本模板生成执行脚本;将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行。本发明解决了现有的自动化测试引擎拓展性差、自动化程度较低以及依赖性高的问题。
Description
技术领域
本发明涉及自动化测试领域,特别涉及一种基于动态脚本模板的测试方法及装置。
背景技术
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。现有的自动化测试引擎,通常通过对不同测试工具的应用程序接口(API)进行封装,形成测试引擎的内部基类函数集,并按测试用例中的被测功能点,组合成一系列函数从而形成测试脚本模板。在执行测试时,通过应用组合引擎内部一系列基类函数形成的自动化测试脚本,调用测试工具API,驱动测试设备执行测试。
现有的技术方案是从无到有、从单一到多元化整合的过程,是自动化测试经验的累积,对被测***的适应性、测试时间、测试环境都有很大的要求。
现有技术方案在实际应用中范围较广,但是存在一些不可避免的缺点:
扩展性差。现有的通用自动化测试引擎技术中,内部基类函数集是基于不同的出发点和思路进行开发的,在面对不同的测试工具、不同的被测设备、不同的测试环境时,均有很大的区别,因此导致自动化测试引擎功能单一且难以复用。这使得自动化测试工具的版本升级或被测对象\业务的变更,都需要重新花费大量的人力物力重新开发测试引擎中封装的基类函数,降低测试效率。
自动化程度较低。尽管根据各类测试需求和测试工具软件的技术特点可开发出多种多样的测试引擎,但各工具和引擎之间缺乏整体的设计思路,难以融合使用。现有技术方案中,当测试工具进行工具版本或环境的变更,或测试工具、被测设备种类增加等信息时,测试工具无法与测试引擎进行信息交互,因此测试引擎侧无法自动化同步更新升级,极易导致测试执行的失败,造成各种测试步骤的半自动化局面。
依赖性高。现有的技术方案仅能实现将测试任务发出去,再把测试结果收集回来,无法根据测试需求对测试脚本进行自动化的编译和校验,对测试执行人员脚本编译的技术水平,***的熟悉程度及业务知识存在全面性的依赖。
发明内容
本发明提供了一种基于动态脚本模板的测试方法及装置,其目的是为了解决现有的自动化测试引擎拓展性差、自动化程度较低以及依赖性高的问题。
为了达到上述目的,本发明的实施例提供了一种基于动态脚本模板的测试方法,应用于测试服务器,测试方法包括:
接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数;
根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本;
对函数或脚本利用关键字词典进行映射,并封装成脚本模板;
接收测试需求,并根据测试需求和脚本模板生成执行脚本;
将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行。
优选地,测试方法还包括:
接收测试工具发送的接入申请;
根据接入申请,向测试工具发送代理服务客户端的安装包,并在测试工具上安装并启动代理服务客户端。
优选地,对函数或脚本利用关键字词典进行映射,并封装成脚本模板的步骤,具体包括:
以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成脚本模板。
优选地,将基础函数封装成脚本模板的步骤之后,测试方法还包括:
将脚本模板发送至代理服务客户端,指示代理服务客户端对脚本模板进行验证并接收代理服务客户端的反馈:
若代理服务客户端反馈为验证通过,则将脚本模板存储至脚本模板库;
若代理服务客户端反馈为验证不通过,则获取代理反馈的该脚本模板的对应的基础函数或脚本,并重新将基础函数或脚本封装成脚本模板。
优选地,接收测试需求,并根据测试需求和脚本模板生成执行脚本的步骤,具体包括:
接收测试需求并从测试需求中提取包括测试对象、测试动作以及测试参数的测试关键字;
为测试关键字匹配脚本模板库里的脚本模板,并将用户输入的数据嵌入到匹配的脚本模板中,生成执行脚本。
优选地,将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行的步骤,具体包括:
将执行脚本和关键字词典的版本号发送至代理服务客户端,使代理服务客户端根据关键字词典的版本号获取相应的关键字词典;
指示由代理服务客户端根据相应的关键字词典解析并执行执行脚本。
为了实现上述目的,本发明的实施例还提供了一种基于动态脚本模板的测试方法,应用于测试工具,测试方法包括:
采集测试工具的第一参数和与测试工具连接的被测设备的第二参数,并将第一参数和第二参数发送给测试服务器;
接收测试服务器发送的执行脚本和关键字词典的版本号,并根据测试服务端的执行指示,解析并执行执行脚本,其中执行脚本由测试服务器根据测试需求和脚本模板生成。
优选地,测试方法还包括:
接收到测试服务端对脚本模板进行验证的验证指示时,对脚本模板进行验证并向测试服务器反馈验证结果。
优选地,接收测试服务器发送的执行脚本和关键字词典的版本号,并根据测试服务端的执行指示,解析并执行执行脚本的步骤,具体包括:
接收测试服务端发送的执行脚本和关键字词典的版本号,根据关键字词典的版本号获取相应的关键字词典;
根据相应的关键字词典解析并执行执行脚本。
为了实现上述目的,本发明的实施例还提供了一种基于动态脚本模板的测试装置,应用于测试服务器,测试装置包括:
接收模块,用于接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数;
筛选模块,用于根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本;
封装模块,用于对函数或脚本利用关键字词典进行映射,并封装成脚本模板;
生成模块,用于接收测试需求,并根据测试需求和脚本模板生成执行脚本;
发送模块,用于将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行。
优选地,测试装置还包括:
申请接收模块,用于接收测试工具发送的接入申请;
启动模块,用于根据接入申请,向测试工具发送代理服务客户端的安装包,并在测试工具上安装并启动代理服务客户端。
优选地,封装模块具体用于:
以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成脚本模板。
优选地,测试装置还包括:
指示验证模块,用于在封装模块将基础函数封装成脚本模板的步骤之后,
将脚本模板发送至代理服务客户端,指示代理服务客户端对脚本模板进行验证并接收代理服务客户端的反馈:
若代理服务客户端反馈为验证通过,则将脚本模板存储至脚本模板库;
若代理服务客户端反馈为验证不通过,则获取代理反馈的该脚本模板的对应的基础函数或脚本,并重新将基础函数或脚本封装成脚本模板。
优选地,生成模块具体包括:
接收子模块,用于接收测试需求并从测试需求中提取包括测试对象、测试动作以及测试参数的测试关键字;
匹配子模块,用于为测试关键字匹配脚本模板库里的脚本模板,并将用户输入的数据嵌入到匹配的脚本模板中,生成执行脚本。
优选地,发送模块具体包括:
发送子模块,用于将执行脚本和关键字词典的版本号发送至代理服务客户端,使代理服务客户端根据关键字词典的版本号获取相应的关键字词典;
指示子模块,用于指示由代理服务客户端根据相应的关键字词典解析并执行执行脚本。
为了实现上述目的,本发明的实施例还提供了一种基于动态脚本模板的测试装置,应用于测试工具,测试装置包括:
采集模块,用于采集测试工具的第一参数和与测试工具连接的被测设备的第二参数,并将第一参数和第二参数发送给测试服务器;
执行模块,用于接收测试服务器发送的执行脚本和关键字词典的版本号,并根据测试服务端的执行指示,解析并执行执行脚本,其中执行脚本由测试服务器根据测试需求和脚本模板生成。
优选地,测试装置还包括:
验证模块,用于接收到测试服务端对脚本模板进行验证的验证指示时,对脚本模板进行验证并向测试服务器反馈验证结果。
优选地,执行模块具体包括:
获取子模块,用于接收测试服务端发送的执行脚本和关键字词典的版本号,根据关键字词典的版本号获取相应的关键字词典;
解析子模块,用于根据相应的关键字词典解析并执行执行脚本。
本发明的上述方案至少包括以下有益效果:
本发明提供的基于动态脚本的测试方法及装置,通过对预置在动态数据库中函数或脚本利用关键字词典进行映射,并动态生成脚本模板;当接收到具体的测试需求时,通过关键字词典映射查找到相应的脚本模板即可生成具体的执行脚本,再将执行脚本发送至代理服务客户端;整个过程在测试服务器内部动态完成,测试需求至执行脚本的自动转化,提高了测试的自动化程度,且降低了对测试人员脚本开发技术的需求,大大减少了人员的投入成本。
附图说明
图1为本发明的第一实施例提供的基于动态脚本模板的测试方法的基本步骤流程图;
图2为本发明的第二实施例提供的基于动态脚本模板的测试方法的基本步骤流程图;
图3为本发明的第三实施例提供的基于动态脚本模板的测试方法的基本步骤流程图;
图4为本发明的第四实施例提供的基于动态脚本模板的测试方法的基本步骤流程图;
图5为本发明的第五实施例提供的基于动态脚本模板的测试装置的结构示意图;
图6为本发明的第六实施例提供的基于动态脚本模板的测试方法的基本步骤流程图;
图7为本发明的第七实施例提供的基于动态脚本模板的测试装置的结构示意图;
图8为本发明的第一实施例具体场景示意图;
图9为本发明的第三实施例具体场景示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
现有的自动化测试引擎,通常通过对不同测试工具的应用程序接口(API)进行封装,形成测试引擎的内部基类函数集,并按测试用例中的被测功能点,组合成一系列函数从而形成测试脚本模板,存在拓展性差、自动化程度较低以及依赖性高的问题。本发明针对现有的问题,提供了一种基于动态脚本模板的测试方法及装置。
第一实施例
参见图1,本发明的第一实施例提供了一种基于动态脚本模板的测试方法,应用于测试服务器,测试方法包括:
步骤101,接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数。
其中,第一参数可以包括测试工具的操作***的***版本信息和工具版本信息,其中,操作***可以是windows***、Linux***或者、Android***等;第二参数包括被测设备的硬件版本号和被测设备***的软件版本号。
步骤102,根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本。
其中,需在动态数据库中预置当前通用的多种函数或脚本。
步骤103,对函数或脚本利用关键字词典进行映射,并封装成脚本模板。
其中,对步骤102中已筛选出的可复用的函数或脚本利用关键字词典进行映射,使每个可复用的函数或脚本与一组或多组关键字形成映射关系,并封装成脚本模板用以生成具体的执行脚本。
步骤104,接收测试需求,并根据测试需求和脚本模板生成执行脚本。
其中,从测试需求中提取关键字,并根据步骤103中的映射关系,匹配与测试需求相对应的脚本模板,并将测试需求中的具体参数嵌入到脚本模板中,形成用以执行本测试需求的执行脚本。
步骤105,将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行。
本发明的上述实施例中,测试服务器可以作为软硬测试探针、仪器仪表、服务器计算机、手持或膝上性设备、移动设备(比如移动电话)、小型计算机、大型计算机、无人机的软件***。
通常情况下,现有的通用自动化测试引擎技术中,当自动化测试工具的版本升级或被测对象\业务的变更,都需要重新花费大量的人力物力重新开发测试引擎中封装的基类函数;而本发明的上述实施例中,当测试工具接入时,根据测试工具的第一参数和被测设备的第二参数在动态数据库中筛选查询出与之相对应的函数或脚本,直接调用即可,无需在重新开发,增加了自动化测试引擎的复用性,提高了测试效率。
本发明的上述实施例中,通过对预置在动态数据库中函数或脚本利用关键字词典进行映射,并动态生成脚本模板;当接收到具体的测试需求时,通过关键字词典映射查找到相应的脚本模板即可生成具体的执行脚本,再将执行脚本发送至代理服务客户端;本发明利用关键字映射的方式封装脚本模板,实现跨测试工具、跨被测设备、跨测试环境的动态变化的测试引擎,大大降低测试工具、被测设备、测试环境的耦合度,提高测试***的可复用性,大幅度提升测试效率及成功率。整个过程在测试服务器内部动态完成,测试需求至执行脚本的自动转化,提高了测试的自动化程度,且降低了对测试人员脚本开发技术的需求,大大减少了人员的投入成本。
优选地,本发明的上述实施例中,该测试方法还包括:
接收测试工具发送的接入申请;
根据接入申请,向测试工具发送代理服务客户端的安装包,并在测试工具上安装并启动代理服务客户端。
参见图8,图8为本发明的上述实施例的一个具体场景示意图,其中,当测试服务器接收测试工具发送的接入申请,也就是说,当测试工具首次接入到测试服务器时,首先向测试工具发送代理服务客户端的安装包,需要说明的是,测试服务器需从接入申请中获取测试工具的操作***的版本信息以及工具的基本信息,并选择与测试工具的操作***的版本信息相匹配的安装包并向测试工具发送。
第二实施例
如图2所示,本发明的第二实施例提供了一种基于动态脚本模板的测试方法,应用于测试服务器,该测试方法包括:
步骤201,接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数;其中,第一参数为测试工具的操作***的版本信息,第二参数为被测设备的软硬件版本号。
步骤202,根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本。
步骤203,以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成脚本模板。
步骤204,接收测试需求,并根据测试需求和脚本模板生成执行脚本。
步骤205,将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行。
下面以PING函数为例,介绍一下本实施例,其中PING是Windows、Unix和Linux***下的一个命令。PING也属于一个通信协议,是TCP/IP协议的一部分,利用“PING”命令可以检查网络是否连通,可以很好地帮助用户分析和判定网络故障。其中,应用格式为:Ping空格IP地址。
PING函数的脚本模板如下:
也就是说,当以"xxxx(测试对象)"、PING(测试操作)、IP地址(测试参数)为一组关键字时,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成上述脚本模板。
本发明的上述实施例中,以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成脚本模板。也就是说,关键字为关键字词典的索引,对应的是该组关键字对应的脚本模板;其中,一组(或多组)关键字对应一个脚本模板,一方面使脚本模板的封装更有针对性,提高了测试效率;另一方面提高了动态数据库中的函数或脚本的复用性。
第三实施例
如图3所示,本发明的第三实施例提供了一种基于动态脚本模板的测试方法,应用于测试服务器,该测试方法包括:
步骤301,接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数。其中,第一参数为测试工具的操作***的版本信息,第二参数为被测设备的软硬件版本号。
步骤302,根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本。
步骤303,以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成脚本模板。
步骤304,将脚本模板发送至代理服务客户端,指示代理服务客户端对脚本模板进行验证并接收代理服务客户端的反馈;
步骤305,若代理服务客户端反馈为验证通过,则将脚本模板存储至脚本模板库;
步骤306,若代理服务客户端反馈为验证不通过,则获取代理反馈的该脚本模板的对应的基础函数或脚本,并重新将基础函数或脚本封装成脚本模板。
步骤307,接收测试需求,并根据测试需求和脚本模板生成执行脚本;
步骤308,将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行。
参见图9,图9为本发明上述实施例的一个具体场景示意图,其中,当形成关键字词典中的脚本模板之后,将脚本模板与关键字词典(关键字词典用于代理服务客户端进行验证)一起发送至代理服务客户端,指示代理服务客户端对脚本模板进行验证并接收代理服务客户端的反馈;
若理服务客户端反馈为验证通过,则将脚本模板存储至脚本模板库;
若代理服务客户端反馈为验证不通过,则通过若代理服务客户端反馈的脚本模板的错误代码,查找相应的基础函数或脚本,并重新将基础函数或脚本封装成脚本模板。
本发明的上述实施例中,为测试工具设置了自动校验流程,当脚本模板生成以后,还需要经过代理服务客户端的验证并验证通过时才能存储至脚本模板库中,用于以后的自动化测试;而测试不通过的脚本模板还需重新封装,直至验证通过为止。自动校验流程的设置,避免了功能性问题导致的测试执行失败。本发明的上述实施例中,步骤307具体包括:
接收测试需求并从测试需求中提取包括测试对象、测试动作以及测试参数的测试关键字;
为测试关键字匹配脚本模板库里的脚本模板,并将用户输入的数据嵌入到匹配的脚本模板中,生成执行脚本。
其中,当接收到测试需求时,直接从测试需求中提取测试关键字,并为测试关键字匹配脚本模板库里的脚本模板中,并将用户输入的数据嵌入到匹配的脚本模板中,生成该测试需求的执行脚本。
下面仍以PING函数为例,介绍一下本实施例,当接收到测试需求时,从测试需求中提取到pingAddress.txt、PING以及“1、60、1、F、1、5、32(用户输入的测试参数”的关键字,首先为该组关键匹配脚本模板;再将用户输入的数据嵌入到脚本模板中,生成执行脚本如下:
本发明的上述实施例中,执行人员在向测试服务器中输入包含测试关键字的测试需求即可,测试服务器自动编译执行脚本,无需再通过人工编译,减小了执行人员的工作量以及整个自动化测试过程对执行人员的依赖性。
第四实施例
如图4所示,本发明的第四实施例提供了一种基于动态脚本模板的测试方法,应用于测试服务器,该测试方法包括:
步骤401,接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数;其中,第一参数为测试工具的操作***的版本信息,第二参数为被测设备的软硬件版本号。
步骤402,根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本。
步骤403,以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成脚本模板。
步骤404,接收测试需求,并根据测试需求和脚本模板生成执行脚本。
步骤405,将执行脚本和关键字词典的版本号发送至代理服务客户端,使代理服务客户端根据关键字词典的版本号获取相应的关键字词典。
步骤406,指示由代理服务客户端根据相应的关键字词典解析并执行执行脚本。
本发明的上述实施例中,将关键字词典的版本号发送至代理服务客户端,目的是为了确保执行脚本的编译过程与解析过程采用的是同一个版本号的关键字词典,确保测试服务端与测试工具之间的信息交互有效,避免执行脚本的解析过程出错,影响测试过程。
第五实施例
参见图5,本发明的第五实施例提供了一种基于动态脚本模板的测试装置,应用于测试服务器,该测试装置包括:
接收模块501,用于接收测试工具上的代理服务客户端采集的测试工具的第一参数和与测试工具连接的被测设备的第二参数。
筛选模块502,用于根据第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本。
封装模块503,用于对函数或脚本利用关键字词典进行映射,并封装成脚本模板。
生成模块504,用于接收测试需求,并根据测试需求和脚本模板生成执行脚本。
发送模块505,用于将执行脚本和关键字词典的版本号发送至代理服务客户端,并指示由代理服务客户端解析并执行。
优选地,该测试装置还包括:
申请接收模块,用于接收测试工具发送的接入申请;
启动模块,用于根据接入申请,向测试工具发送代理服务客户端的安装包,并在测试工具上安装并启动代理服务客户端。
优选地,封装模块具体用于:
以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从可复用的函数或脚本中筛选出关键字所需的基础函数或脚本,并将基础函数或脚本封装成脚本模板。
优选地,该测试装置还包括:
指示验证模块,用于在封装模块将基础函数封装成脚本模板的步骤之后,
将脚本模板发送至代理服务客户端,指示代理服务客户端对脚本模板进行验证并接收代理服务客户端的反馈:
若代理服务客户端反馈为验证通过,则将脚本模板存储至脚本模板库;
若代理服务客户端反馈为验证不通过,则获取代理反馈的该脚本模板的对应的基础函数或脚本,并重新将基础函数或脚本封装成脚本模板。
优选地,生成模块具体包括:
接收子模块,用于接收测试需求并从测试需求中提取包括测试对象、测试动作以及测试参数的测试关键字;
匹配子模块,用于为测试关键字匹配脚本模板库里的脚本模板,并将用户输入的数据嵌入到匹配的脚本模板中,生成执行脚本。
优选地,发送模块具体包括:
发送子模块,用于将执行脚本和关键字词典的版本号发送至代理服务客户端,使代理服务客户端根据关键字词典的版本号获取相应的关键字词典;
指示子模块,用于指示由代理服务客户端根据相应的关键字词典解析并执行执行脚本。
第六实施例
参见图6,本发明的第六实施例还提供了一种基于动态脚本模板的测试方法,应用于测试工具,该测试方法包括:
步骤601,采集测试工具的第一参数和与测试工具连接的被测设备的第二参数,并将第一参数和第二参数发送给测试服务器。
步骤602,接收测试服务器发送的执行脚本和关键字词典的版本号,并根据测试服务端的执行指示,解析并执行执行脚本,其中执行脚本由测试服务器根据测试需求和脚本模板生成。
优选地,该测试方法还包括:
接收到测试服务端对脚本模板进行验证的验证指示时,对脚本模板进行验证并向测试服务器反馈验证结果。
优选地,接收测试服务器发送的执行脚本和关键字词典的版本号,并根据测试服务端的执行指示,解析并执行执行脚本的步骤,具体包括:
接收测试服务端发送的执行脚本和关键字词典的版本号,根据关键字词典的版本号获取相应的关键字词典;
根据相应的关键字词典解析并执行执行脚本。
第七实施例
参见图7,本发明的第七实施例还提供了一种基于动态脚本模板的测试装置,应用于测试工具,该测试装置包括:
采集模块701,用于采集测试工具的第一参数和与测试工具连接的被测设备的第二参数,并将第一参数和第二参数发送给测试服务器;
执行模块702,用于接收测试服务器发送的执行脚本和关键字词典的版本号,并根据测试服务端的执行指示,解析并执行执行脚本,其中执行脚本由测试服务器根据测试需求和脚本模板生成。
优选地,该测试装置还包括:
验证模块,用于接收到测试服务端对脚本模板进行验证的验证指示时,对脚本模板进行验证并向测试服务器反馈验证结果。
优选地,执行模块具体包括:
获取子模块,用于接收测试服务端发送的执行脚本和关键字词典的版本号,根据关键字词典的版本号获取相应的关键字词典;
解析子模块,用于根据相应的关键字词典解析并执行执行脚本。
需要说明的是,本发明实施例提供的基于动态脚本模板的测试装置是应用上述方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (18)
1.一种基于动态脚本模板的测试方法,应用于测试服务器,其特征在于,所述测试方法包括:
接收测试工具上的代理服务客户端采集的所述测试工具的第一参数和与所述测试工具连接的被测设备的第二参数;
根据所述第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本;
对所述函数或脚本利用关键字词典进行映射,并封装成脚本模板;
接收测试需求,并根据所述测试需求和所述脚本模板生成执行脚本;
将所述执行脚本和所述关键字词典的版本号发送至所述代理服务客户端,并指示由所述代理服务客户端解析并执行。
2.根据权利要求1所述的测试方法,其特征在于,所述测试方法还包括:
接收所述测试工具发送的接入申请;
根据所述接入申请,向所述测试工具发送代理服务客户端的安装包,并在所述测试工具上安装并启动所述代理服务客户端。
3.根据权利要求1所述的测试方法,其特征在于,所述对所述函数或脚本利用关键字词典进行映射,并封装成脚本模板的步骤,具体包括:
以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从所述可复用的函数或脚本中筛选出所述关键字所需的基础函数或脚本,并将所述基础函数或脚本封装成脚本模板。
4.根据权利要求3所述的测试方法,其特征在于,所述将所述基础函数封装成脚本模板的步骤之后,所述测试方法还包括:
将所述脚本模板发送至所述代理服务客户端,指示所述代理服务客户端对所述脚本模板进行验证并接收所述代理服务客户端的反馈:
若所述代理服务客户端反馈为验证通过,则将所述脚本模板存储至脚本模板库;
若所述代理服务客户端反馈为验证不通过,则获取所述代理反馈的该脚本模板的对应的基础函数或脚本,并重新将所述基础函数或脚本封装成脚本模板。
5.根据权利要求4所述的测试方法,其特征在于,所述接收测试需求,并根据所述测试需求和所述脚本模板生成执行脚本的步骤,具体包括:
接收测试需求并从所述测试需求中提取包括测试对象、测试动作以及测试参数的测试关键字;
为所述测试关键字匹配所述脚本模板库里的脚本模板,并将用户输入的数据嵌入到匹配的脚本模板中,生成执行脚本。
6.根据权利要求3所述的测试方法,其特征在于,所述将所述执行脚本和所述关键字词典的版本号发送至所述代理服务客户端,并指示由所述代理服务客户端解析并执行的步骤,具体包括:
将所述执行脚本和所述关键字词典的版本号发送至所述代理服务客户端,使所述代理服务客户端根据所述关键字词典的版本号获取相应的关键字词典;
指示由所述代理服务客户端根据所述相应的关键字词典解析并执行所述执行脚本。
7.一种基于动态脚本模板的测试方法,应用于测试工具,其特征在于,所述测试方法包括:
采集所述测试工具的第一参数和与所述测试工具连接的被测设备的第二参数,并将所述第一参数和所述第二参数发送给测试服务器;
接收所述测试服务器发送的执行脚本和关键字词典的版本号,并根据所述测试服务端的执行指示,解析并执行所述执行脚本,其中所述执行脚本由所述测试服务器根据测试需求和所述脚本模板生成。
8.根据权利要求7所述的测试方法,其特征在于,所述测试方法还包括:
接收到所述测试服务端对脚本模板进行验证的验证指示时,对所述脚本模板进行验证并向所述测试服务器反馈验证结果。
9.根据权利要求7所述的测试方法,其特征在于,所述接收所述测试服务器发送的执行脚本和关键字词典的版本号,并根据所述测试服务端的执行指示,解析并执行所述执行脚本的步骤,具体包括:
接收所述测试服务端发送的执行脚本和关键字词典的版本号,根据所述关键字词典的版本号获取相应的关键字词典;
根据所述相应的关键字词典解析并执行所述执行脚本。
10.一种基于动态脚本模板的测试装置,应用于测试服务器,其特征在于,所述测试装置包括:
接收模块,用于接收测试工具上的代理服务客户端采集的所述测试工具的第一参数和与所述测试工具连接的被测设备的第二参数;
筛选模块,用于根据所述第一参数和第二参数在动态数据库中筛选查询出可复用的函数或脚本;
封装模块,用于对所述函数或脚本利用关键字词典进行映射,并封装成脚本模板;
生成模块,用于接收测试需求,并根据所述测试需求和所述脚本模板生成执行脚本;
发送模块,用于将所述执行脚本和所述关键字词典的版本号发送至所述代理服务客户端,并指示由所述代理服务客户端解析并执行。
11.根据权利要求10所述的测试装置,其特征在于,所述测试装置还包括:
申请接收模块,用于接收所述测试工具发送的接入申请;
启动模块,用于根据所述接入申请,向所述测试工具发送代理服务客户端的安装包,并在所述测试工具上安装并启动所述代理服务客户端。
12.根据权利要求10所述的测试装置,其特征在于,所述封装模块具体用于:
以测试对象、测试动作、测试参数作为关键字词典中的一组关键字,从所述可复用的函数或脚本中筛选出所述关键字所需的基础函数或脚本,并将所述基础函数或脚本封装成脚本模板。
13.根据权利要求12所述的测试装置,其特征在于,所述测试装置还包括:
指示验证模块,用于在所述封装模块将所述基础函数封装成脚本模板的步骤之后,
将所述脚本模板发送至所述代理服务客户端,指示所述代理服务客户端对所述脚本模板进行验证并接收所述代理服务客户端的反馈:
若所述代理服务客户端反馈为验证通过,则将所述脚本模板存储至脚本模板库;
若所述代理服务客户端反馈为验证不通过,则获取所述代理反馈的该脚本模板的对应的基础函数或脚本,并重新将所述基础函数或脚本封装成脚本模板。
14.根据权利要求13所述的测试装置,其特征在于,所述生成模块具体包括:
接收子模块,用于接收测试需求并从所述测试需求中提取包括测试对象、测试动作以及测试参数的测试关键字;
匹配子模块,用于为所述测试关键字匹配所述脚本模板库里的脚本模板,并将用户输入的数据嵌入到匹配的脚本模板中,生成执行脚本。
15.根据权利要求12所述的测试装置,其特征在于,所述发送模块具体包括:
发送子模块,用于将所述执行脚本和所述关键字词典的版本号发送至所述代理服务客户端,使所述代理服务客户端根据所述关键字词典的版本号获取相应的关键字词典;
指示子模块,用于指示由所述代理服务客户端根据所述相应的关键字词典解析并执行所述执行脚本。
16.一种基于动态脚本模板的测试装置,应用于测试工具,其特征在于,所述测试装置包括:
采集模块,用于采集所述测试工具的第一参数和与所述测试工具连接的被测设备的第二参数,并将所述第一参数和所述第二参数发送给测试服务器;
执行模块,用于接收所述测试服务器发送的执行脚本和关键字词典的版本号,并根据所述测试服务端的执行指示,解析并执行所述执行脚本,其中所述执行脚本由所述测试服务器根据测试需求和所述脚本模板生成。
17.根据权利要求16所述的测试装置,其特征在于,所述测试装置还包括:
验证模块,用于接收到所述测试服务端对脚本模板进行验证的验证指示时,对所述脚本模板进行验证并向所述测试服务器反馈验证结果。
18.根据权利要求16所述的测试装置,其特征在于,所述执行模块具体包括:
获取子模块,用于接收所述测试服务端发送的执行脚本和关键字词典的版本号,根据所述关键字词典的版本号获取相应的关键字词典;
解析子模块,用于根据所述相应的关键字词典解析并执行所述执行脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510712840.5A CN106649073A (zh) | 2015-10-28 | 2015-10-28 | 一种基于动态脚本模板的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510712840.5A CN106649073A (zh) | 2015-10-28 | 2015-10-28 | 一种基于动态脚本模板的测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106649073A true CN106649073A (zh) | 2017-05-10 |
Family
ID=58815022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510712840.5A Pending CN106649073A (zh) | 2015-10-28 | 2015-10-28 | 一种基于动态脚本模板的测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649073A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107943635A (zh) * | 2017-11-30 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种存储设备的测试方法、装置及介质 |
CN110019294A (zh) * | 2017-09-19 | 2019-07-16 | 北京国双科技有限公司 | 一种数据库查询脚本的生成方法、数据库查询方法及装置 |
CN111124893A (zh) * | 2019-12-05 | 2020-05-08 | 深圳市任子行科技开发有限公司 | 一种基于Android设备的自动化测试方法和*** |
CN111338935A (zh) * | 2020-02-17 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 用于联调的方法和*** |
CN111352850A (zh) * | 2020-03-31 | 2020-06-30 | 中国建设银行股份有限公司 | 基于非功能测试的在线编辑方法及装置 |
CN112463510A (zh) * | 2021-01-25 | 2021-03-09 | 卡斯柯信号(北京)有限公司 | 一种临时限速服务器测试***的部署方法及装置 |
CN113806229A (zh) * | 2021-09-27 | 2021-12-17 | 工银科技有限公司 | 接口变更的测试脚本复用方法、装置、设备、介质及产品 |
CN114721748A (zh) * | 2022-04-11 | 2022-07-08 | 广州宇中网络科技有限公司 | 一种数据查询方法、***、设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515250A (zh) * | 2009-04-09 | 2009-08-26 | 腾讯科技(深圳)有限公司 | 对软件***进行测试的方法和装置 |
US20090234717A1 (en) * | 2002-10-15 | 2009-09-17 | Wiggins Randall T | Targeted information content delivery using a combination of environmental and demographic information |
CN102693183A (zh) * | 2012-05-30 | 2012-09-26 | 瑞斯康达科技发展股份有限公司 | 一种实现软件自动化测试的方法及*** |
US8881040B2 (en) * | 2008-08-28 | 2014-11-04 | Georgetown University | System and method for detecting, collecting, analyzing, and communicating event-related information |
CN104778124A (zh) * | 2015-04-13 | 2015-07-15 | 上海新炬网络信息技术有限公司 | 一种软件应用自动化测试方法 |
-
2015
- 2015-10-28 CN CN201510712840.5A patent/CN106649073A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090234717A1 (en) * | 2002-10-15 | 2009-09-17 | Wiggins Randall T | Targeted information content delivery using a combination of environmental and demographic information |
US8881040B2 (en) * | 2008-08-28 | 2014-11-04 | Georgetown University | System and method for detecting, collecting, analyzing, and communicating event-related information |
CN101515250A (zh) * | 2009-04-09 | 2009-08-26 | 腾讯科技(深圳)有限公司 | 对软件***进行测试的方法和装置 |
CN102693183A (zh) * | 2012-05-30 | 2012-09-26 | 瑞斯康达科技发展股份有限公司 | 一种实现软件自动化测试的方法及*** |
CN104778124A (zh) * | 2015-04-13 | 2015-07-15 | 上海新炬网络信息技术有限公司 | 一种软件应用自动化测试方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019294A (zh) * | 2017-09-19 | 2019-07-16 | 北京国双科技有限公司 | 一种数据库查询脚本的生成方法、数据库查询方法及装置 |
CN107943635A (zh) * | 2017-11-30 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种存储设备的测试方法、装置及介质 |
CN111124893A (zh) * | 2019-12-05 | 2020-05-08 | 深圳市任子行科技开发有限公司 | 一种基于Android设备的自动化测试方法和*** |
CN111124893B (zh) * | 2019-12-05 | 2024-03-29 | 深圳市任子行科技开发有限公司 | 一种基于Android设备的自动化测试方法和*** |
CN111338935A (zh) * | 2020-02-17 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 用于联调的方法和*** |
CN111338935B (zh) * | 2020-02-17 | 2023-02-28 | 支付宝(杭州)信息技术有限公司 | 用于联调的方法和*** |
CN111352850A (zh) * | 2020-03-31 | 2020-06-30 | 中国建设银行股份有限公司 | 基于非功能测试的在线编辑方法及装置 |
CN112463510A (zh) * | 2021-01-25 | 2021-03-09 | 卡斯柯信号(北京)有限公司 | 一种临时限速服务器测试***的部署方法及装置 |
CN113806229A (zh) * | 2021-09-27 | 2021-12-17 | 工银科技有限公司 | 接口变更的测试脚本复用方法、装置、设备、介质及产品 |
CN113806229B (zh) * | 2021-09-27 | 2024-06-11 | 工银科技有限公司 | 接口变更的测试脚本复用方法、装置、设备、介质及产品 |
CN114721748A (zh) * | 2022-04-11 | 2022-07-08 | 广州宇中网络科技有限公司 | 一种数据查询方法、***、设备及可读存储介质 |
CN114721748B (zh) * | 2022-04-11 | 2024-02-27 | 广州宇中网络科技有限公司 | 一种数据查询方法、***、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649073A (zh) | 一种基于动态脚本模板的测试方法及装置 | |
CN107908541B (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN102141962B (zh) | 一种安全性分布式测试框架***及其测试方法 | |
CN104699616B (zh) | 一种应用测试的方法、装置及*** | |
CN106330593B (zh) | 协议检测方法及装置 | |
US20150212920A1 (en) | Software system validity testing | |
CN107315679A (zh) | 一种嵌入式软件自动化确认测试方法及测试*** | |
CN109902017A (zh) | 一种基于RobotFramework测试Dubbo接口的方法及终端 | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
US9558105B2 (en) | Transactional boundaries for virtual model generation | |
CN108920364A (zh) | 软件缺陷定位方法、装置、终端及计算机可读存储介质 | |
CN105204991A (zh) | 一种物联设备测试方法及装置 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN107562623A (zh) | 一种rest api自动化测试方法及*** | |
CN110134582A (zh) | 测试用例的处理及数据处理方法及装置 | |
CN102915303A (zh) | 一种etl测试的方法和装置 | |
CN109344053A (zh) | 接口覆盖测试方法、***、计算机设备和存储介质 | |
CN110532779A (zh) | 一种漏洞检测的方法、装置、终端及存储介质 | |
CN106776346A (zh) | Ccmts设备的测试方法和装置 | |
CN106991045A (zh) | 页面校验方法及装置 | |
CN114816980A (zh) | 一种嵌入式通信***用自动测试装置及方法 | |
CN102707712B (zh) | 电子装备故障诊断方法和*** | |
CN107844411A (zh) | 一种测试方法和相关装置 | |
Cha et al. | Service mesh based distributed tracing system | |
CN112583663B (zh) | 一种基于国产操作***的自动化网络性能测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20170510 |