《测试架构师修炼之道》之 测试工程师职业规划读后感
读了《测试架构师修炼之道》之后,内心还是惶恐的,程序员35、40岁这两道坎如何应对,测试工程师其实也不例外。这本书第2章节主要讲了软件测试工程师的职业规划,内容还是非常不错的,对一些内容整理下,留作笔记,以备后用。
软件测试在职业发展方向上,概括来讲分为“管理”和“技术”两大类。另外也可以在质量领域发展。
比较流行的设置包括测试组长、测试经理、测试代表、测试主管、测试总监、测试部长等,不同的公司有所差异,按照管理级别的高低,大致分为以下三级。
在技术上的发展似乎不像在管理上的发展那么明确,一种观点是测试资历和能力分为助理软件测试工程师(或者是实习软件测试工程师)、初级、中级、高级、主任(或资深)软件测试工程师。但是作者认为没有突出“软件测试技术”,作者更倾向一种简单分法---产品测试技术和专项测试技术。
产品测试技术:把某个具体(或一类)产品测试得更好的技术;
专项测试技术:不针对具体的产品,而是测试领域普遍的技术。
如果只为没有发生变化,工作两年的测试工程师和工作3年的测试工程师差别在哪里?工作3年的测试工程师和工作4年的测试工程师差别又在哪里?
书中作者引用了姜汝祥的《请给我结果》这本书中的一个关于“秘书九段”的故事,从中找到了答案(此故事后续单独找出来分享)。
总结:测试组长、测试经理、测试架构师、测试总监等,都是被赋予了不同责任的“角色”,“角色”的转变在一定程度上反映了职业的发展。但是不能说“发展”一定要“角色”发生变化。从“秘书”变成了“老板”,是“发展”没错,同样从“一段秘书”升级为“二段秘书”也是“发展”。
普通测试工程师的“测试六段”:
①也许受到中国传统观念“学而优则仕”的影响,很多人会不假思索地选择做管理;
②甚至会认为一个30岁的软件测试工程师还在做技术是一件丢人的事情;
③其实先抛开问题不说,单纯从时间来推断,本科生正常情况下23岁毕业,到30岁有7年时间;研究生25岁毕业,到30岁只有5年时间,对软件测试这种深入难、且对从业者综合要求很高的职业来说,5年、7年其实并不算太长,对软件测试的理解只能算是“管中窥豹”而已;
④所以建议软件工程师在计划职业发展里程碑时,可以把时间放得更长一些,5年一个小台阶,10年一个大台阶。
①这是因为软件是一门基于实践的学科,对软件测试来说,“管理”不可能是“绝对的管理”;
②软件测试的管理者首先要是产品测试技术专家,这是“做正确的事”的基础;很难想象一个不懂测试技术、不理解各项测试活动的软件测试管理者如何评估软件测试的重点、难点,如何做计划,如何评估风险控制项目进度;
③“技术”也不能是“绝对的技术”,不理解“价值” “目标” “成本”的技术人员容易犯的错误就是陷入“唯技术论”中,缺乏“管理”思想会让他们制定的测试策略不切实际,一纸空文的测试策略是没有意义的;
④一个理想的测试团队,具有测试经理(测试代表)和 测试架构师两个角色。测试经理负责管理,测试架构师负责技术,但并不意味着测试经理只有管理,测试架构师只管技术。相反,两者要熟悉彼此领域的关键活动,能够评审关键的交付件,相互能够提供各自领域关键活动的决策参考,可以相互备份;
⑤所以建议软件测试管理者一定不要过早的放弃技术,走所谓的“纯管理”路线,把自己陷入各种管理会议、沟通协调中。不要认为读了几本书,参加了几次沙龙论坛、几次培训就能掌握关键的测试技术方法,只有在产品测试中不断地实践、总结、再实践、再总结,才能不断提升自己。如果技术有短板,测试管理水平也不能真正上去,随着测试资历的加深,职业能力和资历变得越来越不匹配,个人职业发展道路反而越来越窄。
100个个人心中有100个哈姆雷特,100个人心中有100个想跳槽的理由。概括无非就两种:一是遇到难以解决的问题;二是现有职业和自己的职业规划不符。
①对于第一种情况,建议是理性、慎重、再理性、再慎重、没有一个“完美”的公司,职场上遇到的问题很可能是“共性”问题,比如加班、绩效考评不公平等,很难通过说跳槽可以彻底解决问题了;
②低于第二种情况,如果通过跳槽可以获得更好的职业发展机会和更广阔的职业发展舞台,比如公司更规范,职业发展通道更明确,职位上有所提升,当然要跳槽;
③不建议做“平级”之间跳动。当然如果B公司提供了比A公司高很多的薪水,也许可以考虑一下。“平级”跳槽不会对个人能力提升带来明确的益处,而且要考虑适应新环境、新制度和新的人际关系这类隐形成本,考虑熟悉产品的成本,很多公司的HR对频繁跳槽的候选者有“稳定性差”的印象,当机会来临的时候,可能就抓不住了。
④上策要学会“韬光养晦”。软件测试不仅需要实力,更需要机遇。比如目前的公司暂时提供不了“测试管理”的机会,与其自怨自艾,不如工作总寻找各种做“测试管理”的机会,如指导新同事工作、组织分享测试技术、改进测试流程等。另外可以观察那些优秀的测试管理者是如何处理测试项目事务的,琢磨他们解决问题的思路和方法,积累自己的经验,提升相关能力。有了这些准备,当机会来临的时候,你才能抓住。机会只会垂青有准备的人。
建议在跳槽的时候,除了考虑公司、薪水、职位之外,还要考虑产品的持续性,让之前的经验尽可能多地“复用”。相似的产品,不同的公司,还给了你一个站在新的角度理解产品、审视产品测试的机会。
比如:
①测试技术培训;
②测试团队成熟度评估及改进;
③测试流程建设;
④测试项目改进;
⑤测试工具开发
。。。。。。
①现在软件测试外包主要的运作思路是将公司认为非核心的部分外包出去进行测试,主要走“低端”;
②产品的非功能属性包括性能、安全、可靠性、易用性、兼容性等领域,每个领域又有若干个子领域,每个领域几乎都有自己的测试方法和测试工具,雇佣或培训测试人员掌握相关技能,购齐相关的测试工具,再搭建测试环境进行测试,对任何一个团队来说,都是一笔不菲的开销;
③软件测试高端外包内容针对的就是软件测试中的这些重要的非功能属性进行的专项测试。
①软件测试工具可以分为和产品相关的测试工具、和测试技术相关的测试工具、和测试管理相关的测试工具;
②和产品相关的测试工具一般都是为了解决产品测试的具体问题而开发的,针对性都很强。如产品性能测试工具Avalanche、IXIA、LoadRunner;产品安全性测试工具Metasploit、BackTrack等。也可以根据产品测试难点有针对性地开发定制一些工具,如对一些私有协议开发协议异常测试工具、开发模拟用户大量呼入的测试工具等;
③和测试技术相关的测试工具有针对产品特点的自动化测试平台(或二次开发)、用例设计工具等;
④和测试管理有关的工具有测试缺陷分析管理工具,测试需求、用例跟踪管理工具等等。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。