我在公司内部的测试会议上,分享过一个主题:To be Professional!在临发表前我又增加了一个副标题:做一个海盗派Tester。这个想法来自于James Bach的一本书《Secrets of A Buccaneer - Scholar》,中文译本书名为《学习要像加勒比海盗》。

    James Bach是一位测试专家,他高中辍学,后来加入APPLE,几年后成为测试经理,被誉为 APPLE Genius;他是ET(探索测试)的创始人之一,《Lessons Learned In Software Testing》的作者之一;他还是微软反托拉斯案中的专家证人,为微软的垄断判决提供关键证据。在书中他总结到,他的成功都来自于永不停歇的“自我教育”,做一个“海盗派学者”:为了发现秘密,掠夺一切知识。

    在读James的这本书时,我发觉测试是一个最需要“自我教育”的职业,在Google上搜索一下,会得到这样的结果:

            “计算机工程专业本科”——搜索结果:187,000

            “软件工程专业本科”——搜索结果:392,000

            “软件测试专业本科”——搜索结果:9 (还是八竿子打不着的内容)

    但是当搜索“软件测试”时,你会得到5,150,000个结果。 

    我相信绝大多数测试人在学校中都没有接受过正规的“测试”教育,我自己就读于“应用电子技术”专业,毕业后做硬件开发,进入现在的公司之前还不知道有“测试”这个职业。我们在工作中所使用的知识和方法,大部分都来自“幼稚地进入测试职业”之后。

    也拿加勒比海盗(注意,不是索马里海盗)和测试人做一个比较:

 - 海盗满怀解锁重大秘密、奇迹、控制权的希望,而持续学习!

 - 测试要揭示看似“华丽丽”的产品的真相,解锁隐藏在最深处的Bug!

 - 海盗也需要身份,但只有他的工作质量得到证明,才能获得身份!

 - 测试没有学士、没有硕士、没有博士、没有圣斗士,测试要赢得别人的尊重,也只有靠你的工作质量!

     海盗面对巨浪、暴风、怪兽、官兵的威胁,需要广泛的知识,测试也是同样,面临复杂的应用场景、模糊的需求、低质量的代码等等现实,James在APPLE的主管Chris告诉他:“不要只读软件方面的书,尝试从别的学科找到解决我们问题的方法”。Cem Kaner(《Lessons learned In software testing》的另一作者,测试顾问,软件工程教授,实验心理学Ph.D)在2008年做过一个演讲:软件测试是社会科学(Software Testing as a Social Science),其中提到:

    理想的测试应该是:

- 开发发现并修改大多数他们自己“创造”的缺陷

- 测试找出隐藏在开发“盲区”中的缺陷

    因此,为了更有效地工作,测试的理论基础应该是“人在什么时候、为什么产生错误”,这不是一项工程技术,而是一门涵盖了软件、IT、心理学、认知学的综合学科。

    持续的“自我教育”是测试走向真正职业化的基石,与大家分享James的最重要秘密:

 - 自我教育的习惯

 - 热衷于质疑传统思想

 - 宽广的研究范围

 - 野心

    希望每个测试人都能成为一名海盗派Tester,掠夺一切我们所需的知识,用高质量的工作证明自己!

    School is temporary,Education is not. ——James Bach

推荐阅读:

- 学习要像加勒比海盗,中国青年出版社,ISBN: 9787500697640 

- 软件测试中的经验与教训

posted on 2013-02-21 23:46  Paul.Z  阅读(1327)  评论(0编辑  收藏  举报