软件测试工程师的分类从新手到专家

软件测试工程师的分类从新手到专家

 两个重要的概念。

  1、经验。不仅仅是我做过什么什么,做了多少多少次,多少多少年,更重要的是在一次次重复的过程中,发生了思维的改变。直白一些说就是在做的过程中不断的思考、学习、改进。否则就只是重复了N次,而并没有对等的经验。——这个问题在一直以来的面试中经常遇到,很多声称有4年经验的 tester,其实只是重复了很多工作,而经验只能相当于2年。

  2、情境。区分从新手到专家各个不同等级的重要标志,直白的说,就是一个人对当前所需要解决的问题认识的是否准确。这个不太好量化,牵扯到一个“怎么知道自己认识的是否准确”的问题,所谓的“决策失误”之类的,就是这么个事情。作者的一个观点是“新手通常乐观而无畏,而专家就谨慎的多”。

  --------------------------------------------------------------------------------

  进入正题了,说说从渺小变强大的过程吧,在讨论的过程中需要反复的引用“经验”和“情境”这两个概念。

  NOTE: 新手 和 专家 不是绝对的。你可以在某个领域是专家,而在另外一个领域是新手。

  1、新手:对所需要处理的问题毫无经验。

  ● 作为一个新手,最大的期望是有一个 list 让他照着做就顺利的把事情搞掂,而不是给他一些建议让他自己去尝试——悲观点估计,他会因为无法理解复杂的概念体系以及受挫而变得烦躁易怒、痛苦不堪,并可能随时放弃。所以对待新手的最好方法就是前面那个。

  ● 当新手手执一份 list 时,表现的会像个专家,因为你可能会发现他的思路很有条理、很靠谱——这个典型的例子就是呼叫中心的座席,典型的 if...else...else...else...then...end 的模式

  ● 新手的最大特点,就是无法处理任何异常/例外的情况,哪怕是跟 list 上稍有差别——当然,也有些胆子大的敢胡乱折腾。

  ● 专家可以写出完美的 list 供新手化装成专家,但如果专家自己用这个 list 来工作,则可能表现的还不如那个新手化装成的专家。很绕口,不过的确是这么个意思。

  ● 在公司里,常见的新手是应届生/实习生。

  2、高级新手

  ● 高级新手与新手的最大不同,在于有了一点经验(注意前面对“经验”的定义),并开始尝试着通过学习来独立解决一些局部的、具体的问题,但通常属于依葫芦画瓢,画得有点费劲,并且可能不太像。

  ● 高级新手开始有了一些碎片化的知识和经验,但对需要解决的问题缺少系统化、结构化的认识。

  ● 例如一个 tester 能在文档的帮助下独立完成对环境的搭建和 test case 的执行以及 bug 提交等工作,并且最重要的是他开始能够借助 Google 解决一些技术上的例外情况;或者,一个初级开发人员能通过 Google 或 API 的学习编写一些小段的功能代码。

  ● 在公司里,通常我们把高级新手称为初级工程师。

  3、胜任者:团队中的中坚力量

  ● 对于自己所从事的工作,胜任者已经掌握了现有的一整套工作思路/方法,并能用来解决相同领域的各种不同问题。例如,一个测试工程师可以理解不同系统的需求,并根据用例设计方法设计出测试用例;同时,他能够与不同的项目团队进行沟通,完成项目的各项测试工作。既是对于不同的业务领域,也能较快的学习上手。

  ● 胜任者掌握了处理解决类似问题的多种方法,并且有能力区分当前哪个方法更适用。

  ● 胜任者拥有完全独立工作的能力,而 新手 和 高级新手 通常需要 胜任者 的监督和帮助。

  ● 在公司里,通常胜任者是 中级工程师。

 4、精通者

  ● 相比 胜任者,精通者做到了“知其然,知其所以然”,不单单能根据当前的情境(参照上面对情境的定义),更有能力思考如何改进原有的解决方法/方式,以更高效的解决问题——这依据的是其对技术、业务、过程的结构化、系统化的理解和思考。

  ● 精通者 能够理解一些抽象的信息,甚至从中吸收一些新的东西——但未必一定要通过动手实验,进而提出新的抽象模型/模式。

  ● 对于精通者来说,具体的技术/工具已经不是其完成工作的障碍。

  ● 对新手和高级新手的容忍度很低。

  5、专家

  ● 已经不再受任何规则/指南的约束,解决自己领域的问题对他们来说似乎不需要思考,如在前文中提到的,专家使用的是“直觉”,这种通过长期大量反复的实践、总结和思考/冥想以后,已经由意识层面进入了潜意识层面的东西。

  ● 专家可以把自己的解决思路/模式梳理成 list/指南,但是他深知无法将所有的细节和例外都包含其中,而这些细节和例外,就是“情境”中最重要的部分,甚至各种细节变化的累加,足以使一件事情变成了另外一件事情,而专家总是能从容的处理这一切。另外,因为专家深知这一切,在他未表现出来的内心中会对问题保持谨慎的态度,而相对的,新手或高级新手有一种盲目的乐观。

  ● 如果你要专家使用自己编写的 list/指南去工作,他将无法施展出自己的才能,甚至表现的像个高级新手。所以,对于专家不要要求他像其他人那样工作。

  ● 如果你见过真正的太极高手,就能体会到什么叫“行云流水”一般,一切显得从容不迫,而这就是专家给人的感觉——可以做到完美,并且感觉不到他是在处理那些胜任者无法想明白的难题。

  ● 据说人群中能成为专家的,只有1%-5%,所以貌似不用强求自己一定要成为专家,做个精通者也挺好的。

  --------------------------------------------------------------------------------

  讨论完了从新手到专家的过程,早来说点其他有趣的东西。

  1、专家应该尝试编写指南供新手和高级新手操作,并为胜任者和精通者提供培训和指导,但应该避免直接培训新手和高级新手。

  2、精通者同样无法忍受新手和高级新手,所以最好去帮助胜任者把事情做得更好。

  3、胜任者是培训和指导新手和高级新手的最佳人选。但是,如果缺少了精通者和专家的指引和帮助,胜任者想突破自己将是一个非常痛苦和漫长的过程。

  4、新手需要“被驾驭”,别理解错了,他们需要在有明确指引的情况下快速的完成任务,快速收获成就感,否则很容易被挫折打败。

  5、高级新手需要更多的激励和实践,以帮助他正确的理解当前所从事的工作,并尽快成长为胜任者。

  6、合理的人力结构并非金字塔结构,团队中新手和专家都不要太多。据统计,大概是这样的(书中只有图例,我大概的估算了一下):高级新手 40%,胜任者 30%,精通者 10%,新手 15%,专家 5%。

  7、但如果是一个 agile 团队,新手和高级新手都不要太多,因为 agile 中充满着各种“隐喻(oracle)”和“经验之谈”,这将大量依靠精通者和专家来解读和运作。

  8、在推动团队前进方面,精通者与专家有同样的价值。

版权声明:本文出自 aiffir 的51Testing软件测试博客,欢迎转载......

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-19 13:46:13

软件测试工程师的分类从新手到专家的相关文章

浅谈软件测试工程师的培训工作

国内软件测试工程师的职位从无到有,经历的时间还不足10年.成熟的软件测试理论体系构建也仅有10余年的历史.而纵观现在如雨后春笋般蓬勃增长的计算机软件企业,对优秀软件测试工程师需求和渴望的现实,不禁让我们不得不去思考一个问题:如何开展并做好软件测试工程师的培训工作. 对于软件测试的重要性,很多人有些误解.因为刚刚开始做软件测试的人员往往是从黑盒测试做起,而黑盒测试不需要编程经验,所以总是给人感觉测试人员不需要太多的知识,无论谁上了岗都能做,因此也就导致软件企业不愿意.也认为不需要对软件测试工程师开

《软件测试工程师面试秘籍》目录—导读

内容提要软件测试工程师面试秘籍本书用轻松.愉快.亲切的语言为广大应聘测试岗位的读者组织了一场求职战役.书中语言精练,内容丰富,涵盖应聘基本流程.开发类基础知识.测试类专业知识.笔试面试技巧,并穿插了大量名企的笔试面试题.相信必能帮助对应聘完全无知的菜鸟们迅速成长为百战百胜的.羽翼丰满的雄鹰. 本书适用范围广,包含了各类语言的笔试.面试题,以及Java.C++.C#等.本书专业实用性强,除了有一般程序员的基本知识和题目外,还另外针对测试这个岗位设计了一个章节,包含Web测试.移动App测试.游戏类

招聘:用户界面交互设计师,软件测试工程师,软件开发工程师,工作地点:长沙

问题描述 职位名称:用户界面交互设计师职位说明:设计产品用户交互界面,发现产品可用性问题,改进产品的整体体验和易用性职位要求:1.大学本科或以上相关学历2.具有较好的沟通能力.主动性和团队协作能力3.积极的人生态度,有理想的现实主义者,身心健康,诚实正直4.2年以上软件界面设计经验5.具有一定的客户引导.用户研究.原型设计.可用性测试和评估技能6.对用户体验方面的理论有比较深刻的了解和认识7.具备很强的创新能力和在复杂的约束条件下找到平衡或创新的方法8.熟悉软件开发流程,对Usecase和ASP

微软的软件测试工程师——《微软的软件测试之道》

   好多人极力推荐<微软的软件测试之道>这本书,于是在网上搜索了一番,英文版的阅读起来有难度,在51CTO上发现了前第二章和第三章中文的内容.     在这个世界顶级的企业里,软件测试工程是的测试是怎样的. ------------------------------------------------------------------------------------------------      一.职位名称含义: 即使你给玫瑰花起不同的名字,它闻起来可能还是同样的香.但是,如果

个女孩从软件测试工程师到主管的成长历程

摘要:燕子(化名)从前是学经济贸易的,由于对测试行业的强烈兴趣,毕业后在北京学校学习软件测试工程专业.工作不到一年的时间里,她已经从测试员升职到测试主管了.对于学习.工作,她积累了许多点点滴滴的经验,愿意与大家分享. 走入测试行业:兴趣.知识 说实话,我做测试工作的时间不是很长,学完软件测试工程师的课程后,到现在也就是一年多的时间吧,不过,我愿意自己学习和工作中积累起的这些点滴与大家分享. 我走入测试行业完全是因为兴趣,兴趣产生学习和工作的热情,真的是一点都不假.从我选择走入这个行业,学习.工作

紧急寻找GIS软件测试工程师

问题描述 美国公司紧急寻找2位GIS软件测试工程师,具体要求和待遇面议,请有兴趣者速与我联系,薛先生,QQ:35154589,Email:35154589#qq.com(请把#换成@).谢谢! 解决方案 解决方案二:能给到20k不?解决方案三:20k??能给这么高么??开玩笑吧!解决方案四:做计算机的以为GIS是啥高级玩意解决方案五:大致待遇多少?解决方案六:跟给到20k解决方案七:能给到20K

软件测试工程师的角度看论证学问

争论与论证从来都不是新鲜事物,作为软件行业的科技工作者,理应对各种论证的手段了如指掌才是.然而,从各种我参与的有争论的场合来看,事实并非如此.许多论证最终都停在口号式的结论,或是由于自说自话无法进行下去.科学对人类的贡献之一在于科学的方法,而"合理"的论证方式才是科学真理得以彰显的手段. <论证是一门学问>一书中提到了论证的基本规则,以及各种论证的方式:类比论证.因果论证.演绎论证.这些方法都不是什么难度很高的方法,但在实际的争论过程中,尤其是在微博上进行的论证中(字数的限

怎么的技能可以让软件测试工程师获得高薪?

在某个地方看到的关于这个问题的探讨,发出来给大家分享下: 怎么的技能可以让软件测试工程师获得高薪? 首先,本人作为一名高级测试工程师及管理者讲讲自己的见解,如讲的不好请轻吐槽. 软件测试技能,高薪这两个范围都很大.我们知道无论什么技能在一个专有的领域达到专业或者说非常牛叉的水平都能获得高薪. 大体上,软件测试分为白盒测试和黑盒测试. 目前国内大部分公司的白盒测试都是由开发人员完成(国内现状就是这样,如果我懂代码那么我为什么要做测试呢,我肯定做开发啊,因为开发薪水比测试高). 下面说黑盒测试,既然

《软件测试工程师面试秘籍》—第1章1.1节初出校园

第一章 知己知彼,百战不殆软件测试工程师面试秘籍求职,类似于打仗,是一场挑战自己的战斗,是一场跟用人单位的博弈,更是一场千人过独木桥的厮杀.混战.<孙子·谋攻篇>中说:"知己知彼,百战不殆:不知彼而知己,一胜一负:不知彼,不知己,每战必殆.".在当今竞争激烈的职场中,同学们想谋一份令他人羡慕.让自己欣喜若狂的岗位,事先充分准备是十分必要的.若能在笔试.面试中不断认识并提高自己,不断了解用人单位和面试对手.判官,不断改进进攻对策,那么你离理想的职位不远了. 1.1 初出校园软