我是怎样长大的(一)——软件测试这一路

上一篇 / 下一篇  2012-06-11 19:48:55

不小心跑到测试这条道上来了

  我是怎样变成现在这个样子的,经常想起这个有意思的问题,可是总是无解,因为每当我开始思考这些问题的时候我就要想起以前很多的事情,有趣的事情,开心的事情,伤心的事情,然后思绪就已经飞到九霄云外了,或者迷迷糊糊地睡着了。

  后来我想到了一个办法,那就是写下来,把自己想到的都记下来,把自己能记忆起来的东西全部记下来,可是这也有不妥的地方,记在什么地方呢?发在Blog上面吧,既然这是测试blog,也不方便写一下过于私人的事情,那干脆就写一写这两年来的生活,这两年来与测试密不可分的生活。

  说来很奇怪,我知道“软件测试”这个名词跟我开始学习测试差不多是同一时间。那天是一个下着毛毛雨的天气,春暖花开,秋高气爽。。。又开始扯了,我听到测试这个名词是在一个学生团队的会议上,那个学生团队是一个有点与众不同的学生组织,据说当初是靠几个师兄跟学校打游击建立起来的,主要方向当然是搞软件开发了。回到正题上来,当时我进入团队不久,一个师兄由团队安排去北京学习了一遭,带回来一个消息:现在团队希望向正规软件作坊靠拢,因此我们需要重视软件质量……因此……因此我们需要软件测试人员。第一次听到软件测试这个名词,当时的印象是不关我事,我对于软件开发还是很喜欢的,因为一直可以做新东西,虽然当时做得东西在今天看来很稚嫩,但在当时对于一个困在学校里面的学生来讲,已经是很不错了。

  原本应该与测试擦肩而过的,可是这时候命运再次出现了转机(请注意是“命运”,之于为什么用命运这么伟大而庄重的词汇,在后面你会渐渐体会到),开始来了一个项目,一划分人手,总是划分不过来,师兄开始找人谈,谈到我的时候问我有没有兴趣做测试这一块。当时我的想法很简单,看看再说,于是这样回复了师兄。可是等我还没“看”完的时候,事情已经变成了“成交”了,因为师兄一谈之后都答应了,或许是都“看”了。总之,对于当时我们这些新人来讲,有机会跟着牛人师兄一起做项目已经很不易了,所以一切得听组织安排。既然要做测试了,还得熟悉一下这是怎么回事吧。在百度上一搜“软件测试”,哗的一大堆东西,这时候才知道原来这个东西还有这么多人在搞,最后在网络上转了一天,到处是关于什么人适合软件测试,软件测试“钱途”如何之类的内容,压根没管软件测试是干什么的,当时的想法单纯的很,带“软件”两个字的都是神圣的职业;一看薪水不太好,就觉着咱先学着,大不了到时候跳回来继续做开发;完美主义者适合软件测试,这句话其实是有问题的,不过却真的是这句话带我着了道,因为在那之前的两天正好做了一个性格测试,完美主义成分高达50%,标准的完美主义者。我就是这样忽悠忽悠一下子就到了软件测试这条道上来了。

  刚才提到了入行第一天压根没看软件测试是干嘛的工种,因为那是第二天我做的事情了。

“无招胜有招”

  测试是干嘛的呢,在经历了前一天对于测试发展的一些百度后,该是考虑这个事情的时候了。这次换做了Google了,在google上搜索软件测试,列出了很多有关软件测试的站点,有关测试文章,当然也有很多关于测试新闻。

  测试是干什么的呢,测试怎么做呢?测试有哪些内容呢?前一天的刚接触新事物带来的欣喜一下子没有了,因为仅仅关于测试的定义都有很多种,而且都是一些生涩的名词,整整一周时间下来,对测试的印象算是一团乱麻,而且随着看的乱七八糟的东西越来越多,脑子的容量明显不够用了。黑盒测试白盒测试单元测试,集成测试,系统测试,到处都是这些概念,却没有人告诉我那是什么。

  一直在网络上游离,试着去了解所看到的每一个名词,可是却看到了更多的名词。还好我这个人向来是对于新东西充满兴趣的,我是天生的好奇心重的那种人。没事,有新东西咱照单全收。这样做的后果是最后什么都知道一点,但是什么都不了解,更不用说熟悉了。因为以前几乎没有正规的项目经验,所以学习这些新东西自然导致了最后的学到的和知道的牛头不对马嘴。有一次闹了个笑话,我对向一个师兄请教问题的时候,说了一句现在看来惊为天人的话“黑盒测试不都是单元测试嘛”,可见当时中毒之深。

  自力更生的日子真的不好过,可是项目却要开始了,也罢,边做项目便学习测试吧,以测养测得了。当时开发人员已经有一两个模块出来了,可以使上我学的招儿了。或许是因为都是新人的缘故吧,竟然也做得像模像样(当然实在当时自己以及项目组的新人看来)。通过在网络上搜罗的一些民间秘方,以及各位得道高僧的独门秘方,竟然找出了20多个bug,当时项目组的师兄对于这个结果还是比较满意的,毕竟测试是起了作用的。

  这样的日子一直持续了一个月的时间,一个月的时间用于到处点点,到处滥用独门秘方,以无招胜有招的信念点啊点。倒不是我想这样,当时的情况是我压根就没见过什么套路,拳法之类的东西,或者说见过但被我忽略过去了。这样的日子在我偶尔一天在某个论坛上看到铺天盖地的“测试用例”这个名词时候发生了变化。我足足花了三天的时间才明白测试用例是干什么的,然后又足足花了一个月的时间来按照自己的理解凑了一份项目的测试用例。当时那份100KB的word文档出来的时候我还是很骄傲的,如同完成了一件伟大的事业似的。其实那份用例在现在看来全无章法,格式乱七八糟,什么内容都有,用我后来调侃的话来讲:除了标题上写着的“测试用例”四个字没错之外,其他的地方全然找不到测试用例的影子。然而,当时我就是靠着这样一份测试用例获得了极大的肯定,而我也继续满足于这种测试用例中并与之继续纠结了两个多月的时间。

  在与我的那份Word版本的测试用例纠结了两个多月之后,我的测试命运出现了转机。这次是真碰上了传说中的“九阴真经”了。

“九阴真经”

“九阴真经”是当时在论坛上看到一位前辈推荐的,大名鼎鼎的《软件测试》,美国人Ron Patton的作品。

  在成为我们那个作坊里面的软件测试人员近半年后,我才碰到这本书,所以后来将此事引为一生之大憾事。以至于经常在闲下来发呆的时候想:如果我在一开始就碰到这本书或者至少早三个月,我现在的水平应该早就是谁谁谁那模样了吧。我一直很推崇这本书,如同当年那位在论坛上极力推荐这本书的前辈一样,这本书里面讲了太多有用的东西,以至于当时觉得看完这本书之后功力大增,一下子跃升为软件测试入门弟子了。

  再来看看这本书。(注:我最开始看的版本是张小松等翻译的第二版,ISBN 7-111-18526-9)。

  先看书的第一部分,“译者序”中,讲述了历史上第一个BUG的故事,在书籍的第一章,作者Ron Patton列举了“臭名昭著的软件错误”。当时看到这些错误的时候,身上的确升起了不小的自豪感,因为看到软件测试是那么地重要,那作为软件测试人员也是一项光荣而伟大的职业,犹如圣斗士。书的第一部分的后半段讲述的是关于测试素质,bug,软件开发过程,以及软件测试的实质,第一次看的时候没在意这些东西,一来这些东西并没有直接的或者说一针见效般的作用(现在看来,当时虽然是太心急了一点,但是也算误打误撞可以直接切入测试最重要的部分:方法),二来我当时对这些东西也有了一些认识,毕竟大半年时间在论坛上混迹也不是白搭的,多少还是知道一点东西的。

  接着来看书的第二部分,测试技术部分。这一部分讲了测试的分类,讲了黑盒测试白盒测试,静态测试动态测试,静态黑盒测试等等一系列的东西,当时看了这些东西还是有点头昏脑胀的感觉,尤其是讲到静态动态的时候,总是不明白为啥看代码也算测试了。接着介绍了产品说明书的测试等内容并详细讲解了黑盒白盒测试。

  书的第三部份讲述的是其他主流测试类型:配置测试,兼容性测试,国际化测试本地化测试,易用性测试,文档测试,安全测试web测试等等内容,都只是简单的提到并解释了这些测试大概的模样,并没有很深入的探讨,作为一本入门书籍,这本书这样的组织结构是很合理的,顾全大局,同时对于细节的把握程度恰到好处。

  后面的几个部分是对前面测试知识的补充,讲述了自动化测试的相关知识,当然也包括了测试相关文档的知识补充。关于测试文档的这一块介绍是我在第一次看的时候最关注的内容,因为直到那个时候我才知道测试还要写除了测试用例之外的很多文档,测试的结果也需要做有条理的记录(可惜了我半年的Bug整的乱七八糟的。)在书籍的最后不忘提到“测试的未来”,这个东西当时没看,因为我看到测试文档那一块之后就发现自己文档那一块很糟,直接整文档,整bug去了,后面的内容也就不在意了。

  正如上面所提到的,这本书最大的意义就在于让我对于测试有了一个整体的印象,而不是停留在之前的那种杂乱无章的状态里面,虽然限于篇幅和书籍本身的定位,并没有详细的介绍各个内容,但是由于之前逛论坛以及纯草根纯作坊性质的项目经验积累,使得我在看了这本书之后对于测试有了更加全面的认识。上个月,我为了整理自己学习到的东西,又把这本书拿了出来,再读之后,感觉又不一样了。拿着这本书做提纲,糅合进项目经验和各处学来编程的,测试的经验,发散开来,再次整理了自己的知识体系,又品出了许多新的味道。顺便提一下,不知什么原因,这本书里面没有专门提到当今测试的一个重要分支——性能测试。但是,不管大家看没看过这本书,我都推荐大家好好看看。

  “九阴真经”虽好,但是显然不足以一劳永逸,这世上是没有一劳永逸的事情的,更不用说通过看一本书就一下子怎么样怎么样了,我后面的经历就印证了这一点:我习练“九阴真经”走火入魔了。

  (未完待续)


TAG:

 

评分:0

我来说两句

Open Toolbar