重温经典:本文是前 Google 测试总监 James A. Whittaker 的经典分享,成文已经快 10 年了,但经典却总是常读常新,推荐给各位测试行业的从业人员。:)
你是如何开始做测试工作的?
1989 年,我在田纳西大学读研究生的时候,完成了从软件开发人员到软件测试人员的转型。而这一转型并非出于我自己的选择。我命运的改变发生在一个早晨,我的教授质问我为什么缺席那么多开发会议。我解释说因为会议被安排在星期六早上,很不方便。
而怍为一个生平第一次离开家的新入校的研究生,这个时间段有些麻烦。十分有意思的是,等待我的惩罚并不是一纸解聘通知书,而是被判罚为该小组的唯一一个测试人员,且不能与开发团队有任何交流。
对于我的职业生涯来说,这是一个意义多么重大的决定啊!正是这个决定最终成就了几十篇关于测试的论文,构建了多得连我自己也记不清的各种工具,出版了五本书,带来了无尽的快乐工作时间。测试一直就是我拥有的那份具有创造性和技术挑战性的快乐职业。不过,并不是所有人都喜欢这样。可以说我最早接触测试是在攻读研究生期问,不可否认,那时的高强度学习和工作确实让我受益匪浅。
另外,我认为从初学者阶段到专家阶段之间存在着一个 “测试的山峰”,人们需要通过一系列个人辅导、获取信息和接受常规指导来翻越山峰。成为一个测试初学者是很容易的,成为职业的测试人员也并不艰难。本章的重点正是讨论如何翻越那座位于职业测试人员和测试专家之间的山峰。
回到未来
在软件测试领域,时间似乎已经停滞了。我们在 21 世纪做事的方法与上个世纪几乎完全相同。Bill Hetzel 在 1972 年出版的测试知识丛书至今仍然相当有价值。而我自己所写,于 2002 年首次出版的 How to Break Software(如何攻破软件) 系列,到今天仍被作为实用软件测试技术主要资源的代名词。
确实,如果我们可以把 20 世纪 70 年代的测试人员转换时空用在今日,我猜想他们的的技巧足够应付现代软件的测试。当然,他们需要学习网络和各种网络协议,但是他们拥有的实际测试技术将能得到很好的应用。如果从 20 世纪 90 年代找一个测试人员,则不几乎不需要任何训练。
对于开发人员来说,却不是这样,他们所掌握的那些上世纪的技巧几乎已经完全过 时。让一个有一段时间不写代码的人重新开始编程,看看会有什么样的反应。让我感到很不安的是,我们可以从马路上直接雇用人手,而雇来的这些人从第一天起就能够测试,就能够有收获。事情真的有那么简单吗?或者是我们的期望值只有那么低?让我更加不安的是,我们没有任何可预测的方式将合