架构师Jack专访:全面认识软件测试架构师
转载:https://www.cnblogs.com/edwardsun/p/5403766.html
◇ 测试架构师的职责
测试的职业通道基本是管理线和技术线两条路。
管理线主要的职责:更多是项目管理和资源管理。
技术线主要的职责:更多是技术管理和业务知识。
软件测试架构师更多就是技术线的带头人。管理线的人更多的工作语言是:绩效,考评,时间点,质量等。
技术线的更多工作语言是:技术规划,技术可行性,技术价值,技术共享性,解决什么问题等。
软件测试架构师更多是一种角色,而不是一种title,是测试技术上和测试经验上有影响力的人。什么是有测试影响力的人呢?就是你没有任何官位,你不是任何人的行政上级,但是大家在测试技术上和技术方向上愿意跟随你,愿意采纳你的建议。
其实在很多中小公司中测试组长和测试主管也兼职软件测试架构师的角色和职责。在大公司中,测试人员数百人时,管理工作所需要的精力会非常大,因此技术线和管理线就会分的比较开了。
更多软件测试架构师做什么,可以看我的博客。在我们公司软件测试架构师的职责定义细则也不是非常统一的,也不是很在意是否有这个title,但有一点是一样的,都是测试技术线,对产品的项目管理和做人的工作就相应减少很多。
◇ 测试架构师的价值
其实这些类型的工作早已有人在做的了,以前叫高级测试工程师,叫系统测试工程师,现在叫测试架构师,其实变的只是title,工作内容还是没有变。
关于测试架构师的重要性和价值,从公司角度出发,测试架构师是在帮助公司从提高运营效率的角度来提升公司的竞争力。通过引入,实践,推广新测试 技术,可从单点上提高某些技术效率和提高测试质量,也可从全局提高某些技术效率和提高测试质量,同时帮助员工培养。测试架构师这个角色也是一个团队贡献 者,是一个领导者,而不是孤胆英雄和独立贡献者。从影响力的角度来看,做好测试架构师比做好测试经理还要难,因为你是在没有考评权的情况下要去改变测试人 员,去推广你的专家价值。据我观察我们公司中没有很好沟通能力的人很难在测试技术路线上有很大的影响力。
可以说测试架构师是一个公司所有测试技术经验的洼地,他了解内部大部分的技术最佳实践,也在积极了解公司外的最佳实践,通过个人的实践评估出适 合自己公司现状,能解决公司现在问题的测试技术,有利于公司做好测试技术知识资产的管理,减少公司内测试知识资产的重复浪费。对于测试架构师没有支撑的项 目组在测试质量和测试效率上的提升相比其它组要慢一些,项目组内对更佳的测试经验和测试技术了解较少,员工成长较其它组也要慢些,视野要窄些。
国内可能有些误区,如把测试架构师定位为测试工具开发工程师或自动化测试开发工程师,其实这些工作不需要测试出身也能做好。测试技术领域除了工 具和自动化,其实还有很多的领域:如何提高测试设计的质量,如何提高有效场景的测试覆盖率,如何把握好测试成本和测试目标的平衡,如何帮助开发提高产品的 可测试性,如何做好产品的可测试性设计,如何做好产品的专项测试(可靠性、安全性、性能、压力等),如何做好测试执行的保障,如何做好黑盒以外的测试(需 求和设计的测试),如何做好编码前的测试,编码阶段的测试等等。
测试人员的核心竞争力不是编写自动化,也不是做测试工具,而是测试质量,测试设计的质量。
测试架构师和产品架构师最大的竞争力区别就体现在如何提高测试质量的经验和能力上,这才是测试人员不可被替代的独特核心竞争力。
工具开发和自动化测试开发的积累无法打造不被开发人员替代的测试核心竞争力。如果一个测试架构师50%的时间都去写代码做测试工具开发了,那么 就是在浪费测试架构师好不容易积累起来的测试经验,其实也是在浪费公司的测试知识资产。测试架构师应该做测试领域中无法被他人替代的工作,测试工具和自动 化测试框架的实现是可以被开发工程师或其它有一定开发能力的测试人员替代做的。测试架构师可以基于如何提高测试覆盖率,如何提高测试效率和测试质量的角度 提出测试工具和自动化测试框架的开发需求,甚至一些实现的指导就可以了。在我们公司有几十名测试开发人员帮助我们实现测试工具,让我们聚焦测试技术,而非 聚焦开发技术。
◇ 理想化的团队角色分工
测试架构师和测试团队中的其他角色,比如测试工程师、测试经理等等,他们的角色定位有什么不同?在一个理想化的团队中,他们的分工是一个什么样的状态?关于这些问题在我的博客中有两篇文章是专门提到的,分别是《测试架构师与产品测试组、产品开发组的配合》和《测试架构师与测试经理的关系》。大家可以直接去阅读,有什么问题也欢迎留言交流。
◇ 我的测试生涯
我的测试生涯分为3个阶段:
第一个阶段:积累期。在一家有几十名测试人员的公司从事几年测试一线工作,独立从事了绝大部分的测试活动。例如:独立负责新特性的测试用例设计,压力测试,性能测试,安全性测试,自动化测试框架从无到有的实现,系统测试,基于用户场景的测试。
最大的收获是:打好了测试经验基础和研发项目经验基础,对从事测试架构师的工作支撑非常大。
第二个阶段:成长期。跟随了几位硅谷的测试专家工作了几年,了解和学习了很多硅谷的测试技术和意识,大大拓展了测试的视野,拔高了我在测试业界 的意识境界高度。对自动化测试、安全性测试、系统测试、测试管理、测试质量保障等领域又有了更深入认识和经验积累。测试基础和地基又打得更深了。
第三个阶段:爆发期。经过前几年的一线经验积累,业界的视野拓展。到现在的公司平台,得到了充分的发挥。对各种测试理论、新技术的理解和实践感 觉很轻松,并能提出自己的测试理论和测试架构。从测试体系系统化和理论深度获得了质的提升。现在的影响力涉及公司数百名测试人员,领导公司多个测试专项领 域。
◇ 测试架构师具备的素质
软素质:沟通能力,领导力和影响力。没有这些软能力,就无法把你的知识和经验为公司做出大的贡献,发挥业务专家的作用,只是个人孤胆英雄而已。系统化 的思维能力,这是普通级与专业级的本质区别。创新能力,没有创新能力就无法解决他人解决不了的问题和困难。
硬素质:测试架构师是一个系统专家,不是专项测试工程师也不是开发人员。因此业务基础必须很扎实和深厚,要 具有全面的测试领域的一线测试经验。至少要有5年以上的一线测试经验和全面测试类型的经验。没有宽度就成不了系统专家,没有几年的一线测试经验就没有深 度,同样成不了系统专家,没有某个测试类型的实战经验就无法融会贯通的知道自己团队在该领域需要解决的问题,也不会识别适合自己团队的新技术或意识。
◇ 新手入门&职业规划
首先:厚积薄发!打好一线测试执行的基础,根据各人的悟性不同,也许有人需要10年,也许有人需要7、8年。
其次:拓展眼界!找到好的测试业务专家向他学习。如果没有就尽可能到大公司去工作,哪怕做外包也干,年轻人尽早拓展视野,对自己的眼界和成长会 有很大的帮助。如想走管理路线,更要到已证明成功的优秀的大公司去。俗话说大公司发展靠管理,有利于年轻人尽早建立正确的体系化的管理知识体系,掌握正确 的领导管理习惯和意识。有幸做到主管后自己要努力做一个真正的受大家跟随的领导者,否则做一个蹩脚的管理者最终害的是自己,有可能到中年后既无技术所长也 无真正的领导能力所长。
最后:职业发展需要一个好的环境平台,也需要一些运气。当运气不佳时,内心要坚持自己想要的目标,要相信人不可能一直走大运,也不可能一直走坏 运气的,运气不佳时要充分挖掘现有环境下可利于自己成长的内容。30岁以前都还只是一个学习和成长的阶段,你的首要任务是成长和学习。
jack博客:http://www.51testing.com/?uid-293557-action-spacelist-type-blog-itemtypeid-12701