1.    开场白
  首先,作为一个一直在网络和电信设备测试领域工作了几年的老油条,我想把我这几年的工作经历以及在我身边看到的故事与大家分享。希望能帮助一些刚进入测试的朋友能更好的从学生角色转换为一个职业人,少一些刚毕业时的迷茫。

  我在大学时代学的是计算机,在毕业前对网络的认识也是学校开设的两门课计算机网络以及计算机网络与通信课程,让我印象深的是学了一大堆与高数有关的数学公式,例如什么香农公式这类。毕业前连IP子网都算不清,也大概知道TCP,UDP的区别。我更多的时间和精力都放在了程序的开发上,曾用Delphi独立开发了一个全省系统的MIS系统,用Linux+Gcc+Gdb+UDP开发了一个模拟QQ原理的即时聊天软件。

  一晃到了大四找工作,我当时找工作的想法是:一定要进大公司,工资要高。我至今仍清晰的记得那句从此影响了我职业选择的话:“我们开发都要研究生,对测试是否有兴趣”。当时想了想测试没做过,可以先试试。再加上这家公司当年在成都地区非常火,在成都给本科生开得工资是高的。所以,抱着先试试的感觉应聘了测试。也许是我大学时代动手实习的经验较多,在没有笔试的情况下,成功应聘进了这家M公司。也是在大四的第二学期,我参加了M公司的第三期企业文化培训,这期参加培训的上百名研究院的新同事中本科生一共10人左右,而且来自成都高校的本科生才4人。说实话,我很庆幸自己的幸运。

  1.“阴差阳错”
  在随后2个月的网络知识培训中,我第一次见到路由器、交换机、VOIP网关、电信设备,在稀里糊涂的状态下进行着配置练习。我们那时真是魔鬼式培训,从早上8点半开始,一直持续到晚上11点。有一次还持续到了晚上12点。每天上午第一件事是考试,将头天的学习内容进行笔试考试,基本上TCP/IP详解中每一个协议的报文结构都默写过。笔试成绩每天公布分数和排名。下午从1点开始一直到晚上11点是上机操作。做完一个练习做下一个练习,反正是一直要做到晚上11点才下班回家。这样一直维持了2个月的培训,每天都是新的理念知识,新的上机练习。压力非常大也非常累,进步也非常快。
  七月分配产品线,我来到了不愿意去的电信产品线。因为在培训期间,电信产品线的理念难理解,也难完成上机练习,远比TCP/IP详解难的多,所以几乎没有一个人愿意来到电信产品线。我和另3名同事都来到了电信产品线,没办法再难也只有蒙着头冲了。

  八月我再一次被迫接受了不愿意的工作分配,电信产品线的测试经理将FrameRelay协议(因为这是一个老协议,所以我一直不愿意测试这个协议)给我负责,并要求在半年内必须独挡一面,意思是以后公司遇到任何关于FrameRelay协议的问题都将由我来解决,是公司这个协议的专家。对于一个刚毕业2个月的学生,面对这样一个要求,既感到压力也感到了一种挑战。在必须成为公司内该协议的专家且没有任何退路的情况下。

  随后半年里,对于该协议无论理论还是任何实际问题我都以几乎十全十美的态度来学习或解决。不但对该协议的每一个细节,每一个bit的组合意义烂熟于心,更对该协议在产品中从FPGA到HDLC到驱动的所有实现原理进行了深入学习。再通过对实验室里和市场上各种问题的分析,终在半年内渐渐做到了可以独挡一面,可以独立面对和解决任何与FrameRelay协议有关的市场技术问题。

  “坚定信念,一定还有bug
  也在这半年时间里,我对测试的看法发生了两次大的变化。第一次变化,在进行手工测试3个月后,我心中还是认为开发比测试有意义,有挑战。而测试则是简单,无聊的工作,让我做测试是大材小用。在这时,我内心开始讨厌测试工作,因为自己从心里看不起测试。有一次我测试了5天FrameRelay协议,没有发现一个bug,之前我已发现了这个协议上百个bug。正当我沮丧时,一位老员工的一句话改变了我对测试的认识“想想办法,肯定还有bug”。于是,我怀着半信半疑的态度,利用梳理了自己的思路。从自己已发现bug的方式和现象,到FrameRelay协议的所有实现原理,后自己又提出了10个新的测试方法。周一上班,只用了4个新方法发现了一个一级bug,一个二级bug。从此以后,在我心中对测试的看法发生了根本性的改变,不再认为测试只能由能力差的人去做。测试同样具有很强的挑战性和成感,测试是一个必须需要创造性的工作,而且是每天都会用到创造性能力的工作。
  当你发现不了bug的时候,请相信这句话:“一定还有bug”。只要你坚定这个信念,一定会发现bug的。“坚定信念”成为了我以后鼓励新员工时爱用的一句话。对于测试人员,每天的工作都是对自己潜能的一次挑战。昨天,自己还认为没有bug了,通过自己坚定的信念和创造性的劳动,又发现了新的bug。这不证明好的测试态度能让测试成为一份非常有挑战、创造性和成感的工作吗?
  在其后1年的工作中,因为我同时具有开发和测试的能力,公司希望让我做测试工具开发工作,但我拒绝了这个调岗,同期也拒绝了华为(不是慧通)邀请我从事测试工具开发工作的offer。我选择了测试。测试不但让我每天都能感受到自我挑战带来的成感,进行创造性思考所带来的快乐。更能让我比普通的开发者用更短的时间了解到更多产品或功能实现的细节,能对系统了解的更广更多,让自己不但看到树枝,更能看到整个森林。这也是我只用短短3年

  1.多时间对很多网络和电信协议的应用及设备原理有了比较系统的了解。结合我自己的特点,我喜欢在适度深度的基础上,希望能对网络尽可能宽广的了解和掌握。而不喜欢一个点或是几个点一路走下去,掌握每一个细节。所以,我喜欢测试比开发更多一点。

  2.“测试误解”
  那么测试人员的水平怎么体现出差异呢?
  我的看法是:不是你发现的bug数量多很厉害,也不是你会写自动化脚本比做手工测试的厉害,更不是你会用的测试工具多,你厉害。好的测试人员应该首先具有严密的逻辑思路,同时还要有很强的发散性思维,能经常创造性的提出新的测试方案,并且具有非常强的分析问题、定位问题的能力。只要具备了很强的分析问题定位问题的能力和创造力,即使你所负责的模块是一个小模块,你也能发现很多严重的bug。
  在测试中有些同事常有这样的误解:

  情形1:有的同事所负责的模块是个老模块,小模块,所以发现新bug的数量很少。这时很多人常常容易松懈,认为这个模块没bug了,再认真测试是浪费时间。

  我的看法是:1、任何模块永远都有bug,只是还没找到触发条件。 2、一般人的常规思路用完了,这时正是你挖掘自身创造力的好机会。如果你这时能在自己思路严密分析的基础上提出一系列新测试方案,发现了新bug。你的领导一定会对你刮目相看,而自己的自信心一定会得到大大的提高。

  情形2:有的同事所负责的模块是个新模块,大模块,随便乱搞也能发现许多bug。同样,这时测试者也很容易松懈,而不会进行有意识的分析和创造性的思考。
  我的看法是:1、虽然你发现了很多bug,但是是否你能通过严密的分析,使得找 出的一级、二级bug数能占到每轮测试所发现bug数的大部分。不要总是在产品快要release市场发布前,忽然发现许多一级、二级bug。2、 只有通过自己严密的分析和创造力

  发现的bug,才比乱测试所发现的bug更具价值。对于产品的质量才更有真正的保障,对于测试者的水平提高才有意义。否则,测试者自身能力得不到提高,公司产品更是留下了许多隐患的bug。

  1.总结赠言
  后送大家几句我关于测试的看法:
  1、 坚定信念,一定还有bug。
  2、 测试是一份依赖严密思路分析和创造力的工作。
  3、 测试能让你每天挑战自己。
  4、 测试能让你的自信心不断得到提高。
  5、 测试能锻炼你的创造力。
  6、 测试能锤炼力你的性格,让你成为一个不易轻易放弃的人。
  7、 测试能让你比普通开发者更快的了解到系统。