跟七年前的我一样,今天大家应该都怀着一种特殊的心情,因为从今天开始,大家就是一名新员工了,这是大家的第一份正式工作,也是人生的一个起点。
首先想说说该怎样对待测试工作。我想纠正一下大家的一个观点,这个观点也是很多同事的想法,那就是测试工作是软件公司中最容易做的一个工作,认为测试就是把开发人员做好的软件走马观花似的看一遍,随便输入几条数据看看程序有没有出错而已。这个观点不对,我觉得如同其他岗位,测试也是整个公司中一个重要的岗位,它的工作难度也非常之大。
为什么这样说?
第一、这是由测试工作的重要性所决定的。虽然软件是由开发人员完成的,但软件能否顺利地交付使用很大程度是由测试决定的。大家可以想像一下,当我们把软件交付给客户使用的时候,由于软件的一个BUG而导致客户的业务流程无法正常开展或者由于一个BUG所导致的错误信息给客户的误导导致客户做出错误的决策,我们公司将面临什么样的困境?我想此时,作为测试人员的你所面临的压力肯定比开发人员更大。
第二、软件测试人员需要更广的知识面。一个好的测试人员,需要自行写些测试代码,也需要读懂开发人员的代码,而要求读懂人家的代码往往比自己写代码提出了更高的要求。你今天可能测试的是J2EE的程序,明天可能测试的是.NET的程序,后天可能又测试的是一个C/S模式的程序,没有宽广的知识面,你哪里会看得懂,哪里会些得出测试代码?退一步说即使不要求你看懂代码,也会要求你对整个软件的技术体系结构有充分的理解和认识,这涵盖了开发工具、程序运行环境、数据库、网络等一系列的知识。
第三、软件测试人员需要更开阔的思维。我以前的上司把程序员比喻成保镖,对程序员提出的要求是敏锐的洞察能力和快捷的反应能力。我把测试员比喻成杀手、黑客,因为测试员必需具备天马行空的思维能力和严丝无缝的推断能力。只有彻底跳出程序员的思维方式,并加以慎密的推断,才能找到程序员所犯的错误。
如上说言,我想每个测试人员都要树立工作责任心,严肃看待测试岗位的工作。不要以为测试工作不重要就放松对工作的要求。
然后我想说说大家该怎样开始自己的第一份工作。这里我也想纠正大家的一个观点,那就是我是来公司工作的,因此你安排我做什么就做什么。当然不是说这种想法完全不对,因为有这种想法的人起码有一份为公司奉献的热心。但我认为光这样是不够的,因为你现在除了工作之外,还有很多事情要去做。
有句话可以给大家说白了--公司并不期待你们这些新入行的员工立刻能为公司创造什么价值,而是希望你们通过努力学习,迅速构建起工作必需的知识体系,迅速找到能指导你开展工作的方法论。
所以你们当前最重要的工作是学习,但这里所说的学习,可能又与大家头脑中的概念有所不同,因为从现在开始,大家的学习方式要由被动式向主动式转换。以前大家可能在老师或者培训师的指导下学习,知识的接受是被动的,但现在,需要大家能主动学习,一方面要知道自己该学习什么,另一方面要把该学习的知识掌握起来并应用到实践中。
我之所以说这些话,是发现你们中好多人好像在等待什么,是在等待培训老师的到来,还是等待下一个工作指令呢?是的,我希望大家都尽快结束等待的过程,让自己漫漫的工作旅程从学习开始吧。
你可能很茫然,因为不知道该从什么学起,该怎么学,这也正是我要跟大家说的。我认为你现在已经成了一名测试员,工作可以从测试的基本概念和技术学起。资料目前是大家最需要的东西,但遗憾的是目前我们没有,因此需要大家自己去找。好在现在有大量提供关于这方面资料的网站,大家可以去查查,把有用的保存起来,等收集到一定程度,可以系统地阅读,这样可以迅速地在脑海中构架一个基本的知识体系框架。这样就象预习了课文,等培训老师来了,可以更好地领会培训的内容,先前的疑问也可以象培训老师请教。
在学习的过程中,大家也要学会交流、探讨,有什么心得可以与同事分享,有问题也可以向同事请教或者与同事讨论。
工作、学习是非常重要的,但我觉得有个问题更重要,那就是方法。做测试工作,形成良好的工作方法是必要的。说小了是“方法”,往大的说就是“规范”。规范就是这样一种东西,它可以写在文字里,在我们学习和工作中,可以按照它的指导一步一步完成,这样避免我们走一些弯路。
无论是学习还是工作,我们都要有规范。当然规范不可能一开始就有,需要大家去总结。也有可能如果我们按现有的规范做事情仍然会犯错误,那么我们就要再总结,不断完善我们的规范。
上面说得比较抽象,说得具体点,就是要大家在工作和学习中养成书面总结的习惯,将经验教训都记录下来并把它们整理成指导以后工作的手册。
讲到规范就不得不说计划,我的学习和工作的方法中有一通用原则,那就是无论做什么事情都要先有个计划。当有事情要做的时候,我并不急于去做事情,而是在头脑中形成一个做事情的计划,如果有必要就把它书面化。希望大家都一样,把做计划当成工作和学习的第一方法论。