对于刚接触IT行业的朋友而言,我们印象中的测试和开发是相互独立的两个岗位,但随着社会的不断进步,IT行业的不断发展,又出现了一个岗位,而且它正在逐渐崛起,那就是测试开发。那你可能会问,测试开发究竟是一个什么样的岗位呢?就业情况和薪资待遇如何呢?
下面我就来为大家全面解析这个神秘而又多金的岗位……
什么是测试开发?
在一般的大公司里测试和开发的技术界限不是那么明显的,开发也要懂测试,测试也要懂开发。说白了,同时具备专业的测试技术和软件开发的能力,干着服务于开发与测试的工作,这就是测试开发。学好测试开发技术,静观IT世界风起云涌,笑看大数据、云计算、物联网、区块链时代风云变幻。
重点来了!!具备一定编程能力、精通功能和性能测试的测试开发工程师绝对是软件企业中的ⅥP!
测试开发薪资待遇
在每个不同的阶段,需要的技能自然也不一样,当然薪资待遇也会不一样。
不过可以很明确的告诉你,无论是哪个阶段,你具备该阶段必须具备的技能,都可以成为该阶段的头号玩家,你所期望的薪资离你自然不会远!
据统计,测试开发行业的平均薪资如下图(数据来源于权威招聘网):
测试开发岗位的优势
职业寿命长
工作压力适中
市场需求大
无性别歧视
测试开发工程师就业方向
和不少的互联网测试的候选人朋友聊天,发现在该行业职业寿命较长,发展空间较为广阔大概有以下几种路径:
1、走管理路线,在技术基础夯实到一定程度时,抓住机遇从leader到经理到总监(其实目前公司真正设置测试总监的岗位并不多)
2、走技术专家路线,有的同学从最早的测试转到测试开发,再到测试架构,无论是薪酬空间还是市场需求抑或是职业生命都有较大的改观
3、完全脱离测试,转做研发或者产品,运营等,都是不错的路径,但是相对而言转研发的难度系数还是有的,需要对技术的不断钻研和付出,产品,运营相对容易些
4、回家继承家族企业
总结为如下几个岗位:
测试组长
测试开发工程师
性能测试工程师
软件测试工程师
测试开发工程师的目标
测试开发工程师的目标有两点:质量和效率。
质量是提升产品的覆盖度,以求得更高的质量;
效率是提升产品的测试效率,以求得更快的产品交付和发布上线。
为了达到以上两点,测试开发工程师会使用各类手段以达到以上目标,包括但不限于:
灰盒测试
专项性测试(性能、压力、内存、耗电、流量)
代码走查
代码重构
工具开发
自动化解决方案……等
所以,测试开发工程师是这样一类混合型人才:是一个编码能力很强的程序员,可以写功能代码;也是一个能力很强的测试者,可以测试任何产品,有能力管理他们自己的工作和工具。
测试开发工程师必修课
如何才能成为一名真正的测试开发工程师,需要具备哪些硬技能呢?
1)具备一定测试经验。
只有设身处地的经历过测试人员的痛点和难点,才能切实解决他们的问题。
2)会使用常用重要的测试工具。
比如性能测试常用的Loadrunner、jmeter;ui自动化常用的selenium;单元测试常用的testng、junit;安全测试常用的appscan,js注入,xss注入,sql注入等等。
3)具备测试工具开发能力。
下面介绍一些主流的技术栈:
测试工具系统框架搭建:
1)java+maven+SpringMVC;
2)python+django
对于第一种框架,最好创建分层化的多模块工程,以便更好的设计代码框架和结构。通常dao层主要是和数据库关联;web层是controller,是前端和服务层的衔接;service层提供一些公共服务或业务处理逻辑。Maven工程有了之后,运用当前主流的框架-springMVC,将前后端数据库关联起来。
对于无代码基础,想入门测试开发的小伙伴,可学习第二种框架:python+django,较为易学易用。
前端页面:html,css,jquery,bootstrap,Echarts,前端页面是门脸,是使用人员操作的入口,也是数据输入和展示最直观的地方。
Css样式决定页面布局和美观度;jquery是一种js框架,极大地简化了js编程;echarts能够提供简单易用的常用图表,使页面更加有档次感、数据展示更加直观简洁。
后端服务:spring,mybatis,使用Spring框架可以简化很多基础性的工作,配置好后可以方便构建业务应用,是一个非侵入性的轻量级容器。
数据库:Mysql或Orcale的数据库安装,库表创建,字段设计,常用的sql语句
系统:能熟练在windows或linux系统上搭建项目,日志查看等操作
服务容器:tomcat服务部署,nginx负载配置,docker使用
持续集成:git,jenkins
开发工具:idea和eclipse
代码调试:testng或junit的单元调试及debug和远程debug使用
……
总结
虽然市场上,很多测试开发工程师,没有这里提到的各种水平,但是他们有一个特点,会测试懂开发,代码基础特别扎实。我强烈建议你按着这个学习路线进行学习,坚持学习,尽量到达测试开发的目标,如果达不到,你也会接近这个目标,相信自己,持续学习,坚持下去,不轻易放弃。
【重点来了】!!请不要忘记时刻学习着~~这点我相信大家应该都能理解,所以不用写什么:纵使你是五年、十年工作经验的测试人员,仅此一点“不学习就会落后”!