实用性测试(Pragmatistic Testing)

Seeing is not believing!Testing is believing!做个实用主义测试者!

陈能技ID:Testing_is_believing
200046次访问,排名347好友94人,关注者109
6年计算机软件测试和质量改进工作经验,曾任程序员、测试工程师、技术支持工程师、QA、内审员等职务,具有丰富的测试团队组建、自动化测试管理经验。
精通自动化测试工具QTP、TestComplete等。目前专注于软件自动化测试及管理领域,倡导实用主义测试理念,坚信“Seeing is NOT believing,Testing is believing!”。
Testing_is_believing的文章
原创 222 篇
翻译 89 篇
转载 8 篇
评论 237 篇
陈能技的公告
最近评论
Testing_is_believing:这方面我也没有亲自去尝试,所以不能提供很多意见,尤其是成本方面。但是我感觉测试设计的重点在于理解业务模型,而通过建模或者基于已有的UML设计来转换成测试用例的过程本身就是一个很好的理解业务模型的过程。
siusinxy:意想不到的事,但对员工来说是另一翻考验,生活是现实的。考验过了,便会更好地成长!!
Stanley_Xu:谢谢回复。那如果基于MDA方式不应该局限于通过代码方向的话,那你的意思是不是指:基于手动UML建模呢?我在想2个问题:
1. 建模成本
2. 建模生成的代码和实际的测试脚本距离有多远 (比如要测试gmail的功能,用基于MDA的方式,你认为可行么?)
feiyingliao:请问qtp9.5支持c++编程的吗?我在录制时可以,但是回放时不行。请问用什么软件测试c++编程好些?有既可以测试c++程序,又可以与qc9相结合的吗?
feiyingliao:有没有中文版的啊?
文章分类
收藏
    相册
    测试的人和事
    童画
    我的那些奖
    测试网站
    iTestWare专业软件测试资讯网
    开源测试
    朋友的博客
    Jackei的博客
    小蚂蚁的博客
    阳光的博客
    我的博客
    我的51testing博客
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    翻译 我们需要真正的脚本语言收藏

    新一篇: TestComplete的脚本语言 | 旧一篇: 什么是实用性测试?

     
    我们需要真正的脚本语言
    陈能技
    2007-9-8
     
    原文:Hey Vendors, Give Us Real Scripting Languages - Bret Pettichord
     
    大部分测试工具绑定了工具生产商指定的特定脚本语言,我们叫它厂商语言。这些语言很难学,实现得很弱,最重要的是,它们不鼓励测试员与开发人员之间的合作。测试员应该得到全特性的、标准的测试开发语言。为什么呢?
     
    现在市面上的大部分测试工具,我们在使用时都要使用工具的脚本语言。令我最烦恼的是,为了使用他们的工具,我必须学习指定的脚本语言。大部分工具有录制功能,为你产生一些脚本,但是不可避免地,你要对脚本进行修改,自己编写脚本。这样的话,你就必须要学习额外的语言-厂商语言-这个语言只是在这个特定的工具上能使用!
     
    破坏合作
    因为厂商语言是特定的语言,开发人员对其知之甚少并且也不愿意学习它。我经常鼓励测试员和开发人员在自动化项目中一起合作。这是高效的合作方式。但是厂商语言挡在中间。它们把测试员和开发人员分开,孤立在指定的工具语言上。减少了共享、合作和改进的机会。
     
    要把测试员和开发人员整合在测试过程中,我们已经有很多困难了。现在又多了个厂商语言的学习问题。你如果叫一个开发人员学习VB?没问题,因为他们毕竟可以在将来有使用得上的机会。你如果叫一个开发人员学习一个指定的语言,这个语言只能在这个工具上使用?你做梦吧!你已经很难让开发人员把注意力放在测试上了,现在又增加了一个困难。
     
    为什么要把钱花在一个会破坏测试员与开发人员之间的合作关系的工具上?
     
    方言
    有很多这种厂商脚本的方言。有些是类C语言。意味着什么?意味着写出来的代码想C语言的代码,但是没有指针,所以你不能使用在C课程和书本上学习到的任何复杂的数据结构。C作为脚本语言来说是很差的。它是编译的,但是测试脚本语言是解释执行的。这是为什么类C语言不支持指针。
     
    其它的有些使用类VB语言的方言。如果你了解VB,则代码会看起来很眼熟,但是你不能使用VB的标准库。而且,你在VB中学到的东西未必被应用在厂商脚本语言上。
     
    也有一些工具使用类似面向对象的厂商脚本语言。面向对象是好的,但是你会发现对一个类的修改不会继承到它的子类。什么?因为厂商脚本语言认为这样更方便测试的管理安排。这样是否真的能帮助测试员还有待讨论,但是测试员真正需要的不是为测试特定设计的语言。他们应该得到标准的语言实现,这样才会更好地帮助他们的测试工作。
     
    一些更新的测试工具现在开始使用真正的脚本语言,像JavaScript或VB。我希望这种趋势能继续下去。而且,如果一些旧的工具能重新设计以支持标准语言则会更好。标准语言有正式的规范,会帮助你的测试组更好地用在测试上。
     
    重复地发明轮子
    最近有些文章在描述怎样使用厂商脚本添加堆栈和队列,这其实是厂商脚本的落后体现。厂商语言使自动化测试人员浪费很多时间和精力在重新发明轮子。堆栈和队列在标准语言上已经得到很好的实现。
     
    我自己也有同感。我必须为不同的厂商语言创建库来支持sting操作、日期计算、计算排列组合等。有些厂商语言也有这样的库,但是标准语言的库会更大、更全面,也更加健壮。
     
    回到以前
    很多非测试工具也嵌入了厂商语言。使其更难使用。John Ousterhout发明了TCLTool Control Language),使得跟C的集成更容易,并发布到公共领域。TCL现在被用在一些公共领域的测试工具上。
     
    Ousterhout区分了系统编程语言(像Pascal、C、C++、Java等)和脚本语言(像Perl、Python、Rexx、TCL、VB、Unix shells等)。系统编程语言在从头开始构建方面和性能方面会更好点。而脚本语言在重用代码和快速开发方面有优势,是理想的自动化测试语言。
     
    有些测试工具的厂商语言是在OusterhoutTCL出现之前,当时Perl也还不成熟。但是那是那时候,现在则有了很多选择。
     
    让厂商脚本语言退休
    因为有了很多的选择,所以厂商脚本语言应该退休了。如果出现异常,没有什么第三方的书可以使用,只能参考和依赖厂商提供的书或帮助文档,这些文档未必会坦白告诉你厂商脚本语言的缺点。语言的课程也很难随工具附上,很昂贵,可能还要你亲自去学习。
     
    测试自动化会很难,如果我们需要熟悉不同工具的不同语言的话。开发人员不会忍受有这么多限制和缺点的编程语言,我们也不应该忍受。
     
    进一步学习请参考:
    Scripting: Higher Level Programming for the 21st Century, John K. Ousterhout, IEEE Computer, March 1998.
    Breaking the Language Barrier, Christopher Meisenzahl and Ferry Firmansjah, STQE magazine, Nov 2000.
     
     
     

    发表于 @ 2007年09月08日 14:16:00|评论(loading...)|编辑

    新一篇: TestComplete的脚本语言 | 旧一篇: 什么是实用性测试?

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 陈能技