中国软件测试专家访谈录(4)

发表于:2013-7-04 10:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蔡为东    来源:51Testing软件测试网采编

分享:

  测试深度图

  为了把看不见的东西可视化地表现出来,我提出了"测试深度图(Test Depth Graph)"的概念。通过这张图,可以展现出学员测试思维的特点,例如,是擅长深入思考(Focused Thinking)还是擅长广度思考(Defocused Thinking)等。在观察的过程中,我会告诉学员,哪些地方他(她)做得很好,这样他(她)就会得到激励,对测试工作更有信心。对于不足,我也会提起,这样他(她)在下次遇到类似场景时就会有意识地提醒自己,去做改进。这样的事情反复几次,一个人在测试思维方面就会得到提高。

  旁观者说:表扬就是一种正面的引导。

  蔡:对这三个阶段的认识的跨越你都是在一家公司,你的职业生涯比较顺利。

  邰:是,我比较幸运,相对还是比较顺利的。刚进华为时,我告诉自己,两年后我就离开。过了两年,我发现有很多东西要去学习。就这样,年复一年,不断地觉得有新的值得去学习的东西,我也在一路不断成长。当你一直在学习一直有收获的时候,就会感觉很充实。我喜欢这种充实的感觉。

  重点测试技术

  蔡:请你给大家介绍一下你认为重要的测试方面的技术,或者新技术。

  邰: 所谓的新技术,是有context(上下文)的。例如ReqBT(Requirements Based Testing,基于需求的测试),我邀请了Richard Bender在ChinaTest 2012上做了介绍,有的朋友可能会认为这是测试新技术,其实作者提出来已经30多年了。新与不新,是个相对的概念,有的人感觉比较新,有的人则早就接触过了。

  不同的公司也有不同的情况。对于有些公司来说,在时间、资源等很有限的情况下,ReqBT这样偏"重"型的方法可能就不适合,他们可能更需要类似于RST(Rapid Software Testing,快速软件测试)这样偏"轻"型的方法,RST是James Bach和Michael Bolton讲述的一门课程,侧重于如何在测试进度紧张、测试资源有限等条件下快速而有效地开展测试工作。所以,技术的应用或者重要与否取决于项目上下文。

  人也是有上下文的。不同资历的人,看法会不一样。当然,如果只是年资的增长但是见识没有增长,这是自己要认真思考的问题。对于培养测试新手而言,我的观点是,并不一定一开始就要学习系统的软件测试知识,或者去学习测试新技术,而应当是多实践并且多思考。给他们一个测试任务,让他们去做。这对于新手来说肯定是个挑战,但是在这种情况下他们也会发挥自己的各项能力去做。当然,指导者也不是撒手不管,可以和他们一起结对测试,发现他们的不足,指导他们去做测试。通过实践,新人对软件测试的认识和兴趣都会得到提高,然后再去教他们测试理论知识,例如等价类边界值等,效果会更好。

  旁观者说:邰晓梅这里提出来一个新的观点:对于软件测试,可以走先实践、后理论的学习路子。这里有新意,值得参考。对于公司内部转岗的情况,可以尝试一下这种做法,先直接做测试,然后慢慢回过头来学习理论。对于刚毕业的大学生朋友,因为需要找一份测试工作,先学习测试理论会有利于通过面试。

  如何学习软件测试

  蔡:你对于正在学习软件测试的朋友有哪些建议?

  多实践,多思考

  邰:我强调的是,不管你是在学校里,还是在公司里,要多交流,多实践。如果条件允许,最好找一个导师,项目里的最好,可以面对面交流,这对成长有很大的帮助。从我个人的体会来说,人与人之间传递信息最有效的方式就是面对面的交流,比看文档、读书、参加培训效果更好。

  旁观者说:寻找导师,向周围的人学习。如果真能找到一位师傅,建立一种或密切或松散的师徒关系,收获往往很大。除了技术方面,思维方式和做事风格都是对人有很大影响的几个方面。

  找导师往往很难,因为这是要双方愿意的事情。每个人对自己的师傅有一定的期望,有的时候你看准了一位师傅对方也不一定愿意来指点你。虚心请教,有利于学习和找到导师。

  多实践,多思考。如果工作了七、八年,在软件测试方面的进步却并不明显,这是值得反思的:是不是自己思考不多?

  三步法

  如果你想学习软件测试,甚至成为测试的牛人,我们可以应用前面提到的Know Your Mission的方法思考这个问题。

  第一步,请你描述自己的目标,你想成为什么样的人?是想写软件测试方面的著作,还是要得到公司的认可?目标要定下来。

  第二步,如果想要实现这些目标,需要具备哪些技能和知识?也许你需要了解测试设计技术,也许你需要在某个方面很强,比如测试自动化、安全性测试、性能测试等。

  第三步,如何掌握这些知识和技能?也许你要去学习一些相关的测试课程,浏览相关的网站,阅读一些测试书籍,思考总结自己的测试经验等。

  归纳起来,这是一个What'What'What(目标是什么-需要什么技能和知识-做些什么以获取这些知识和技能)的过程。这3个What是一个迭代的过程,刚开始的时候对每一个What的认知少一点没有关系,循环执行这个过程,就会一步步贴近你的目标。

  旁观者说:定一个目标何其容易,愿意一步一步、一天一天去实现它又何其难啊!

  测试就是学习

  我主张的一个观点是,Testing is learning(测试即学习)。谁的学习能力强,谁就可以快速地了解被测对象,快速地了解哪些区域bug比较多、风险比较高,从而把测试做得很好。一个人要想成为测试高手,需要具备很强的学习能力。如果只是资历高,但学习能力差,会很麻烦的。

  (未完待续)

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号