QA 还是很有前途的。
目前国内 QA 的工作面很广。web 上点鼠标的是 QA,linux 上写脚本的是 QA,编写单元测试的是 QA,负责工具开发的是 QA,推广 TDD 或者敏捷的也是 QA。
正是因为 QA 这一统一的称呼,以至于让人经常混淆 QA 的概念,并且对 QA 的工作妄加评论。
根据 QA 的工作类型区分前途是比较合适的。
1、黑盒测试工程师。
这类比较常见,低端的比如 web 上测试页面的。高端的,比如 linux 下启动 apache 测试服务的。使用黑盒测试的技术去检测质量。质量来源于开发,而不是测试,所以他们只能检测而不能提高质量。
这类工程师的工作,目前正在被不断的挤压,随着自动化的发展,这部分的工作讲越来越少。所以人员也是越来越少。但是始终是不可缺少的。
不幸的是,目前这部分人是国内最多的,所以这部分竞争很激烈。已经是红海了。
目前国内的大多数中小型公司都是采用黑盒测试和人海战术来保证质量的,根源是这些公司的 QA 规划不合理,技术也相对浅薄,优秀的人员,这样的公司也留不住。所以 QA 的发展缓慢。
在这些公司工作,最重要的是了解业务。
如果接触不到产品的核心环节,比如代码、数据、业务细节,那么这类工程师最周会面临外包的危险。
大公司也会倾向于使用外包。
2、自动化测试工程师
使用 qtp,selenium,watir,或者是其他的技术框架来自动化测试工作的。在 * unix 上做自动化工作的,比如编写 shell 脚本,或者其他的脚本,也是属于此类。
因为自动化在回归阶段可以节省人力,可以有效的对产品的质量进行度量,并且可以不断的累积,结合覆盖率统计,或者需求覆盖统计等手段,可以很好的保证产品线的开发质量。所以自动化是很重要的技术。
大公司一般都有这样的工作和人员配备。
不过前端的自动化,和后端的自动化,仍旧有一些弊病。很多公司倾向于使用分层自动化去解决不同层面的质量问题。
这部分相对有点技术含量,大公司招人,也是必考的内容。相对来说,有点前途。
但是一旦自动化方案稳定了,那么这类人也会面临职业发展困境。只不过目前自动化仍然在不断发展,这个问题暴露的不是很隐蔽。
这个领域的工程师将来会两极分化,一部分转向自动化工具的研发,一部分转向自动化 case 的维护。
3、白盒测试工程师
这部分人主要做代码分析,审核,编写必要的单元测试,并关注代码的各种覆盖率情况。
跟开发走的很近,可以尽早的发现 bug,并能较好的适应产品的变化。
在敏捷模式中,是很重要的一个角色。这部分人也做单元测试,或者推 TDD 模式等。
白盒测试目前的技术还不是很全面和成熟,里面有价值的内容其实也很多。还有待进一步发展。
通过深入到代码层的测试工作,QA 和开发可以实现很多的紧密配合,有助于及时保证业务质量,所以这部分工程师是很有价值的。
4、测试架构师
负责规划辅助测试的各种工具和平台。基本上是全能的。并能对自动化,技术改进和测试理论有很好的贡献。属于大牛级别。比如研究封装开源的框架,或者开发新技术,来提高 QA 的测试效率和保证质量覆盖。 不过这个职位将来会比较尴尬,可能会并到测试工具开发工程师中,或者在对应的工具开发团队担任管理。
这个职位,将来会死掉。企业不需要太多的 title。。
5、性能测试工程师
国内的黄金职业,技术相对专业,但是精通了基本可以一劳永逸。性能测试的理论基本跟开发技术关联不大,所以还是很稳当的。
6、安全测试工程师
严格来说不算 QA,虽然 QA 里面有做这个的,但是专业理论要求较高,跟开发技术的关联性也不是太大,具备通用性,所以也是很黄金的。
7、测试管理
去做 QA 的管理角色,比如带项目,QA 数据统计和分析。带团队等。自然也是很黄金的了。
对于大部分公司来说,职位并不是严格的,很多人可能是一职多能。
发展方向主要有以下几种
1、走 QA 技术路线,测试分析,自动化,白盒,或者专心走性能测试,安全测试,测试规划等。
2、走 RD 技术路线,转行做研发。这个例子也很多。开发肯定比 QA 更可靠。 已经有不少先例了。
3、走管理路线。有管理爱好的,可以往这个方向发展。
4、走业务路线。去做产品经理,规划产品设计。也是蛮不错的职位。
5、开发测试工具,测试解决方案,提供测试服务
作者:西边人
软件测试资源站公众号:testpu作者