软件不可能没有bug,就算我们的测试用例写的非常好,测试计划也很完美,也不可能发现产品所有的问题。我们只能在有限的时间内,更多的发现bug,解决bug。这也就涉及到了另外一个话题–Automation。自动化测试可以更快速的进行测试活动,提高测试效率。但问题是,应该对哪些东西做自动化测试?我们要衡量产出比。曾经有人说过90%的测试都是可以做自动化的,我并不质疑,因为有很多工具可以帮助我们做automation。在WR时,用到的有编程语言Java,脚本语言Shell, TCL, 还有QF-Test可以进行GUI界面的自动化测试。Automation真的不是一件容易的事情,需要很多的工时,考虑的问题也很多,其中最难的就是要把大部分甚至是所有的scenario都考虑进去,而其中可能有很多陷阱。所以要衡量某些测试用例是不是值得自动化。如果开发出来的工具总要随着新的平台而做大改动,用到的又不多,可能还不如手动测试效率高,就大可不必去做了。所以,在自动化之前,我们要衡量利用率的问题,这需要很多的经验和技术。

很多人都认为软件测试是没什么技术含量的工作,经常有人说,不就是对着电脑点来点去吗?其实真的不是这样,至少我在WR的工作不是这样的,需要对产品深入的理解。我不必去开发产品,那是开发的工作,但我要知道每个feature的工作原理,用到的技术,程序的组织结构,要去看manual,开发写出来的技术文档。所以总要学习新东西,不断地思考,challenge自己,每天都很充实而充满乐趣。回想自己做软件测试工作以来,学习的技术,积累的经验,都是在WR获得的。当你真正去喜欢这份工作的时候,那真的不仅仅是job,而是career。喜欢和更强的人在一起,虽然比较有压力,但我会变得更强。在这些好的公司里,确实有很多出色的人每天都工作着,奋斗着。也许有人会说那样很累,但如果你享受这样的过程,就会觉得很有意义,很快乐。