◇测试架构师的职责
测试的职业通道基本是管理线和技术线两条路。
管理线主要的职责:更多是项目管理和资源管理。
技术线主要的职责:更多是技术管理和业务知识。
软件测试架构师更多就是技术线的带头人。管理线的人更多的工作语言是:绩效,考评,时间点,质量等。
技术线的更多工作语言是:技术规划,技术可行性,技术价值,技术共享性,解决什么问题等。
软件测试架构师更多是一种角色,而不是一种title,是测试技术上和测试经验上有影响力的人。什么是有测试影响力的人呢?就是你没有任何官位,你不是任何人的行政上级,但是大家在测试技术上和技术方向上愿意跟随你,愿意采纳你的建议。
其实在很多中小公司中测试组长和测试主管也兼职软件测试架构师的角色和职责。在大公司中,测试人员数百人时,管理工作所需要的精力会非常大,因此技术线和管理线就会分的比较开了。
更多软件测试架构师做什么,可以看我的博客。在我们公司软件测试架构师的职责定义细则也不是非常统一的,也不是很在意是否有这个title,但有一点是一样的,都是测试技术线,对产品的项目管理和做人的工作就相应减少很多。
◇测试架构师的价值
其实这些类型的工作早已有人在做的了,以前叫高级测试工程师,叫系统测试工程师,现在叫测试架构师,其实变的只是title,工作内容还是没有变。
关于测试架构师的重要性和价值,从公司角度出发,测试架构师是在帮助公司从提高运营效率的角度来提升公司的竞争力。通过引入,实践,推广新测试技术,可从单点上提高某些技术效率和提高测试质量,也可从全局提高某些技术效率和提高测试质量,同时帮助员工培养。测试架构师这个角色也是一个团队贡献者,是一个领导者,而不是孤胆英雄和独立贡献者。从影响力的角度来看,做好测试架构师比做好测试经理还要难,因为你是在没有考评权的情况下要去改变测试人员,去推广你的专家价值。据我观察我们公司中没有很好沟通能力的人很难在测试技术路线上有很大的影响力。
可以说测试架构师是一个公司所有测试技术经验的洼地,他了解内部大部分的技术最佳实践,也在积极了解公司外的最佳实践,通过个人的实践评估出适合自己公司现状,能解决公司现在问题的测试技术,有利于公司做好测试技术知识资产的管理,减少公司内测试知识资产的重复浪费。对于测试架构师没有支撑的项目组在测试质量和测试效率上的提升相比其它组要慢一些,项目组内对更佳的测试经验和测试技术了解较少,员工成长较其它组也要慢些,视野要窄些。
国内可能有些误区,如把测试架构师定位为测试工具开发工程师或自动化测试开发工程师,其实这些工作不需要测试出身也能做好。测试技术领域除了工具和自动化,其实还有很多的领域:如何提高测试设计的质量,如何提高有效场景的测试覆盖率,如何把握好测试成本和测试目标的平衡,如何帮助开发提高产品的可测试性,如何做好产品的可测试性设计,如何做好产品的专项测试(可靠性、安全性、性能、压力等),如何做好测试执行的保障,如何做好黑盒以外的测试(需求和设计的测试),如何做好编码前的测试,编码阶段的测试等等。
测试人员的核心竞争力不是编写自动化,也不是做测试工具,而是测试质量,测试设计的质量。
测试架构师和产品架构师最大的竞争力区别就体现在如何提高测试质量的经验和能力上,这才是测试人员不可被替代的独特核心竞争力。
工具开发和自动化测试开发的积累无法打造不被开发人员替代的测试核心竞争力。如果一个测试架构师50%的时间都去写代码做测试工具开发了,那么就是在浪费测试架构师好不容易积累起来的测试经验,其实也是在浪费公司的测试知识资产。测试架构师应该做测试领域中无法被他人替代的工作,测试工具和自动化测试框架的实现是可以被开发工程师或其它有一定开发能力的测试人员替代做的。测试架构师可以基于如何提高测试覆盖率,如何提高测试效率和测试质量的角度提出测试工具和自动化测试框架的开发需求,甚至一些实现的指导就可以了。在我们公司有几十名测试开发人员帮助我们实现测试工具,让我们聚焦测试技术,而非聚焦开发技术。
◇测试架构师具备的素质
软素质:沟通能力,领导力和影响力。没有这些软能力,就无法把你的知识和经验为公司做出大的贡献,发挥业务专家的作用,只是个人孤胆英雄而已。系统化的思维能力,这是普通级与专业级的本质区别。创新能力,没有创新能力就无法解决他人解决不了的问题和困难。
硬素质:测试架构师是一个系统专家,不是专项测试工程师也不是开发人员。因此业务基础必须很扎实和深厚,要具有全面的测试领域的一线测试经验。至少要有5年以上的一线测试经验和全面测试类型的经验。没有宽度就成不了系统专家,没有几年的一线测试经验就没有深度,同样成不了系统专家,没有某个测试类型的实战经验就无法融会贯通的知道自己团队在该领域需要解决的问题,也不会识别适合自己团队的新技术或意识。