出国前一直对软件测试很轻视,可能那是绝大多数程序员的心态,因为中国程序员最讲究“编程才是硬道理”;来加后,我却跳出了“小程序员”的圈子,以软件系统工程的更大视角审视软件测试这项工作。而且在我3年的测试工作中,我越来越体会到软件测试的重要性和趣味性,包括软件测试工具、方法、理论、技术。特别是每当我将某一个难题解决时,我都在想–“难道我是一个天生的Tester?!”
我是2002年底登陆多伦多的,当时的IT形势并不好,在找工网络上搜索IT相关职位不多,而且对专业技能要求都挺高。也许是本人技术不够,也许是北美工作经验欠缺,为了得到一份IT工作,我屡屡碰壁尝到的艰辛比过去二十年都多。在我彷徨在人生的十字路口,不知何去何从的时候,我决定重新审视自己,下一步该怎么走,是进还是退?条条大路通罗马,我该走哪走路?无意中我遇到了一位好老师,这位现在仍站在白板前挥笔自如的名师引领着我走进了软件测试领域,让我怀揣着最后一丝梦想走进了软件测试课堂—让人眼前一亮的教学环境,让这里做为我新的起点,让我踏上IT 职业的高速公路。今天,我庆幸自己当时的选择,改变了我的一生。
就这样,我开始了在软件测试培训。我选择了“软件测试CO-OP”,也许我的多年编程背景为了创造了不错的条件,也许课程本身带的理论部分让我掌握了测试的基础,不管怎样,我快入门了。老师是一位在测试领域真正做过项目的人,所以遇到不懂的问题去问他,一定会得到让你满意的答复,你可是难不倒他的;而且他还经常会补充和教授在书本上、大学里学不到却又与实际应用紧密相关的知识。在这里,最让人激动的还有我身边的同学们,他们有住在密西沙加、伦敦甚至是蒙特利尔的学员,有刚毕业的学生,有职场的新鲜人,更有像我一样在苦苦寻找第一份IT工作的人。虽然大家都怀着不同的心情,但是都做了相同的选择。在CO-OP课程里,大家各展所长,互追互赶,那种刻苦钻研的精神时时鼓舞着我、带动着我,在我遇到学习困难的时候又会伸出热情的友谊之手。在这里,你不仅能够学到专业的知识,更交到了一大群的知心朋友,建立了很好的NETWORKING,为我今后的学习、就业帮助巨大。
软件测试学习中,我发现这门课:
1) 实践性很强:一个软件测试人员的工作能力,60%是在实践中获得的,理论学习只能获得40%的能力。因此CO-OP是个获得经验最佳的手段。
2) 针对性很强:测试流程大致相同,但面临.NET、JAVA等不同种类的软件测试,仍存在差别,要具体问题具体分析,不可一劳永逸。
3) 不断的挑战:软件测试人员要不断的学会提高自己,不断说服开发人员,不断提出新的观点和方法,这样才能更好的从事测试工作。
4) 很强的合作性:要和开发人员、测试团队成员进行充分的交流这样才能干好这项工作
2) 针对性很强:测试流程大致相同,但面临.NET、JAVA等不同种类的软件测试,仍存在差别,要具体问题具体分析,不可一劳永逸。
3) 不断的挑战:软件测试人员要不断的学会提高自己,不断说服开发人员,不断提出新的观点和方法,这样才能更好的从事测试工作。
4) 很强的合作性:要和开发人员、测试团队成员进行充分的交流这样才能干好这项工作
“老师领进门,修行在个人”,我的感觉学到的学习方法比什么都重要:
1) 课前预习。要做到课前带着问题去听课,对于自己不能理解的问题及时请教同学、老师或者上网查资料,及时解决,决不拖到下次上课。
2) 课后复习。利用业余时间查阅相关的工具书,拓展自己的知识面;
3) 认真完成老师布置的作业。因为那都是最有针对性和侧重点的,比起自己找重点更明了、更能一针见血的说明问题的本质。
2) 课后复习。利用业余时间查阅相关的工具书,拓展自己的知识面;
3) 认真完成老师布置的作业。因为那都是最有针对性和侧重点的,比起自己找重点更明了、更能一针见血的说明问题的本质。
学习是一件苦差事,任何事情不付出努力是不会收获结果的,学好测试要付出更多的努力。因为测试的工作涉及的知识面比较广,只有学习的基石打牢了,以后做起测试工作才能够得心应手。除了掌握测试的技巧,只有自己全身心地投入到测试工作中来,并不断对它保持着学习的热情,才能真正成为一个合格的测试人。而且随着工作越来越久,我发现我热衷对测试的钻研,当然努力学习的回报就是我现在已做到了Test Leader,我愿意分享一些总结给新手,希望能使大家更清楚软件测试的工作:
1) 测试的工作性质。软件测试的直接目的是发现软件中存在的缺陷,是软件项目实施的不可缺少的环节。
2) 软件测试只能证明软件存在缺陷,不能保证软件没有错误。
3) 软件测试不是万能的,因为不可能发现全部的软件缺陷,而且软件的功能和性能不是由测试决定的。
4) 自动测试工具将有很大的发展空间。
5) 测试应该贯穿于软件开发的整个生命周期,软件测试的缺陷管理流程非常重要,报告的软件缺陷的质量,应该由他人验证,做到责任明确,方法简便可行。
2) 软件测试只能证明软件存在缺陷,不能保证软件没有错误。
3) 软件测试不是万能的,因为不可能发现全部的软件缺陷,而且软件的功能和性能不是由测试决定的。
4) 自动测试工具将有很大的发展空间。
5) 测试应该贯穿于软件开发的整个生命周期,软件测试的缺陷管理流程非常重要,报告的软件缺陷的质量,应该由他人验证,做到责任明确,方法简便可行。
我没后悔选择了软件测试,如果再给我一次选择的机会,我仍会不悔地选择学习软件测试!特别在今天的测试领域已不是昨日,入门容易,薪资不亚于编程。但会做和做好是两个概念,软件测试人员最好具有软件开发经验,理解软件工程的知识,这是提高软件测试能力的基础;刚刚毕业的学生,如果希望今后从事软件开发,可从事一段时间的测试,会更有利于今后的编程;而对于多年编程经验的程序员,如果改行做测试,更容易提高技术。软件测试时代已经到来,我相信:生活中你迈对一步,将会影响你的一生!