测试执行器制造技术

技术编号:2859199 阅读:228 留言:0更新日期:2012-04-11 18:40
一种测试执行器,包括:测试监管模块,用于测试过程的互动及通讯;若干解释器模块,解释执行自动测试用例中的测试代码;其中,测试监管模块与解释器模块分离设置并通过接口模块进行交互,且解释器模块通过测试监管模块与测试执行器外部进行交互。本发明专利技术测试执行器的测试监管功能和解释器分离开来,抽象出测试执行器的框架结构,通过接口模块与测试监管模块交互,进而通过通讯模块实现与执行器外部交互。由于测试监管功能是测试执行器相对不变的部分,而解释器模块是随测试需要所采用的测试代码语言变化的部分,它们的分离使得测试监管模块的重用性提高。

【技术实现步骤摘要】

本专利技术涉及软件测试,尤指用于执行自动测试用例的测试执行器
技术介绍
自动测试用例的执行是自动测试中一个关键环节,它的实现目前主要有两种方式一是测试用例以解释型语言编写,由执行器解释执行;二是测试用例以编译型语言编写,其执行器即为所有测试用例编译后的可运行程序,其执行过程便是程序的运行过程。前者以简单、灵活和可控而得到大量的应用,本专利技术是针对后者的执行方式。执行器的主要目的是解释执行测试代码(具体是由相应的解释器负责),但是,由于测试的互动需要,它还必须提供测试通讯、监视、控制、日志、告警、过程管理、调试及其跟踪等通用的测试监管功能。实现测试代码的编程语言是多种多样的,如tcl、python、perl、javascript等,因此执行器的所需要的解释器是不一样的,而且如果一次测试中测试代码包含多种语言,执行器就同时需要多个解释器。解释器一般随其对应的编程语言提供的,而执行器由测试工具的开发者设计和实现。一般而言,不同执行器的测试监管功能大体是一致的,其开发工作量受其所能提供的功能所决定。能够完全满足自动测试需要的测试监管模块的工作量是非常大的,减少这一部分的开发工作量对执行器的开发有着重大的影响。此外,实际测试工作中不仅需要采用不同的测试编程语言,而且在比较大的系统测试中还可能需要同时执行不同语言编写的测试代码,因而存在执行器对不同解释器的支持也是非常重要的。现有的执行器都是针对不同的解释器而设计的,大部分执行器都是一个解释器加部分监管代码混合而成。对不同的解释器,需要设计不同的执行器。目前几乎所有的执行器方案是围绕着解释器而设计的,也就是说,一个解释器决定了一个执行器的设计,甚至在很多设计中两者是等同的。其构造方式类似于执行器=解释器+测试监管模块(完全实现或部分实现的)。在这种设计中,解释器和测试监管模块的代码是相互混杂的,两者一般难以分离。上述方案有两个致命的缺点1.执行器的重用性差,在需要开发多个执行器时效率低下执行器的设计中,实现一个功能完全、能够满足测试的实际需求的测试监管模块是难度很高、工作量巨大的,它甚至要远远超过一个解释器的工作量。而不同的测试执行器对测试监管模块的需求基本上是一致的,因此完全可以设计为可重用的模块。而该方案因为没有将解释器和测试监管模块分离而使得测试监管模块的重用变得非常困难。这样在针对不同的测试编程语言开发执行器时开发效率会显得十分低下,特别是当这些执行器是由不同的开发者承担时。2.执行器的可扩展性差由于执行器的解释器模块和测试监管模块之间缺乏有效的分离,更没有规范的接口,因而它对第三方的解释器的可支持性差,更无法支持多个解释器。这样在新的测试编程语言被引入时,必须为该语言对应的解释器开发新执行器,而其大部分工作都属于重复性开发。这种重复性开发的开发不仅浪费了开发人员的时间和精力,而且由于执行器需要相当长的时间才能进入稳定应用,这样新语言的应用时间也被拉长了,它导致了测试效率的低下和时间损失并最终会损害企业的市场成果。
技术实现思路
本专利技术解决的问题是提供一种具有重用性和扩展性的测试执行器。为解决上述问题,本专利技术测试执行器包括测试监管模块,用于测试过程的互动及通讯;若干解释器模块,解释执行自动测试用例中的测试代码;其中,测试监管模块与解释器模块分离设置并通过接口模块进行交互,且解释器模块通过测试监管模块与测试执行器外部进行交互。所述测试监管模块设置有与测试执行器外部交互的通讯模块。所述接口模块包括以下通道创建连接通道,用于建立测试监管模块与目标解释器模块间通讯的通道;输入/输出通道,用于测试监管模块向解释器模块输入自动测试用例,而解释器模块输出自动测试用例的测试结果信息;解释器通信帧通道,用于将解释器模块输入的通信帧转发到目的地;转发通信帧通道,用于监管模块将外部信息转发给目标解释器模块;关闭连接通道,测试监管模块向目标解释器模块请求关闭与测试监管模块间通讯的通道。所述创建连接通道设置有用户标识和通道标识,其中用户标识用来标识通道的创建者和所有者,而通道标识是测试监管模块与目标解释器模块间通讯的通道的标志。所述解释器通信帧通道中的通信帧包括用于回送测试过程信息和测试结果信息的反馈通信帧和向被测系统发送测试过程中控制信息的控制通信帧。所述反馈通信帧的目的地址为用户标识,源地址为通道标识;而控制通信帧的目的地址为被测系统与测试工具连接的测试端口的地址,源地址为通道标识。所述转发通信帧通道传送的通信帧的目的地址是通道标识,而源地址为被测系统与测试工具连接的测试端口的地址。所述测试监管模块还包括如下模块测试前处理模块,用于分析记录测试任务及分解包括有若干自动测试用例的测试脚本,并将分解得到的自动测试用例通过接口模块发送给目标解释器模块;测试过程管理模块,用于测试过程的相关信息管理,通过接口模块与解释器模块交互;测试后处理模块,用于记录测试结果及存储测试结果信息,通过接口模块与解释器模块交互。与现有技术相比,本专利技术具有以下优点本专利技术测试执行器的测试监管功能和解释器分离开来,抽象出测试执行器的框架结构,通过接口模块与测试监管模块交互,进而通过通讯模块实现与执行器外部交互。由于测试监管功能是测试执行器相对不变的部分,而解释器模块是随测试需要所采用的测试代码语言变化的部分,它们的分离使得测试监管模块的重用性提高。与此同时,测试监管模块与解释器接口模块使得新的解释器模块很容易与老的测试执行器的测试监管模块协同工作,从而使测试执行器可以支持不同的解释器模块。这不仅重用了测试执行器的框架,而且是测试执行器可以扩展支持不同的解释器。重用性和扩展性的提高最终减少了因为测试代码语言的不同而带来的测试执行器的开发工作量,并且大大缩短了自动测试工具适用时间,对自动测试工具的开发和应用效率有着改善。附图说明图1是本专利技术测试执行器的整体框图。图2是图1的进一步细化框图。图3是本专利技术测试执行器的应用流程图。图4是图3的进一步细化框图。具体实施例方式本专利技术测试执行器通过将测试监管模块与解释器模块分离开来以使不同的测试执行器可以共享该测试监管模块。解释器模块只跟测试监管模块通讯而不能跟外部有直接联系,解释器模块对测试执行器外部的通讯(如解释器模块与被测系统的通讯)由测试监管模块中转,这样通过测试监管模块中的接口模块,测试执行器能够支持多种不同解释器模块,以最大限度地重用测试执行器通用部分的设计并能够同时支持多语言的测试代码。请参照图1所示,本专利技术测试执行器1用来测试被测系统2,包括测试监管模块10,用于测试过程的互动及通讯;若干解释器模块11,解释执行自动测试用例中的测试代码;测试监管模块10与解释器模块11分离设置接口模块13进行交互的,且解释器模块11通过测试监管模块10与测试执行器1外部进行交互。测试脚本通过控制台3的输入并发送至测试监控模块10中。控制台3是测试人员的操作界面,是测试执行器1的客户端程序,既可以是图形界面也可以是文本命令行界面。测试脚本又称为测试代码文本,一个测试脚本可以含有一个或多个自动测试用例。自动测试用例执行结果是用格式文本表示的测试脚本执行的测试结果信息,其中含有所对应的自动测试用例标识,因其具体格式的表示不属于本专利技术的内容,这里不再详述。本实施例中,接口模块本文档来自技高网
...

【技术保护点】
一种测试执行器,其特征在于,包括:测试监管模块,用于测试过程的互动及通讯;若干解释器模块,解释执行自动测试用例中的测试代码;其中,测试监管模块与解释器模块分离设置并通过接口模块进行交互,且解释器模块通过测试监管模块与 测试执行器外部进行交互。

【技术特征摘要】
1.一种测试执行器,其特征在于,包括测试监管模块,用于测试过程的互动及通讯;若干解释器模块,解释执行自动测试用例中的测试代码;其中,测试监管模块与解释器模块分离设置并通过接口模块进行交互,且解释器模块通过测试监管模块与测试执行器外部进行交互。2.如权利要求1所述的测试执行器,其特征在于,测试监管模块设置有与测试执行器外部交互的通讯模块。3.如权利要求1所述的测试执行器,其特征在于,接口模块包括以下通道创建连接通道,用于建立测试监管模块与目标解释器模块间通讯的通道;输入/输出通道,用于测试监管模块向解释器模块输入自动测试用例,而解释器模块输出自动测试用例的测试结果信息;解释器通信帧通道,用于将解释器模块输入的通信帧转发到目的地;转发通信帧通道,用于监管模块将外部信息转发给目标解释器模块;关闭连接通道,测试监管模块向目标解释器模块请求关闭与测试监管模块间通讯的通道。4.如权利要求3所述的测试执行器,其特征在于,创建连接通道设置有用户标识和通道标识,其中用户标识用来标识通道的创建者和所有者,而通道标识...

【专利技术属性】
技术研发人员:李泓
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1