前言
我曾就职于BAT知名互联 公司
担任过测试经理、测试主管等职位,从事过测试开发、测试架构等相关工作
精通Python、java语言,测试开发、adb/monkey测试/ Jmeter性能测试、接口测试,对自动化测试以及性能测试有丰富的实战经验。
从大学毕业到做开发到现在软件测试讲师,入行已有十余年,最近很多人测试新人和待转行测试的同学问我软件测试发展前景,因此写下了这篇文章。
一、软件测试起源
上有一些经典的软件事故,大家感兴趣可以自己搜索一下,我搜了几个列举如下:
简单总结:软件出现缺陷(BUG)导致经济或其他损失,因此有了软件测试。
由此可知软件测试目的:发现缺陷(问题),发现至今未发现的缺陷(问题)。
注:有兴趣的可以去找找国内的两个事件:温州动车事件,2013年8·16光大证券乌龙指事件
二、测试行业现状
每年测试人员大量涌入,但需求仍大于供给
国内各种测试培训机构、软件测试 站的增多,质量意识的提升,软件测试人员已成为IT一个重要的职位,涌入的人也越来越多。但互联 +的概念,传统行业转型互联 ,公司业务量激增,创业风潮,人员流动等缺口依然会有。
测试在各公司地位不一
通常分两种情况,一大多公司重生产岗位(研发等),测试属支撑部门,话语权低,而测试为软件最后出口,所以通常背锅(承担责任)会比较多,需要平常心,并积极主动推进流程优化。另一类,有成熟的质量体系的公司,会以产品质量为先,用户至上,会实际关注测试质量,相对是比较理想的公司。(其他变种类型暂不予参考)
测试人员能力参差不齐:
测试门槛低,入行容易,导致很多专业知识不够扎实,只懂得一些表面上测试技术。学习的技术浅且杂,多注重工具的使用,思想的培养建立较少,不关注工具为什么要用,何时用,仅仅是为了高薪资而学,为了KPI而推广。
薪资差距较大:
拿1-3年软件测试的来说,低的2K-8K,高的8K-20K,各种因素影响:比如个人背景:名校毕业,学历;比如地域企业:北上深广,华为BAT;比如测试专业领域:自动化测试、性能测试、安全测试;比如创业风潮:互联 、无人机、金融、AI等。
所以努力提升自己,争取脱颖而出抢滩那20%专家精英的位置。
三、测试行业前景
你为什么做软件测试工程师?这也是我在面试招聘时常问的一个问题,梳理回答大约可以归为两类:
其一,大概意思是喜欢测试这个工作;
其二,IT工资高,想搞IT,但不会编程,测试门槛较低。
非常倾佩喜欢测试工作的同行们,我也是因为喜欢计算机,测试薪资高,比开发简单才加入测试大家庭的。后面喜欢上享受测试带来的成就感,享受独自定位问题那种喜悦的心情。我简单梳理了几个软件测试职业的特点,以供大家参考。
软件测试职业特点
软件测试基本内容
1. 尽可能发现缺陷
2. 尽早发现缺陷
3. 提升发现缺陷的效率
软件测试岗位
软件测试工程师,部分公司提升为质量保障工程师,赋予了更多的工作职责,今天主要讲基本的工作。
1.功能测试工程师,性能测试工程师,安全测试工程师等,根据业务的不同,比如WEB测试、H5测试、APP测试、SDK测试、接口测试等
3. 自动化测试工程师,测试开发工程师,测试工具开发等
一般来说,3-5年是非常抢手的一波同学,相对新手多了一些经验,相对5年以上的能沉下心踏实做事。
当然技术不是以入行时间为标准的,但是你想每天从海量的简历筛选人员,HR或多或少会有这样一个简单的门槛参考。也常有比如2年工作经验,会的内容甩5年的几条街。关键精力在哪,成就在哪。
今天逛了下几大招聘 站,深圳性能测试、安全测试现在基本18K+,自动化基本15K+,北京上海的更高,可以定时去各大招聘 站查看一下行情。
四、测试职业规划
凡事预则立,不预则废。”先定个小目标,比如挣它一个亿“,比如”当上CEO迎娶白富美走上人生巅峰“,当然,人各有志,所追求的理想不同。无从下手时,我们先通过搜索引擎看看,看看其他人的建议。
· [1~2年],测试技能:熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;学习编程语言、操作系统、 络与数据库方面的技能。
· [3~4年],测试过程:深入了解测试过程,掌握测试过程设计及改进,参与软件工作产品的同行评审;进一步了解产品业务领域,改进测试自动化编程技术,能指导初级测试工程师;加强编程语言、操作系统、 络与数据库方面的技能。
· [4~5年],测试组织工作:管理1~3名测试工程师,担任任务估算、管理及进度控制;进一步培养在软件项目管理及支持工具方面的技能。
· [5~6年],技术管理:管理4~8名测试工程师,提高任务估算、管理及进度控制能力,完成测试规划冰制定测试计划;研究测试的技术手段,保持使用项目指导及支持工具的技能;用大量的时间为其他测试工程师提供技术及过程方面的指导;开始与客户打交道并做演示推介。
· [6~12年],测试管理:管理8名以上测试工程师,负责一个或多个项目的测试工作,与客户打交道并做演示推介;保持使用项目管理及支持工具的技能。
其实已经都非常详细的步骤了。需要有所发展取决于三点:业务技能、专业技能(测试技能)、管理技能。通过对自己这三方面的评估,综合选择自己要走的道路。以下是我简单做的一个发展路线:
测试岗位路线
· 管理:IT做管理,技术深度与广度都会有一定要求,基本管理技能为主,专业技能、业务技能为辅。管理者不懂技术,很难服众。因此,技术沉淀是必须的。在一步一步往上爬,人生目标指日可待。
· 技术:Findyou说技术在手,随辞随走!开玩笑的,但有技术不愁没工作,当然人品还是要的。
· 建议技术高薪方向:白盒测试、自动化测试、性能测试、安全测试,当然有机会走管理也别放过机会,毕竟管理薪资不低哈。
五、发展方向
1. 专注于研究某种测试,比如 页,app,安全,性能,接口,自动化。等到一定阶段,对研究的领域有了自己的见解,就可以称为这一领域的专家。
2. 各种领域都有所狩猎,知识面广,某个东西出来立马就会有方案。这种可以去做测试leader。
3. 对测试规范有一定的掌握,写文档整理表格能力非凡,管理层非你莫属。
4 对整个项目有宏观和微观的把握,能从各个角度去寻求方案,对各个测试技术也有一定的把握,走向技术主管的路线。
5. 测试一两年后,对技术感兴趣而且有一定基础,就可以转型做开发啦。因为对测试有一定了解,所以开发时会更多的考虑一些场景。
六、浅薄的建议
又是跳槽招聘季,咋们这行公认涨薪不如跳槽加的快。不建议频繁跳槽,履历不太好看,当然不排除有喜欢这类的公司。前面那句是废话,所以随心而为吧,下面给出的小小的建议,适用就采纳,不适用看完就丢:
要么符合你预定的规划发展路线,要么就高薪,否则没事不要乱跳,当然实在呆不下去另说。
1. 理解透JD(职位描述),了解具体的工作内容,针对性准备知识点。
2. 了解自己简历内容,基本技能知识点,过往项目,项目熟悉程度(要求画个架构图、流程图很常见)。
3. 简单复习一下基本理论,功能、自动化、安全、性能。
4. 背熟一两个实例备用,比如你写有精通性能测试,写的哪个项目,具体执行:基本指标含义,性能标准,项目背景,如何制定计划,何时执行, 告输出等(调优这个太难,慢慢来)。如果你做假了,请做得专业一点, 上实例背熟吧,虽然我不建议如此做。
5. 找找 上泄露出的面试题,看看招聘职位下其他应聘者的评论,去各QQ群里找找在这个公司的同行等。
- 了解语言的特点
- 知道顺序、循环、分支
- 字符串、文件的处理
- 数组处理
- 络通信、异常处理
- 面试题
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!