在一些领域有深入的测试知识,比如性能测试,网页(web),手机应用测试,安全性测试(或一个安全专家);

  熟悉一些测试工具,比如JUnit,NUnit,MSTest,Selenium或商业QA工具,如HP负载测试工具(HP Load Running),或VSTS负载测试工具;

  让我解释一下,成为一个专业的QA,我们为什么需要第二个和第三个技能。当一个公司想雇用一个QA,他们通常都有一个明确的期望,他们想雇用一个什么样子的QA。由于不同领域的测试方法可能有着显着不同,因此QA趋于更专业,一些QA擅长安全测试,而另一些QA具有网页设计经验。公司想要招聘一些在某些领域内有经验的人,那才能够解决他们的迫切需要。例如,当正在开发一个网站时,我们可能会想雇用一些熟知性能测试、网站基础设施的人,以帮助测试网站的可扩展性。如果你能熟知流行的网络测试工具,那将是你的一大优势。例如,如果你知道Selenium,流行的Web UI测试工具之一,它会给你在业市场上的增加你的竞争力。在大公司里工作,比如微软,它同时会带有优势和劣势。优势而言,你将有机会做不同类型的测试,并培养你相应技能。另一方面,你可能会使用内部测试工具(不公开性质的那些工具)。你也可能只是测试系统里的一小部分(也是说,你可能对你负责的那块进行了非常深入功能测试),但很少有机会测试整个系统。如果你在一些领域有深厚的功底,如安全领域,或性能领域,你会在未来有更好的职业生涯。

  成为一个专业QA的另一个关键技能,不是测试的技能,而是其他的技能。想象一下你希望加入一家规模较小的公司或初创的公司,只有测试技能,可能无法确保你能应聘上这份工作。但是,如果你能够做些其他工作,如自动化编译版本,搭建Web服务器,创建部署脚本。你将有更大的机会被录用(因为你可能不是全部时间都在做测试,所以,如果你能在同一时间做很多不同的事情,那你将是一个非常不错的候选人)。

  为什么我们应该立志做一个专业的QA,而为什么不干脆永远做一个软件测试员?做一个的软件测试员,是同时需要编码技能和测试技能。然而,我们需要在未来选择一个领域来深入,要么编码要么测试。这真的取决于你是否对软件测试有激情,和是否把它作为一种事业。如果你喜欢测试本身,成为一个专业的QA 是一条很适合的职业发展道路。此外,同时拥有编码技能和测试技能将是你去应聘其他公司的QA职位时的亮点之一。另一方面,我也看到很多软件测试员对的工作并不满意,而且我认为根本原因是,他们有着工程师的根(engineering root),并不喜欢测试。如果你真的喜欢编码,转行到开发或做更多的测试自动化,测试类库的开发可能是你的方向。在过去,我们曾经有两个独立的角色:SDET,STE(软件测试工程师),一个专注于自动化,另一个专注于测试,和许多公司一样,他们也有类似的角色,如亚马逊,谷歌。我认为这有一定道理。

  我们可能会从上面的定义中注意到的一件事,质量保证是许多行业都有的职位,不仅仅在计算机软件行业。例如,在汽车行业,QA是负责审查我们的汽车是否符合质量要求(meets the quality bar)。不幸的是,在软件行业的QA还不够成熟。,几乎没有哪个学院设立软件测试专业或者设置一个软件质量保证的学位。我们中的许多人选择软件测试员作为我们的职业,因为我们被雇用来担任测试员,并不是我们喜欢做测试。我们看到了很多关于测试员(SDET)在公司内外职业发展的博文和文章,我们还将在不久的将来持续看到这种情况。只是因为测试作为一个专业的职业还不够成熟,我可以预言,这里面很快会发生很大的变化(例如,在必应(Bing)团队中,我们做了一种改革, 没有单独的测试员, 所有人都是软件开发工程师, 每个人都负责自己的程序的质量时,我们采用在生产环境测试(Testing in Production),把测试员的角色调整到更广的服务监测和运营领域中)。

  成为一个测试架构师

  在本节中,我想讨论我们如何能够成长成一个测试架构师。在这里,测试架构师不是一个头衔(title),而是一个角色(role)。例如,如果你在很多测试工具 / 框架上都做出了突出的贡献,你可能有一个测试架构师的头衔,你也可能不是一个测试架构师。同样,一些软件测试员在他们的公司中扮演测试架构师的角色,但他们没有一个测试架构师的头衔。

  测试架构师的角色意味着什么呢?在这里,我列出了测试架构师应该着眼的几个重要领域:

  定义一个功能的整体测试策略,比如,如何测试一个浏览器,如何测试一个云数据库等;

  某个测试领域的专家,如安全性测试,性能测试,云测试;

  在团队中引入或发明新的测试方法,如探索性测试,众包测试(crowd sourcing testing);

  根据具体情况指导和培养团队;

  思考测试的未来和测试员的职业发展的未来,并为未来做好准备;

  参与测试相关的活动,如测试访谈,会议,博客;

  怎样才能成为一个测试架构师呢?首先,它不是一个简单的事情,你需要先成为一个专业的软件测试员。作为专业的软件测试员,你会在你的日常工作​​,提高上述的能力,再成长为一个测试架构师。另外,许多架构师都在不同的公司、团队中接触过了不同的项目,所以都是非常有经验。参与到不同类型的项目之中,你总是能得到一些新的想法。后,你必须有一种能力,即在任何项目中能迅速地适应变化(adopting change),并做出贡献。这个技能对测试架构师来说非常重要。

  有一些测试架构师为其他公司提供咨询服务。他们通常有广泛的知识,敏捷开发,项目管理,沟通技巧和风险管理,并帮助拯救许多几乎失败的项目 (help to survive many nearly failed projects)。他们是好的专业软件测试员,并在相关领域中获得了尊重。

  成为一个领域专家

  ,我想说我们软件测试员的职业生涯中重要的一条路,是成为一个领域的专家。我们必须认识到,我们当中许多人终是不会成为测试工具的开发人员或测试架构师。他们将成为专业的QA,一个领域专家或只是转行到一个新的岗位。个人而言,我更喜欢你考虑在领域专家这个方向努力。

  领域专家是谁?

  让我来回答这个问题。假设你测试特定的软件测试五年,那你有资格成为一个领域专家吗?答案是不一定,取决于领域专家的定义。