本文由小卢鱼刺贡献
你了解哪些编程语言doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
首先,何谓"测试脚本语言"?准确的说,"测试脚本语言"这个概念并没有确定的范围,一般 是用来指在测试过程中使用到的脚本语言。 那么, 测试过程中使用的脚本语言到底包括哪些 呢?
测试过程中对脚本语言的需求主要来自两个方面: 一方面是测试工具本身使用的脚本语言, 另一方面是需要使用某种脚本语言自行编写测试工具,或是实现某个测试任务。
对前者来说,使用何种脚本语言主要取决于工具本身,例如,Robot 工具使用的脚本语言类 似于 VBScript 和 JavaScript,LoadRunner 使用的脚本语言是类 C 和类 JavaScript 的, TestComplete 工具使用的脚本语言是类似 Delphi 的脚本语言。对后者来说,脚本语言的范 围就更大了--几乎所有的脚本语言都可以用来实现某种特定的测试任务, 因此广义上来说 , 他们都可以被归为"测试脚本语言"。
测试工具使用的脚本语言一般都被限定在特殊的工具中, 对脚本语言的掌握体现为对工具掌 握的一部分,而且这部分脚本语言的文档很容易获取,在此我们不详细描述。本文中我们重 点关注上文描述的后者。
测试中常用的脚本语言包括 Perl,Unix/Linux Shell,Python,Ruby 等。本文无意评价各 种语言的优劣(
实际上, 很难用短短的几句话描述这些脚本之间的优劣, 无论使用哪种语言, 只要你真正熟悉它,就可以用它完成所有你想要完成的工作),而仅仅是给出一些本人在使 用这些脚本语言辅助进行测试时的一些思路和想法。
1, 如何选择最适合你的脚本语言(注意,不是"最好的",而是"最适合你的") 虽说脚本语言很难对其评价为"好"或者"不好", 但真正要选择一种来使用的话, 还是可以 到一款最"适合"你的。一般来说,决定选择何种脚本语言可以从以下几个方面考虑:
脚本语言是否与你已经熟悉的某种语言比较接近? 如果你已经习惯用一种面向对象的语言(例如 Java),建议你可以考虑选择完全面向对象的 脚本语言 Python 或者 Ruby; 脚本语言是否提供对你所在平台的支持? 如果你的平台是 Unix/Linux,除了 Windows 上的脚本外,其他的你都可以选择;如果你的平 台是 Windows,基本上除了 Unix Shell 外,你也都可以选择; 脚本语言是否提供了满足你的测试要求的特性? 一般的脚本语言都会提供很多扩展库来扩充自己,例如 Perl 的 CPAN 扩展,Ruby 的 Watir 扩展等等。 如果某种脚本提供了一个非常适合你的测试要求的扩展, 不妨首先考虑一下使用 这种脚本语言(我就是因为使用 Watir 才转而使用 Ruby
脚本的)。相比较而言,Windows 上
的 WSH 和 Unix 上的 Shell 就较少提供扩展。 脚本语言是否有较多的支持? Perl 作为历史最悠久的脚
本语言之一,拥有最大的用户体和最完善和最广泛的支持, Python 作为后起之秀在国内也有许多的追随者,相比较而言,Ruby 的支持就要逊一些。 不过如果和我一样只是为使用 Watir 而使用 Ruby,这个也就不是很大的问题了。 2, 学习脚本语言的方法 脚本语言本质上也是一门语言,学习他们的方法与学习其他的编程语言并没有本质的区别。 "多实践"永远是学习它们的不二法门。 我的经验是在实际工作中学习--先对其建立基本的概 念和认识,然后在实际的工作中去应用,遇到不懂的再去文档补充学习。
3, 各脚本语言参考 Perl
Perl 中国站 www.perl/forum/
Python
Python 中文站 python/
啄木鸟 Python 开发社区 /
Ruby Ruby 主页 /en/
Ruby 中文手册 /doc.html
Watir 项目 /
脚本语言简介
辜彬 2004-9-9 1.1、测试脚本语言的定义 测试脚本语言(test scripting language)是脚本语言的一种,准确地讲是脚本语言在测试 领域地一个分支, 是自动化软件测试设计的基础。 要理解测试脚本语言就不能不对脚本语言进行 一些了解。 脚本语言(scripting language)就是在执行时以解释(interpreting) 为主的编程语言,比 如常见的 perl,python,php,tcl,guile,ruby 以及 UNIX 系统的各种 shell 都是脚本语言, 它的执 行效率比不上编译后再执行的程序,如以 C, C++, Java, Pascal 等语言编写的程序。 脚本语言应用到测试领域就可以称之为测试脚本语言,以上提到的脚本语言都可以作为测试 脚本语言来使用, 特别是 tcl 语言更是被业界称为事实上的测试脚本语言标准。 随着软件测试的 发展,各种测试工具也相继推出,为了保护知识产权或者说是保护商业秘密,这些商业化的软件 大多使用自己的测试脚本语言,比如 MI 的 TSL 语言等。 测试脚本技术大致可以分为以下几类: 线性脚本:是录制手工执行的测试实力得到的脚本。这 种脚本包括所有的击键、功能键、箭头、控制测试软件 的控制键及输入数据的数字键。 结构化脚本:类似于结构化程序设计,结构化脚本中含 有控制脚本设计的指令。这些指令或为控制结构或为调 用结构。 共享脚本:脚本可能被多个测试事例使用。 数据驱动脚本技术:将测试输入存储在独立的文件中, 而不是存储在脚本中。 关键字驱动脚本:较复杂的数据驱动技术的逻辑扩展。 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、 1.3、脚本语言的特点 脚本语言的特点,通过下面 tcl/tk 与 C++和 java 的比较就可见一斑。 C++, C++,Tcl/Tk 和 Java 的性能比 较表 C++ 运行程序速度 快 复杂 调试难易程度 新编译 程序代码复杂程度 系统资源占用情况 代码可维护性 可移植性 学习难度 复杂 200MB HD 32MB Memory 好 较好
复杂,难掌握 Tcl/Tk 与 C++ 可比 简单 行 简明 3MB HD 4MB Memory 一般 非常好 简单易学 Java 慢 比较简单 修改完代码需重新编 译成 ByteCode, 而 且编译速度很慢 比较简单 20MB HD 4MB Memory 较好 好 有一定难度,需要有 面向对象程序设计的 概念
每次修改完代码需重 修改完代码可直接运
1.4、商业测试脚本语言简介 商业测试软件 1.5、脚本语言的基本工作原理 脚本语言的基本工作原理可以用下面的图示来说明
脚本解释器是脚本语言工作的核心, 所有具体指令或是函数的执行都由它来完成, 扩展项实 现了与其
它语言的接口,使脚本语言运行 C/C++,java 等函数成为可能;同时在用户具体应用中 可以定义命令和函数,应用更加灵活;作为解释器它也提供了基本的内建指令或是函数,不同厂 商、版本的解释器提供的内建命令(函数)可能不同。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论