全部博文(465)
分类: 架构设计与优化
2013-05-27 15:08:28
对测试认识的三个阶段
蔡: 蔡为东,热爱测试工作,有超过10年的软件测试和团队管理经验。
邰:邰晓梅,独立测试咨询顾问
蔡:谢谢你的分享。虽然你的工作经历比较单纯,但我相信你在华为工作的11年当中,对软件测试的认识应该是变化和逐步提高的。
以bug、流程、人为中心
邰:是,我对软件测试的认识是有变化的。
在2008年之前,虽然我也一直在做测试工作,但是我的确思考不多。现在回过头来看,如果在成长的道路上有人时不时地指点一下,那真是一件值得庆幸的事,会进步很快。从2008年开始,我会经常浏览测试类的博客、网站,参加各种会议,多做交流,对测试的认识有明显上升。
旁观者说:找到自己的导师,虚心请教。有的时候经验丰富的人一句话,就能让自己少折腾几个月。
到现在为止,我对测试的认识可以大体划分为三个阶段。
第一阶段,以bug为中心。认为测试就是找bug,bug越多越好。这可称为原始阶段。在这个阶段里,一般都是拿到软件就开测,流程不一定规范,也没有想到要规范,只是找bug。
第二阶段,以流程为中心。在测试工作中,认为应该先定义各种测试流程和规范,认为只要follow这些流程和规范,就可以更有效、更高效地找bug,就可以做好测试。
第三阶段,以人为中心。认为测试是以人为中心。我现在也还在这个阶段。不再以流程为中心,把流程、模板放到边上,而把人放在中心的位置上。把测试工程师的能力和潜能发挥出来,这是比流程更重要的事情。
旁观者说:团队的核心就是人,团队管理者的主要工作始终是调动和保持员工的工作积极性。
注意:这三个阶段对于我个人而言是个顺序认知的过程,但不意味着每个组织都要串行依次经历这三个阶段,也就是说,不一定要先建立测试流程,才谈测试以人为中心的事情。
软件测试在没有规范的时候也能做,也能找到一些问题,有了规范之后你的测试看起来就会正式一些,但如果想把测试做好,就应该以人为中心。最近国内开始流行的探索性测试,就是以人为中心,充分发挥人的各项技能。
研究软件测试思维
认识到测试以人为中心后,我开始研究“软件测试思维”相关课题,这是一个很大的课题,不仅涉及测试领域的知识,还可以从心理学、社会学、人类学等很多领域获得启发,这个课题的研究我也是刚刚起步,目前开发了“认识你的测试思维”这门课程,旨在帮助学员认识自己的测试思维,以实现改进和提高。
我通过和不同的测试人员开展结对测试发现,在外部条件都相近的情况下,例如,在相同的时间内,相同的测试对象和测试环境,甚至相同的测试用例,不同的人却得到不同的测试结果。在测试工作当中,测试思维扮演着重要的角色。但是,对于大多数人来说,测试思维——你测试时是如何思考的——是在潜意识下发生,很难用语言表达的,所以为了提高测试思维,首先得认识当前的测试思维。
测试深度图
为了把看不见的东西可视化地表现出来,我提出了“测试深度图(Test Depth Graph)”的概念。通过这张图,可以展现出学员测试思维的特点,例如,是擅长深入思考(Focused Thinking)还是擅长广度思考(Defocused Thinking)等。在观察的过程中,我会告诉学员,哪些地方他(她)做得很好,这样他(她)就会得到激励,对测试工作更有信心。对于不足,我也会提起,这样他(她)在下次遇到类似场景时就会有意识地提醒自己,去做改进。这样的事情反复几次,一个人在测试思维方面就会得到提高。
旁观者说:表扬就是一种正面的引导。
蔡:对这三个阶段的认识的跨越你都是在一家公司,你的职业生涯比较顺利。
邰:是,我比较幸运,相对还是比较顺利的。刚进华为时,我告诉自己,两年后我就离开。过了两年,我发现有很多东西要去学习。就这样,年复一年,不断地觉得有新的值得去学习的东西,我也在一路不断成长。当你一直在学习一直有收获的时候,就会感觉很充实。我喜欢这种充实的感觉。
本文节选自《赢在测试2:中国软件测试专家访谈录》
蔡为东 著
电子工业出版社出版