现在回想起来,在毕业后,前几年的工作确实挺辛苦的。当时是统计每个月加班时间的,高的一个月是加班超过100个小时。这种经历带来的一个显著效果是,换工作后,总感到工作很轻松,加班少,总有种过幸福日子的感觉。可见,毕业后第一份工作,累一点,并不见得是坏事情的。

  加班是辛苦,但对测试工作而言,痛苦的经历并不是这些加班。而是:

  痛苦之一:看不头的一遍又一遍的重复测试工作。

  痛苦之二:产品10天半个月出一次问题,重现不了,干着急。

  痛苦之三:对测试质量没底,发布后,惴惴不安,惶惶不可终日。

  枯燥无味的重复测试工作:

  第一次测试某个功能,是新鲜,是探索,充满了激情;

  第二次测试该功能,是加深印象,查漏补缺;依然兴致勃勃;

  第三次测试该功能,算温故而知新吧;

  第四次测试该功能,我忍了;

  第五次测试该功能,…

  一个功能模块在一款产品的生命周期里会被测试多少次呢?5次有没有?5次?有些50次都不止的。经历过这样的痛苦,会更加珍惜它的解决方式:

  1、测试人员轮换测试模块。

  这种做法效果其实很有限的,是我们要医院看病,总是希望老医生来看病一样。测试主管依然是希望原来一直测试这个模块的负责人来负责测试,因为他轻车熟路啊,放心,还效率高啊。只有是在迫不得已的情况下,如人员换岗、离职、有了新的产品等情况下,才会更换测试模块。

  2、采用自动化来进行那些重复性的测试工作。

  是个好办法,但不是一蹴而的,有诸多的限制。有关自动化开展的纠结,是一个很大的话题。

  3、理解开发的代码,重点关注diff部分,根据diff部分来评估是否需要测试没动过的模块。

  可惜这一点对于纯粹的黑盒测试而言是难以做到。来到淘宝后,能够看到开发代码了,并且,业务系统比较独立,才能够采用这种方式以减少回归的工作量。但也是有风险,如何降低这种风险,也是可以展开讨论的。

  此外,是真的要摆正自己的心态。永远做重复的劳动,肯定是没有追求的;而没有耐性做好一定的重复性工作,我也认为不是一位职业的测试工程师。在做好一定的重复性工作的同时,来提高工作效率,减少重复工作,应该是努力的方向。

  遇到了难以重现的问题:

  没有好的办法了,只有想尽一切办法来重现它。包括但不限于:

  1、请人帮忙,专家会诊;

  2、请开发走查代码;

  3、和开发一起定位、测试、重现问题;

  4、重要的是:不放弃。

  不要抱怨这个,这种问题终被解决后,你一辈子记住了,记住了这件事,也记住了与之相关的方方面面。那种经验和知识是入了骨髓的。

  对测试质量没底,发布后,惴惴不安,惶惶不可终日。

  经历过的那段时间,在家里都怕手机铃声响。按说产品发布了,应该算是测试工作完成了,但是完成得效果好不好,还需要用户的检验啊。正是由于对检验结果的担心,产生了这种焦虑。有点像高考结束后,分数结果出来前的那种感觉。

  现在来看这些,根本原因还是测试不充分,才没有自信的。而测试不充分的原因可能有以下:

  1、对应用场景不够熟悉,担心某些应用场景没有覆盖到

  2、对程序内部逻辑不熟悉,纯粹的黑盒测试难以覆盖全面

  3、由于测试工具的缺乏,压力测试不到位

  4、测试时间不够,迫于市场压力匆忙发布了

  要做到发布后,心中有底,可能需要花足功夫做好上面的几点。另一方面,即使发布后遇到问题,也要心态淡定,认真分析,快速重现来解决问题;然后回顾测试过程,想想能否以后避免这种问题,不要给自己增加无谓的心理压力。