测试脚本语言

1、测试脚本语言的定义

   测试脚本语言(test scripting language是脚本语言的一种,准确地讲是脚本语言在测试领域地一个分支,是自动化软件测试设计的基础。要理解测试脚本语言就不能不对脚本语言进行一些了解。

   脚本语言(scripting language) 就是在执行时以解释(interpreting) 为主的编程语言,比如常见的perl,python,php,tcl,guile,ruby以及UNIX系统的各种shell都是脚本语言,它的执行效率 比不上编译后再执行的程序,如以C, C++, Java, Pascal等语言编写的程序。

   脚 本语言应用到测试领域就可以称之为测试脚本语言,以上提到的脚本语言都可以作为测试脚本语言来使用,特别是tcl语言更是被业界称为事实上的测试脚本语言 标准。随着软件测试的发展,各种测试工具也相继推出,为了保护知识产权或者说是保护商业秘密,这些商业化的软件大多使用自己的测试脚本语言,比如MI的 TSL语言等。

   测试脚本技术大致可以分为以下几类:

l         线性脚本:是录制手工执行的测试实力得到的脚本。这种脚本包括所有的击键、功能键、箭头、控制测试软件的控制键及输入数据的数字键。

l         结构化脚本:类似于结构化程序设计,结构化脚本中含有控制脚本设计的指令。这些指令或为控制结构或为调用结构。

l         共享脚本:脚本可能被多个测试事例使用。

l         数据驱动脚本技术:将测试输入存储在独立的文件中,而不是存储在脚本中。

l         关键字驱动脚本:较复杂的数据驱动技术的逻辑扩展。

1.2、脚本语言的发展历史

 这里我们以tcl语言的发展来回顾一下脚本语言的发展历史,商业化的测试脚本语言一般就是随着商业测试软件的发展来发展的,在此不作详细介绍。

  Tcl/Tk 的发明人 John Ousterhout 教授在八十年代初是伯克利大学的教授。在其教学过程中,他发现在集成电路 CAD 设计中,很多时间是花在编程建立测试环境上。并且,环境一旦发生了变化,就要重新修改代码以适应新环境。这种费力而又低效的方法,迫使 Ousterhout 教授力图寻找一种新的编程语言,它即要有好的代码可重用性,又要简单易学,这样就促成了 Tcl (Tool Command Language) 语言的产生。

  Tcl 最初的构想是希望把编程按照基于组件的方法 (component approach),即与其为单个的应用程序编写成百上千行的程序代码,不如寻找一种方法将程序分割成一个个小的, 具备一定完整功能的,可重复使用的组件。这些小的组件小到可以基本满足一些独立的应用程序的需求,其它部分可在这些小的组件功能基础上生成。不同的组件有不同的功能,用于不同的目的,并可为其它的应用程序所利用。当然, 这种语言还要有良好的扩展性, 以便用户为其增添新的功能模块。最后,需要用一种强的,灵活的胶水把这些组件合在一起, 使各个组件之间可互相通信,协同工作。程序设计有如拼图游戏一样,这种设计思想与后来的 Java 不谋而合。终于在 1988 年的春天, 这种强大灵活的胶水 - Tcl 语言被发明出来了。

  到了80年代图形用户界面逐渐流行的时候,Ousterhout 教授要想使基于组件的设计能够实现,需要有一个强大的有弹性的控件整合工具。这些想法在一开始考虑做Tcl的时候就产生了,Ousterhout 教授觉得像Tcl这样的嵌入式命令语言作为脚本语言对整合部件会很有用。Ousterhout 教授决定创建一些作为Tcl扩展的GUI部件并且使用Tcl来把这些部件整合到图形用户界面中,借此实践一下这个理论。这个扩展就成为了Tk。

  Tcl 在创始初期都是以开放源码的方式发布的,到了90年代初,Tcl语言得到了广泛的发展,并得到了大型厂商的支持,如SUN公司,并逐步形成了tcl社区, 这样就逐渐有了商业赢利产品的开发,同时Tcl将会继续开发开放源代码的产品,至此TCL语言进入了两种不同的发展轨道,同时也促进了tcl语言的发展和 应用。

1.3、脚本语言的特点

脚本语言的特点,通过下面tcl/tk与C++和java的比较就可见一斑。

C++,Tcl/Tk 和 Java 的性能比较表

 

C++

Tcl/Tk

Java

运行程序速度

C++ 可比

调试难易程度

复杂 每次修改完代码需重新编译

简单 修改完代码可直接运行

比较简单 修改完代码需重新编译成 ByteCode, 而且编译速度很慢

程序代码复杂程度

复杂

简明

比较简单

系统资源占用情况

200MB HD 32MB Memory

3MB HD 4MB Memory

20MB HD 4MB Memory

代码可维护性

一般

较好

可移植性

较好

非常好

学习难度

复杂,难掌握

简单易学

有一定难度,需要有面向对象程序设计的概念

1.4、商业测试脚本语言简介

  商业测试软件

1.5、脚本语言的基本工作原理

脚本语言的基本工作原理可以用下面的图示来说明

脚本解释器是脚本语言工作的核心,所有具体指令或是函数的执行都由它来完成,扩展项实现了与其它语言的接口,使脚本语言运行C/C++,java等函数成为可能;同时在用户具体应用中可以定义命令和函数,应用更加灵活;作为解释器它也提供了基本的内建指令或是函数,不同厂商、版本的解释器提供的内建命令(函数)可能不同。

你可能感兴趣的:(java,脚本,测试,语言,Tcl,scripting)