送给常年奋战在软件测试一线的测试人员
小时候上政治课,深信自己“要为共产主义事业奋斗终生”,现在看来目标有一点遥远,估计为计算机事业奋斗终生的可能性很大。不知不觉,我做测试这一行已经八年了,有时感觉到自己似乎患上了测试的“职业病”。这里我把自己的一些感觉写下来,如果你发现完全没这种感觉,可以一笑了之,如果发现有符合的症状,也不要太在意,因为,你不是一个人。
很多人认为,软件测试工程师的职业习惯是,喜欢挑毛病,找错误,其实远不止如此,一旦你进入测试这个行业,你会慢慢发现,自己的思维习惯被悄悄改变了。
习惯用“对”和“错”来判断一件事情
在计算机的世界里,只有两个数字,1和0,要么就对,要么就错,没有别的可能。也许就是这个原因,计算机难以取代人类的智慧(计算机下不好围棋就是个例子)。测试人员的工作也完全遵循这一逻辑,我们的工作就是,判断软件或者是软件的一部分是不是合格,要不就合格,要不就是不合格。
这是测试工作最重要的原则,也是我们思维方式的核心。另外,测试是“证伪”的工作,只有我们证明了所有的可能性都通过了,才能说“合格”。这一点也极大的影响了测试人员的思维方式。
在1和0的世界里,我们可以用对错来判断事物,可是在现实生活里,这个逻辑却经常失效。虽然我们心里很清楚,这世上的很多事情,不能用对和错来判断,但是一旦当我们陷于事情之中,却总是下意识的这样考虑,不能自拔。
不仅如此,这个问题会衍生出一系列其他的问题。
难以做出选择和决定
有句广告词叫:只买对的,不选贵的。又牵涉到是不是“对”的问题了,如果我们面临的选择,能很容易分出“对错”,那还好办。可惜我们总是要做出一些很难说清是对还是错的选择,这确实让我很伤脑筋。
最常见的一个场景就是不会点菜,当我拿着陌生的菜单,总是很紧张,不知道该吃什么。因为我们的潜意识里,只有认为这道菜“合格”,才可以点。可是判断菜是否合格的条件太多,如果有一条不符合,我就会觉得菜“不合格”,因此很难决定是不是点这道菜。
还有一个现象就是买东西,总是要左思右想,确定这样东西“合格”以后,才会掏钱,其中道理和点菜一样。不同的是,点菜有时间限制,买东西一般没有,可以慢慢的评估,慢慢的证明这件东西“可以买”。经常买个东西买半年,不过仔细想想,好像工作前就有这个毛病。
对于想不明白的事情总是喜欢刨根问底
世上的事,皆有因果。软件也是一样,出现一个bug,可以说一定有原因,只能说有时我们不知道原因,但是不能说,没有原因。从这一点看,测试和医生有很大的相似之处(都是根据一些表面的症状,查找内部的原因,然后给出解决方案)。
测试人员坚信世上没有无因之果,当我们遇到bug的时候,总要考虑怎么找出bug的原因,如果找不到,寝食难安。在生活里,碰到想不明白的事情,也总是习惯性的刨根问底,一定要获得一个答案。最常见的一个场景,就是当一样东西找不到了,我便发了疯一般的找,完全投入进去,不断的回忆和推理,一定要把它找到,真的是到了废寝忘食的程度,我的老妈老婆也是哭笑不得。
对自己和身边的事物要求尽善尽美
测试工作也是一项追求完美的工作,当我们宣布一个软件“合格”的时候,可以说几乎考虑了所有的可能性,证明了它没有问题。可即使这样,还是会有我们考虑不到的情况,会出现bug,于是,我们会继续完善测试方案,让软件更完美。
我们最喜欢看的东西,就是一张全部标着“pass”的测试清单。如果里面有一个红色的“fail”,就会觉得浑身不爽。渐渐地,我们变成了完美主义者,对身边的人和物,都希望完美。
但是这世上的事情和人,都不是尽善尽美的,所以完美主义者活的会很辛苦。比如我家里的电脑,为了保证电脑软件系统“完美”的工作,我经常的重装xp系统。只要系统出了点问题,其实远不到需要重装的程度,但是我觉得不爽,干脆,重装!我老婆都烦了:你怎么又在装系统。这个毛病现在已经好多了,我已经坚持半年没重装系统了。这是不是强迫症啊?
写了这么多,大家是不是觉得我似乎已经“病入膏肓”了。其实我写的时候很开心,一点没有觉得压力,反而很轻松。有时想想这些事情,着实有趣,随它去吧