随着中国软件的不断发展,几年前软件程序员还是作为一项新兴的职业,但今天已经不断慢慢变成了所谓的IT民工。正好笔者这是其中的一员,经历了从测试工程师, 开发工程师到项目主管、再到项目经理的角色转变。有高兴,有失落,也有郁闷。“酸甜苦辣”这四种味道几乎涵盖了人生应有的全部体会。这里与大家分享从事测试工程师的几个印象深刻的瞬间以及感受,同时借此机会总结一下自已的得失。
一.初体验测试的苦与闷
毕业同年7月,我进入公司软件开发部工作。作为新员工参与的是测试工作。主要是进行手工执行功能测试。天天进行的是基础和简单的测试,不仅是工作量大的体力辛苦活,天天超时加班,而更大的挑战在于重复工作的闷。而且做测试比做开发工资和待遇相对差一些,这与我原来想成为程序员的目标有巨大的落差。
应当承认,目前国内的软件测试工程师的地位和待遇相对较低,而且不少测试人员象我一样存在浮躁的心态。由于软件测试的根本是功能,所以测试人员需要非常多的精力投入到功能中,我刚开始时认为软件测试就是拿着鼠标乱点,很看不起测试的工作。其实每个人对于自己一些不太了解的事情总会有一些比较片面的看法。软件测试远远不是乱点能解决。乱点的确也算是一种测试,名词叫随机,但是如何从随机中找到规律,如何能遍历所有的功能,这都需要一些前人或自己总结出来的方法来指导测试,以后的痛苦经历使我认识到测试真不简单。
这个时候,非常幸运的是我遇到了我的主管吴生,后来成为了我的良师益友。在我的经历中,让我感受最深的是每个人在成长的过程中,每个不同的阶段必须要有最少一个良师益友,这样你在生活中或者说工作才会有快速的成长。我现在也非常清楚记得吴生当时对我说的话:好好规划自己的路,不要跟着感觉走。你虽然想从事开发,但公司安排了你做测试,那么,就需要慎重考虑自己的轨迹。既然你入了测试这行业,就需要对该行业深入了解,不要感到失落和频繁跳槽,特别是不要为了苦闷和一点工资而转移阵地,从长远看,这点苦闷和钱根本不算什么,当你对一个行业有了体会和感觉,以后钱根本不是问题。频繁地动荡不是上策,如果只是浮躁而没有能够静下心来做事情和摸透这个行业,你就永远是新手。
吴生的建议认为虽然软件测试是个可以很快入门的辛苦体力活,门槛不高,在公司待遇和地位相对差一点。但是,不要认为什么人都可以做好软件测试,因为会做和做好是两个概念。对于刚刚毕业的学生,如果希望今后从事软件开发,那么,先从事一段时间的测试可能更有利于今后的编程。而对于具有多年编程经验的程序员,如果改行做测试,更容易提高技术。
正是吴生的谆谆教诲使我静下心来,对软件测试有了新的认识。平时在和朋友沟通中我也了解到有很多测试工程师是由于不能从事其它工作才从事测试的,因而工作中也是不断抱怨待遇、团队环境等不能满足自己的要求。我也曾经对软件测试很轻视,这也是大多数程序员的心态,程序员最讲究“编程才是硬道理”。我在测试工作中应用软件测试工具,方法,理论,技术等,使我深刻体会到软件测试的重要性和趣味性。此时,我才跳出了“小程序员”的圈子,以软件系统工程的更大视角审视软件测试这项工作。在此建议测试工程师,如果选择了这个行业,就应该认真地对待工作,抱怨永远解决不了问题。
二.掌握测试体系,感受登堂入室之甜
我在与测试同行朋友接触中了解到现在许多公司软件测试还不完善,往往测试人员还是依据本能、靠感觉、和简单的测试文档来做软件测试。如果像用户那样只是通过使用来发现Bug,这不是真正的测试,这只是一种最基本的测试,只能发现一般用户的问题。单调和重复的工作,再加上测试的压力容易形成对测试的失落和郁闷。
对软件测试而言,我认为国内的软件企业对测试的重视程度还不够,但毋庸置疑,测试是软件产品线上和开发同等重要的。我的观点是:把软件做出来不难,但是要把它做好,必须建立系统化,流程化的测试体系。只有掌握了系统的测试观念,才会领悟到测试的渗入心田的甜。
软件项目是一个系统工程,软件质量牵扯到多个部门和人员,需求分析,设计,编码等各个环节和过程。软件测试是项目开发中不可缺少的环节,软件测试不是万能的,因为不可能发现全部的软件缺陷。但测试应该是贯穿于软件开发的整个周期,编程只是软件开发的一个环节。但往往大家非常重视软件编程,把测试作为编程后的一个辅助环节,这是典型的本末倒置。
我在测试过程中明白到与具体测试技术相比,掌握测试的核心思想比具体技术更重要。软件测试不是孤立的简单活动和过程,测试的最高境界在于建立体系的测试流程,运用最简单有效的测试技术,最大限度的发现软件缺陷。一个完善的测试流程应该是从测试计划--测试用例的编写--执行测试--测试报告编写等。