TCL脚本-序言、工具安装

  • 格式:pdf
  • 大小:1.11 MB
  • 文档页数:23

下载文档原格式

  / 23
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TCL、Python和软件测试自动化

Credits About Author

前言

当前,作为软件质量保证的一个有效过程,软件测试技术引起了越来越多人和公司的注意,并且获得了长足的进展。在这个领域里面各种思想、方法和工具层出不穷。并且与软件测试相关的咨询、测试工具也形成了一个较大的产业。在业界就有不少的公司提供了许许多多的软件测试工具,这些工具都提供了脚本,用户可以编写脚本来使测试工作自动化,它们的出现一定程度上提高了软件测试的效率。但是很多时候,这些工具并不能够完全满足我们的要求,更多的时候,我们需要开发自己的测试工具,编写自己的自动化测试脚本,来提高测试效率,特别是在针对嵌入式开发的领域。

脚本语言,是不需要编译就能够解释执行的语言。具有语言层次高,开发迅速,易于扩充,方便移植等特点,正是因为这些特点,在软件测试领域里面获得了广泛的应用。基本上现在商用工具都支持某种脚本语言:

表格0-1商业工具支持的脚本

工具名称厂家支持脚本

QARun

WinRunner

Robot

SmartBits

自己实现测试工具,编写自动化脚本是一项非常具有挑战性的,但是非常有意义的工作。选择哪些脚本作为我们测试工具的脚本语言,是需要仔细考虑的事情。而TCL脚本作为软件测试领域里面最经典的语言,在业界已经获得了广泛的应用。并且TCL和其他语言相比,有如下几个重要特点:

1)简单易学。TCL脚本基于命令和替换的语法结构,对于有C/C++编程经验或者C Shell 编

程经验的而言,非常容易掌握。

2)功能强大,极易扩充。使用TCL脚本可以完成很多的事情,包括网络Socket编程、GUI

图形界面程序开发、数据库应用程序、实现简单的WebServer和FtpServer、实现COM自

动化服务器等。我们只需要极少量的TCL代码就能够完成需要数十倍C代码才能完成的功

能。并且该语言的扩展性非常好,你甚至可以扩充出你自己的语言控制结构!比如实现你

自己的switch结构。

3)面向对象的完美支持。TCL本身不支持面向对象,但是可以通过程序包的形式来扩展,并

且这些扩展包还非常多。不过最好用的就是ITcl。这个扩展包在TCL脚本上实现了对面向

对象编程的完美支持。

4)可以非常方便的嵌入其他应用程序。我们可以非常方便的将TCL解释器嵌入到我们自己的

应用程序中,使我们的程序具有通过脚本来被用户控制的功能。

5)可移植性良好。TCL发源于Unix,但是现在几乎在所有的操作系统上都实现了这个脚本解

释器,包括Windows和MAC。所以你写的TCL脚本基本上不用修改就能够在这些环境上

运行。

6)网上资源非常丰富。到这个地方去看看:/。这里是TCL的大本营,里面的

相关资源丰富的让人窒息。几乎你所想要的扩展包和程序库,都能够在这里找到。更重要

的是,这些都是免费的。

在测试领域应用广泛。大名鼎鼎的风河公司(WindRiver)的实时操作系统VxWorks的开发环境Tornado中就大量使用了TCL脚本;TeleLogic公司的测试工具Logiscope中也使用了TCL脚本;数据通信测试仪器SmartBits的控制端,提供了专门的脚本库,方便用户来控制仪器,进行自动化测试工作。并且业界的很多通信设备制造商都使用TCL作为测试语言。

TCL是一门比较古老的脚本语言。与之相比,Python则是上个世纪90年代出现并且发展起来的脚本语言。Python的语言风格和TCL差异极大,并且和TCL没有什么太大的关系。与TCL相比,其功能更加强大:

1)对多线程的支持。虽然TCL也能够支持多线程,但是实现起来比较复杂;而Python则内

建了对多线程的支持。

2)运行速度更快。现在已经有了使用Python来编写游戏程序的扩展包!大名鼎鼎的BT下载

软件就是采用Python写成。

3)支持JVM。在Python基础之上发展起来的Jyphon,能够编译成JA V A虚拟机上的中间代码,

给Java的爱好者另外一个不错的选择!

在测试领域里面,Python属于后来者,但是也是非常适合做自动化测试的脚本语言。所以本书也会介绍Python。

关于本书

本书重点介绍TCL、Python的语法,强调编程注意事项。至于语言的扩展包、函数库,本书不作详细介绍,只是介绍哪些扩展包能够完成哪些功能,能够在什么地方找到这些扩展包。因为在我看来,掌握语言的核心是最重要的,至于扩展包、模块等功能,在网络上都能够找到详细的帮助文档。

同时,本书还会详细的论述软件测试自动化思路,方法,以及如何采用TCL或者Python来编写自动化测试脚本。

本书首先介绍你所需要的工具,然后逐步深入介绍语言,以及编写高效简洁易于维护的脚本的技巧。希望本书能够成为一本TCL和Python脚本的入门学习宝典和进一步提高的帮手。但是不希望它成为你编写程序时的参考手册,事实上,TCL、Python的联机帮助手册更加适合担当这一角色。

本书的重点在于TCL。对于Python,本书只介绍语言基础以及如何使用Python来进行图形界面的程序设计,其他的模块我们制作简单的介绍。

有人把MSDN中的C++或者MFC章节翻译成中文,然后成书出版。这样的书我从来不买,因为在使用Visual C++的时候,我会及时直接从MSDN中找到我所需要的任何信息。但是像《Inside the C++ Object Model》以及《Effective C++》这样的书籍,我却非常喜欢。我给本书的定位就是《Effective TCL》以及脚本语言在软件测试自动化中的实践!

你需要做的

如果你还不能够上网,那么赶快想想办法!作为两种开放源代码的脚本语言,如果没有互联网,是不可能发展到今天如此规模的。同样,作为用户如果不能上网,你会觉得这两门语言学起来是如此的艰难。

如果你有C/C++程序编写经验,那么TCL/Python入门对你而言轻而易举,而且你会发现脚本语