测试的职业规划的重要性
测试职业规划的行与思
序言:2010年校招懵懂的进入FSK,糊里糊涂的入了测试行业,主要是负责惠普服务的整合研发测试。7年来,从入行到各类测试技术岗位,再到测试主管,测试经理。没有平步青云,感觉脚踏实地仍还是在原地踏步。30而立后,职业发展总是瓶颈,每每人生十字路口,总会叩问自己:为什么做测试?为什么要步入IT行业?为什么没有牛逼的技能?为什么工资不长进?40岁以后还能找到测试工作吗?
一、软件测试的起源和重要性
1979年Glenford J. Myers(代表论著《The Art of Software Testing》)提出了对软件测试的定义:“ 测试是为发现错误而执行的一个程序或者系统的过程。The process of executing a program or system with the intent of finding errors. ” 这个定义,也被业界所认可,经常被引用。除此之外,Myers还给出了与测试相关的三个重要观点,那就是:
1、 测试是为了证明程序有错,而不是证明程序无错误;
2、 一个好的测试用例是在于它能发现至今未发现的错误;
3、 一个成功的测试是发现了至今未发现的错误的测试;
软件测试的重要性:软件测试才能够保证新开发的软件可以正常工作,最大程度上避免了能够通过技术来解决的软件问题,在一定程度上也避免了软件在推出后、使用过程中遇到故障所产生的经济损失。例如,由软件bug引发的灾难性事故有:美国的爱国者导弹的系统故障;千禧危机;温州7.23动车追尾事故;2003年美加最大停电事故等等。
最后总结来说:软件(硬件)出现缺陷( bug )会导致经济损失或其他损失,软件(硬件)测试的目的就是:发现问题,发现至今未发现的问题。
二、测试行业的发展状态
1、测试岗位在所属行业排名前三的是通讯及互联网、应用软件和金融业。所以大家在跳槽时选择机会时,尽可能选择互联网公司。当前热门前沿技术,人工智能、大数据、AR/VR、云计算平台、互联网金融等,大多都集中在互联网企业。你所在的领域不同,对新技术的感知度是不一样的。最早接触这些前沿领域,未来才不会落伍。还有比如一个是大的互联网公司的普通的功能测试岗位,一个是小领域的测试管理岗。我建议年轻小伙们选择前者,要看未来,还有能和比自己厉害的人一起能学到更多。
2、从职位来看,测试门槛低,入行容易,所以测试人员水平也参差不齐。大多数童鞋都是“测试工程师”,其次是“初级/助理工程师”,专职的性能测试,自动化测试、测试架构师等高精尖人才依然很稀缺。所以加油吧,离骨灰级测试大牛还差很远。同时,薪资差距较大。入行1-3年软件测试的,低的2K-8K,高的8K-20K,除个人技能水平外,其他因素也影响这收入:比如个人学历:普通中专大专,本科硕士生;比如地域企业:北上深广,华为BAT;比如测试专业领域:自动化测试、性能测试、功能测试;比如创业风潮:互联网、无人机、金融、AI、大数据、机器人等。如果工资过低,应该想想这些年技术实力有没有提升?是不是太安于现状了。加油吧,小伙伴们~~
3、在性能测试、自动化测试技术领域,使用工具已成为主流。性能测试工具:以LoadRunner和Jmeter 为主,还有不少公司选择自主开发工具。自动化测试工具:Selenium、QTP、Robot、Appium、MonkeyRunner、Robotium等。自动化测试而言,PC端推荐Selenium,移动端推荐Appium。不过,这两个工具用好的前提是你需要掌握一门编程语言,推荐Java和Python(最火的2门开发语言)。
4、更多的软件测试行业现状,可仔细阅读《2016中国软件测试现状调查报告》。希望大家好好学习,天天向上。
三、测试行业的发展前景
1、软件测试职业的特点
- 行业门槛低,入门快
- 学历要求相对较低,薪酬可观
- 市场需求大,就业竞争小
- 职业生涯寿命长,发展空间广阔
- 无性别歧视,女性更具优势哦
2、互联网发展速度快,测试岗位需求多
这几年,互联网发展迅速,软件测试需求量还是很大的。软件测试工程师是一个越老越吃香的职业。软件测试工程师在企业中担当的是“质量管理”角色,其中包含技术及管理等方面的工作,工作相对稳定,对年龄没有限制。随着项目经验的不断增长和对行业背景的深入了解,会越老越吃香。但是单纯的功能测试,是没有很大提升空间的。
这时要学习开发语言、数据库、网络知识、主流的软件测试工具等。测试环境等都需进行掌握,最主要就是在实际工作过程中的测试经验和项目管理经验。
四、测试职业规划
凡事预则立,不预则废。每天一小步,一年一大步。设立目标,做好职业的短期和长期计划,然后砥砺前行。或许很多的目标都没能实现,但是几年后,再回头看,发现自己离成功日益渐进。让我们"先定个小目标,比如挣它一个亿","当上CEO迎娶白富美走上人生巅峰"吧。
1、 职业规划 (技能积累)
- [1~2年],测试技能:熟悉整个测试过程及产品业务领域,学习和掌握自动测试工具,学习测试自动化编程技术;开发和执行测试脚本,承担系统测试实施任务;学习编程语言、操作系统、网络与数据库方面的技能。
- [3~4年],测试过程:深入了解测试过程,掌握测试过程设计及改进,参与软件工作产品的同行评审;进一步了解产品业务领域,改进测试自动化编程技术,能指导初级测试工程师;加强编程语言、操作系统、网络与数据库方面的技能。
- [4~5年],测试组织工作:管理1~3名测试工程师,担任任务估算、管理及进度控制;进一步培养在软件项目管理及支持工具方面的技能。
- [5~6年],技术管理:管理4~8名测试工程师,提高任务估算、管理及进度控制能力,完成测试规划冰制定测试计划;研究测试的技术手段,保持使用项目指导及支持工具的技能;用大量的时间为其他测试工程师提供技术及过程方面的指导;开始与客户打交道并做演示推介。
- [6~12年],测试管理:管理8名以上测试工程师,负责一个或多个项目的测试工作,与客户打交道并做演示推介;保持使用项目管理及支持工具的技能。 ---出自《软件测试质量保证》
想追求发展取决于三点:业务技能、专业技能(测试技能)、管理技能。通过对自己这三方面的评估,综合选择自己要走的道路。大部分测试同学的职业发展路线一般如下:
2、测试岗位路线
- 管理:IT做管理,技术深度与广度都会有一定要求,基本以管理技能为主,专业技能、业务技能为辅。管理者不懂技术,很难服众。因此,技术沉淀是必须的。在一步一步往上爬,人生目标指日可待。
- 技术:技术在手,随辞随走!有技术不愁找不到好工作,但是最起码的职业道德还是要遵守。
- 建议技术高薪方向:白盒测试、自动化测试、性能测试、安全测试,当然有机会做管理也别放过机会,毕竟管理薪资不低哈。
- 其他路线:很多入行测试只是过渡。由测试岗位的锻炼,涉及到软件各个岗位的接触。比如业务技能强、市场敏感度、洞察力厉害的建议产品经理、运营方向;比如喜欢编码加班,咳咳,是喜欢与机器打交道建议研发、运维方向等;喜欢与机器打交道的可以走运维、研发路线。喜欢与人沟通的可走销售、项目路线。
五、做测试,具体哪些能力才更有竞争力?
学历:不是最重要的,但不少大公司本科学历是硬性要求(最低标准),我想211?985?硕士?博士?海归?估计也没几个会去做测试。这些有能力的编个idea,融个资,当BOSS去了。
- 经验:8年/10年测试经验,相对有一些竞争力。但是3-5年的测试经验更好找工作。
- 影响力:做IT的,人脉往往集中于公司同事,熟悉的同学朋友。可以多参加些技术社团、测试群。有能力可以做做培训讲师,做博主。到一定阶段,要争取通过人脉获得更好的机会。
- 学习能力:要保持良好的学习习惯,不断拓展和深化自己的学识和技能。碎片化的阅读掌握不深,造成知识面广而不精。况且人的精力有限,有精通某几项技能走专家管理型路线。
- 专业技能:测试领域知识的要不断深入,测试思想的也要不断提升。最好熟悉一门开发语言、熟悉常用的性能测试工具和自动化测试工具、熟悉钻研某个领域。
- 管理技能:熟悉团队成员,带领团队高效运作完成任务。提高团队的荣誉感和归属感,人文关怀。
- 沟通能力:技术交流,问题沟通。但也要长点情商,避免办公室政治。
六、关于跳槽面试的小建议:
“金三银四”“金九银十”,“又是跳槽招聘季”,咱们这行公认涨薪不如跳槽加的快。但不建议频繁跳槽,还是要学会融合团队,抓住每个机会提升技能。很多人跳槽的原因无异于马云说的:"员工的离职原因林林总总,只有两点最真实:1、钱,没给到位;2、心,委屈了。这些归根到底就一条:干得不爽。"
- 跳槽原则:
要么符合你预定的规划发展路线,要么就高薪,否则没事不要乱跳,当然实在呆不下去另当别论。
- 面试建议:
- 理解透JD(职位描述),了解具体的工作内容,针对性准备知识点。
- 了解自己简历内容,基本技能知识点,过往项目,项目熟悉程度(要求画个架构图、流程图很常见)。
- 简单复习一下基本理论,功能、自动化、安全、性能。
- 背熟一俩个实例备用,比如你写有精通性能测试,写的哪个项目,具体执行:基本指标含义,性能标准,项目背景,如何制定计划,何时执行,报告输出等。如果你做假了,请做得专业一点,网上实例背熟吧,虽然我不建议如此做。
- 找找网上泄露出的面试题,看看招聘职位下其他应聘者的评论,去各QQ群里找找在这个公司的同行等。