(1)兴趣是最好的老师
对于软件测试工作,通常是比较枯燥的,如果没有兴趣很难做到持久。
我最近参与了一个软件测试项目,在测试团队中,有三位是在校学生,他们以兼职的身份到公司上班,他们都是软件相关专业的本科生和研究生,基础都不错。但 是,只有其中一位表现最突出,因为他很珍惜这份社会实践的工作机会,做事认真,找出了很多高优先级的Bug。
另两位同学,在参加项目不到1个月后就以各种理由退出了。在我与他们的交流中,其中一位说测试工作太枯燥了,没有挑战性,他更希望做软件开发的工作。这位同学由于不喜欢做软件测试,实际上他对软件测试技术缺乏基本的了解。所以他在7天的测试工作中,只找到了3个Bug(正常情况下,其他测试人员每天能找到5个缺陷)。因此,从绩效评比中他的成效最低。
另一位同学虽然愿意做软件测试,但是他觉得现在的黑盒测试太简单,学习不到测试技术的高级技巧,他更愿意学习白盒测试,能够自己测试软件源代码。而现在的项目没有这部分的内容,所以尽管他工作成绩也不错,但是积极性不高。
因此,建议同学们在寻找工作中,首先需要了解,你是否愿意做软件测试,愿意做白盒测试还是功能的黑盒测试,不要盲目的参与到工作中,否则对于用人单位,对于个人的成长都是浪费。
(2)测试人员要学会思考
测试是个技术工作,需要学会主动思考。如果你遇到一个好的测试主管(组长),他会主动的解决你的测试实际技术难点,这是你的幸运。但是测试问题错综复杂, 测试主管工作很忙,他没有时间解决你遇到的任何技术问题,需要你自己分析问题的性质,尝试各种解决方法,搜索网络上的文章,最好如果仍然解决不了才向主管 求助。
我们反对遇到问题表现得很茫然失措,不要问一些很“弱智”的问题,否则主管认为你解决问题的能力不做,学习能力欠缺,这样对于今后的发展不利。
测试人员如何思考?根据问题的现象思考。问题是属于测试专业知识不足引起的,还是测试用例等测试文档模糊、错误引起的,是个别现象还是测试项目的其他内容都存在的普遍现象。测试要从模拟用户使用的角度展看,因此要用最终用的角度,分析问题的严重程度。
在询问最终的解决方法前,确保你根据自己的经验尝试了各种解决方法,并且尽量把你发现的问题和猜测,告诉测试主管,证明你已经主动思考了,但是没有找到好的解决方法,或者不能确定是否方法可行。
(3)选择适合的测试学习材料
软件测试的技术博大精深,对于初学者该从何入手呢?可以从以下几个方面学习:
第一是公司提供的培训材料。测试新员工到公司后一般都要经过短暂的培训,这是学习的最好的第一手材料。针对性特别强,都是公司今后用到的测试知识的总结, 针对性和实用性都很强。如果有不懂得问题,可以随时提出来,因为你是测试新人,不懂要问,任何人都不会对你的能力表示怀疑。
第二是借助测试项目的测试文档学习,包括测试计划、测试用例,测试缺陷数据库,可以先看看以前发现了哪些bug,这些bug是怎么发现的,有什么规律和特征,学习别人怎么写测试缺陷报告。
第三是阅读测试书籍和测试网站和论坛。这些内容很多,建议利用工作之后的时间,根据自己的知识有选择的选择测试书籍,先从基础知识阅读。正式出版的书的内 容质量都比较高,而测试网站和论坛的文章良莠不齐,有些只是只言片语,很多还存在错误。因此,需要有一定的鉴别能力,否则会误导,浪费时间。
(4)巩固测试知识基础
练武术需要先练“蹲马步”,否则直接学习刀枪棍棒等十八般武器,只能学到几招皮毛,甚至伤及自己,武林高手都是基础很牢固的,内功很深厚的。
做软件测试也是这个道理。很多出入测试行业的新人,希望走捷径,往往听信各种测试培训机构的宣传,认为参加几天的能力提高班,就可以步入测试高手的殿堂,这是错误的,也是要吃大亏的。
另一个错误就是还没有学会测试的基本概念,就盲目地学习各种大型商业自动化测试软件,结果花了很多时间和金钱,只是学会了工具的具体操作。到了实际测试项目中,无法有效利用工具解决实际测试问题。
实际上,作为测试新手,大部分都是从手工功能测试开始起步的,大型自动化测试只有成为测试高手,才有机会使用。另外测试工具的操作是很简单的技术问题,关键是如何发挥测试工具的作用,这需要测试策略。
所以,初学者要老老实实的学习测试基础知识,学习各种测试术语、测试概念、测试分类、测试的流程、测试项目的执行过程等。如果这些都不懂,今后的职业发展会成为限制。
学习是痛苦的过程,但是学习是增强技能的必然之路。学习测试知识没有捷径,需要日积月累,需要勤奋,需要思考,需要总结,从一点一滴学起。
(5)不断学习行业知识
测试人员除了学习和掌握测试技术外,还需要不断学习行业知识,这是区别普通测试技术人员和测试行业专家的最好方法。
学习什么行业知识呢?根据你测试的软件的应用领域决定。例如,你正在测试的是电信行业的应用软件,那么你需要学习电信行业知识,包括术语、业务和行业技术。怎么学习呢?可以与客户交流,与开发人员交流,看专业书和文章。
学习行业知识是个不断进步的过程,每个行业都有很系统的知识架构,首先学习工作中最需要的理论和技术。然后有机会和兴趣的时候,不断细化和深入。
高级的测试人员需要精通测试技术,掌握行业知识,可以提供行业软件的测试和质量保证方案。对于初学者,要认识到经过不断努力,可以成为测试行业专家。千里之行,始于足下,目前最重要的是从测试入门知识开始。