测试工程师必须要会写代码吗?

2019-03-15 09:03:00
原创 152 投稿得红包

点击链接加入QQ群229390571(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa


无论是刚入测试行业的萌新,还是已经在测试行业闯荡了两三年的小司机们,都会琢磨一个问题:如果要持续发展下去,我要不要懂代码?


首先来看看软件测试的职业生涯方向:

1、技术+ 管理方向:

一枚萌新 → 技术阶段 → 测试经理、主管这样的管理岗位

需要:编程能力 + 管理能力俱在


2、纯技术方向:

一枚萌新 →功能测试→ 自动化/性能/安全 → 测试开发/性能、安全测试专家/架构师

需要:优秀的编程能力


3、产品方向:

一枚萌新 → 业务专家 → 产品经理、产品需求等岗位。

需要:业务能力,不需要编程能力

====================================任性的分割线=================================

入门阶段

萌新阶段→初级测试工程师


初入软件测试行业,要成为一名合格的的软件测试工程师,需要学习的东西还是很多的。


1)软件测试理论基础;

2)测试用例设计、测试功能覆盖、软件测试项目实战应用;

3)对业务的精准把握 、培养对bug初步处理和分析;

4)在长期的测试工作中,要培养敏锐的bug嗅觉;

5)良好的沟通表达能力。如果你连一个bug都表达不清楚,那就尴尬了。如果你不能与开发好好聊天,那也尴尬了。


在这个阶段,主要是功能测试为主,像用户一样去手工操作系统,模拟用户的使用场景,所以不需要任何的编程能力,你都是可以胜任的。


因此,软件测试的入门并不难。也因此,在软件测试岗位上,有很多非计算机专业的同胞一样可以优秀的胜任。


初级阶段

功能测试小司机→初级测试工程师


随着测试时间的增加,就需要掌握更多的东西来扩充自己的技术能力了,毕竟也只能刚入行的时候才能叫萌新。


1)数据库操作:mysql、oracle等

2)linux操作、环境搭建

3)各种测试工具:抓包fiddler,wireshark

4)从架构层了解被测系统、http通信协议、接口测试及其工具postman、soupui、jmeter等。

5)app的专项测试、兼容性测试、易用性测试


在这个阶段,会有一部分人成为小组长、小领导。主要工作内容就是分配组内的测试任务、把握和反馈任务进展、完成测试工作。

在一些特殊的行业(比如医疗),可以逐渐形成业务专家。

在此阶段对编程能力也没有要求。


中级阶段

自动化/性能/安全(必须会编程) →中高级测试工程师


具备测试能力与代码能力,提升测试效率与软件质量。


以下以自动化测试为例来说明。

1)选一门编程语言学习:java、python、ruby等

2)了解自动化测试、自动化测试工具、web/app/接口/pc端自动化基础

3)框架思想、项目实践与流程


在功能测试岗位中做了几年时间之后,会开始焦虑。在工作中,感受到了成长的限制。除了业务越来越熟之外,工作就是点点点,其它方面没有成长。


想跳槽想涨薪,但是很有挫败和无力感,因为全身上下价值就在这里。想在工作的过程中自学提升,迈向高薪的自动化测试、性能测试、安全测试等。当然自动化测试工具也可以实现自动化,但是有好与坏的区别。


第一道门坎就是编程!!


高级阶段

测试开发/性能、安全测试专家→高级测试工程师


测试开发,具备测试能力与代码能力,提升测试效率与软件质量。又可以做开发,又可以做测试。要求比较强的开发能力,深入代码层。一般不直接参加测试工作。


1)对测试框架、测试工具的二次开发,更好的符合公司产品的测试要求

2)开展单元测试或者协助开发开展单元测试,从开发阶段就开始把控产品代码质量。在后续迭代过程中快速挖掘问题

3)开发测试工具和平台,为测试团队提高测试效率,各种测试的简化、测试结果的量化。比如性能测试平台、接口测试平台等。

4)测试经理、主管 → 技术与管理并存、能与开发抗衡、能服众....此处省略几百字。


总结


在软测初级阶段,不需要编程能力。但是任何一个职业,都会追求长期发展的。如果你不是业务专家,也不想在初级测试工程师里停止不前,那么长远发展来说,编程是你无论如何都躲不掉的。


所以,要不要懂代码,给你一个微笑,自己体会



    技术交流QQ群 229390571 测试帮日记接口测试群

    电影下载QQ群 533341883 XQ电影下载圈