一个软件测试工程师的成长日记(连载三)

发表于:2013-5-07 10:14

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

 作者:《从菜鸟到测试架构师    来源:51Testing软件测试网采编

  1.3  从专家到高手

  小艾成为软件测试工程师加入项目团队已有一段时间,参加的几个开发项目给他带来了一些实践经验。时常倾听同事的经验介绍,让他有机会对自己所处的水平做出一个合理的判断。随着软件测试基本理论及实践经验的积累,小艾感觉自己跟刚加入时已经有明显的区别。这种区别体现在几个方面,包括对组织结构的认识、对工作内容和工作方法的理解、对测试相关的专业技能的掌握等。软件测试工程师是一个技术背景非常强的职位,因此,技术是这个职位的立足点。尽管没有详细实践过不同的测试,但小艾已经对测试的来龙去脉有了比较系统的了解,对于测试的关键点有了清楚的认识。应该说,小艾逐渐从测试菜鸟成长为一名测试专家。

  对于在技术上进一步修炼的方向,小艾依然有自己的疑惑。究竟达到什么样的程度才算是脱离“菜鸟”头衔而成为一名专家呢?专家是否就意味着技术上已经达到了顶峰?优秀的测试工程师应该有哪些标准?

  带着这些疑问,小艾又找到他的导师凯文。面对有着类似经历的新人,凯文一直都是知无不言,言无不尽的。这种分享的氛围,使软件开发实验室成为一个非常适合学习和交流的地方。

  凯文的解释从区分新手、专家和高手三个级别谈起。

  刚开始接触一个新的领域时,对这个领域一无所知或者知之甚少,对于这个领域,我们就是新手。正如之前已经提及的,术业有专攻,同一个人,在一个领域是新手,并不妨碍他在另一个领域是专家。作为测试工程师新手,要成长为专家,需要对测试的相关专业技能进行系统的学习和实践。在开发项目组里,测试团队本身就包括多个角色,对于每种角色,从技能水平上也有新手和专家的区分。新手到专家的学习曲线主要包括学习测试和开发方法、测试计划和测试设计、测试文档的编写、发现和解决问题的一般方法等。在从新手到专家的发展过程中,“准专家”可以在专家的指导下完成特定的测试任务,能发现和解决一些比较常见的问题。随着经验的积累,测试新手可以成长为测试专家。

  软件测试的关键考量点是软件的质量,因此,对于软件工程师而言,经验积累是新手成长为专家的过程中不可缺少的环节。当测试新手对测试的相关技能都熟练掌握、经验积累也达到一定程度之后,新手就基本上成长为测试专家。测试专家对相关的测试技能和工具都已经熟练地掌握,能够以标准化的方式策划并完成测试任务。专家的“专业”,主要体现在他对软件质量的控制把握方面的专业。

  而高手则是专家更进一步的发展方向。专家的特点表现在对流程的严格把握,通过一种控制力保证软件的质量;而高手则比这走得更远。有一些非常复杂的系统或复杂的应用场景,已经超出了正常流程的控制范围。在这种条件下依然要保证系统能够正常满足需求,于是对测试人员提出了更高的要求。高手的价值就在这种超越一般情形的条件下体现出来了。总体而言,高手对于发现问题、解决问题,有更多超出一般步骤的灵感和直觉,这种灵感和直觉是建立在对系统的深入理解及高手本身强大的洞察力基础上的。

  如果说新手到专家的成长过程是一个学习“硬性技能”的过程,那么专家成长为高手则更在于“软性技能”的修为。软性技能的提高,归根结底是思考能力和分析能力的提高。新手可以随着经验积累和技能学习成长为专家,然而,经验的继续积累只是专家成长为高手的其中一部分。专家到高手的修炼,重点在于思考的方法和技巧。

  1.3.1  像外行一样思考,像专家一样实践

  如果抛开测试的具体技术和实现细节,只是关注测试的目的,那么测试的本质其实就是发现问题和解决问题的过程。在讲述问题分析的方法时,我们介绍过自顶向下和自底向上的方法。作为对一般性问题的分析方法,这两种方法都有助于问题的分析。但对于一些非常规性的问题,这种系统的方法却不一定奏效,可能效率并不高。这时,需要有非常规的方法来应对。

  如果让完全没有经验的人员进行测试并发现问题(我们称这个人为外行),遇到问题时,这个人可能有两种应对情形,第一种情形是束手无策,不知发现问题和解决问题都该从何入手;第二种情形是,这个外行不受任何成规的约束,提出一些天马行空的想法。因为没有专业背景的限制,这些想法可能真的不着边际,甚至扰乱了问题本身的解决,然而,这些不着边际的想法有时却能带来令人意想不到的效果,或是从全新的角度发现了问题的本质,或是找到了不同的思路和方法。相对而言,一个普通的专家因为受到许多既有方式的限制,就不太可能得出这种天马行空的点子了。外行以一种随性的方式思考,这种方式往往会带来意外的效果,因为随性的思考方式不会被规则限制。

  作为测试人员,在发现和解决问题时,外行的思考方式可以成为有效的切入点。好的切入点是一个不错的开始,然而,真正的实践还是必须以专家的严谨和慎重来验证想法是否正确。像专家一样实践--我们倡导的还是一种小心求证的态度。软件测试是一个非常严谨并且以事实说话的过程,任何假设都必须通过测试实践的检验。

  对测试已经有深入了解的人,想做到像外行一样思考,并非易事。测试专家往往下意识地对一个方法的技术可行性做判断,这种下意识能够高效地排除许多不可行的方式方法。但在某些时候,这种下意识却阻碍了创造性灵感的萌生。很多有意义的想法会因为可行性的判断而被扼杀在摇篮之中。像外行一样思考--追求的是一种新的方法或者角度,仅仅考虑某个问题是否可能存在或者某种方法是否能解决问题,不考虑方法是否有理论依据,也避免过多地考虑可行性。

  其实,可行性是基于以往的经验做判断,但是谁也不能认定,当前不可行的方法就永远不可行。认为科学已经进步到了终点的想法早已被证明是荒谬的。遇到棘手的问题时,测试高手能够跳出既有的条条框框,像一个外行一样重新审视系统的整体。当然,我们并不认为测试高手是个外行,因为这种“不受约束”的审视其实是建立在对系统的全面深入的理解基础上的,并不是一种纯粹的盲目。在这种大胆假设的前提下,即使是高手,也必须小心地求证假设是否正确。求证过程离不开反复的实验和验证。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号