一入测试深似海,每一位测试同窗须要对本身将来有所规划才能把控本身的将来!数据库
软件测试员的职业发展通常3年为分水岭,3年后的发展方向大致上能够分为管理路线、技术路线、管理+技术路线。安全
测试初级阶段: 性能优化
测试工程师,属于软件测试职业生涯的初级域,其适用范围是入行软件测试3年内的常规测试从业者,其主要工做内容是按照测试主管(即直接上司)分配的任务计划,编写测试用例、执行测试用例、提交软件缺陷,包括提交阶段性测试报告、参与阶段性评审等。服务器
管理+技术路线: 网络
首先是常规路线,这条发展路线要求管理与技术并重,由于软件测试的行业特色决定了这个因素:测试工程师向上晋升到测试主管、测试经理、测试总监,直至咨询域的更高方向! 架构
测试主管是企业项目级主管,对于中小型软件公司也能够是企业级主管,属于中级发展域,适用范围是2到5年职业经验的测试从业者。框架
其工做内容是根据项目经理或测试经理的计划安排,调配测试工程师执行模块级或项目级测试工做,并控制与监督软件缺陷的追踪,保证每一个测试环节与阶段的顺利进行。工具
严格来讲,这个级别更多属于测试的设计者,由于企业的测试流程搭建是由更高级别的测试经理或相关管理者来作的,测试主管负责该流程的具体实施;而更多的工做,是思考如何对软件进行更加深刻、全面的测试。性能
测试主管比较有创造性的工做内容就是测试设计,而偏偏不少公司忽略了或没有精力来执行此工做内容!单元测试
应该说,在一个企业里作了3年左右测试工做的人员,很容易晋升到该职位,而之因此晋升,是与我的测试技术的过硬、测试方法的丰富,加上对测试流程的监控力与执行力的职业素质息息相关!
测试经理是更高级别的测试管理者,属于高级测试方向域。
对于大中型软件公司,该职位尤其重要,而且对其职业要求也比较高,通常适合4到8年的测试从业者,在管理与技术能力双双比较成熟的状况下,能够结合具体环境晋升到该级别。
测试经理负责企业级或大型项目级整体测试工做的策划与实施。
测试经理除了须要统筹整个企业级或项目级测试流程外,还要对于不一样软件架构、不一样开发技术下的测试方法进行研究与探索,为企业的测试团队成员提供指导与解决思路,同时还要合理调配不一样专项测试的人力资源(如业务测试工程师、自动化测试工程师、白盒测试工程师、性能测试工程师),对软件进行全面的测试;
另外,一些企业里,测试经理还须要与客户交流与沟通,负责部分的销售性或技术支持性工做。
测试总监,属于常规发展路线的最高域,该职位通常在大型或跨国型软件企业,或者专向于测试服务型企业有所设立,通常设立测试总监的企业,
该职位都至关于CTO或副总的级别,是企业级或集团级测试工做的最高领导者,驾驭着企业所有的测试与测试相关资源,管理着企业的所有测试及质量类工做。而其职业要求,也是技术与管理双结合。
1、技术路线:
一、技术路线中级域:
技术路线,划分为三个半方向,分别是自动化测试工程师、白盒测试工程师、性能测试工程师和认证测试工程师;前三者适用于通用软件测试领域,认证测试工程师乃嵌入式测试领域职位,至少目前仅出如今嵌入式领域。
自动化测试工程师,定义在功能测试范畴,指一般所说的依靠自动化测试工具进行软件黑盒测试的工程师。
从大环境讲,自动化测试是软件测试执行阶段的必然趋势,社会对于软件测试的承认度以及对自动化测试人才的需求必将日益增长。
白盒测试工程师,定位于在软件测试周期的单元测试阶段对软件进行的代码级测试的人,包括代码走读、代码功能与逻辑测试、代码内存泄漏检查、代码运行效率检查、代码测试覆盖率分析等。
若是说,自动化测试只是依靠脚本语言完成测试脚本编写与调试的过程(由于自动化测试工程师的工做重点不在编写脚本),对于自动化测试工程师的技术要求要相对偏低的话,那么白盒测试工程师就要对大型程序开发语言的彻底掌握,所以其技术要求相对偏高!
性能测试工程师,即在系统测试阶段、功能测试后对软件系统性能指标进行采集分析和运行效率检测的人。
在一个尽可能压缩的测试流程里,功能测试能够手工进行,白盒测试能够不作,可是性能测试必需要作,除非该软件非网络类软件即单机版软件!
软件测试,从宏观上能够划分为三个大方面:功能测试、性能测试、安全性测试,功能测试说明软件作对了,功能测试+性能测试说明软件作好了,三者结合起来讲明软件作的很是好!
安全测试暂且抛之不提,这是下一个发展域的内容,可是为了把软件作好,为了真正保证软件的质量,性能测试毫不容忽视;
只因目前不少企业因为时间、成本、人力条件的限制,暂且不作性能测试。性能测试工程师相对来讲,是三个技术路线里技术要求最高的,由于软件的性能瓶颈归根结底落实到代码的运行效率这个问题上,所以性能测试要作好,性能测试工程师起码要懂开发;
而为了发现性能问题,要懂软件开发架构;为了定位性能问题,要懂操做系统、网络协议、应用服务器乃至数据库的原理与使用;为了最终解决性能问题,要根据定位的问题有针对性的对代码、操做系统、网络架构、服务器、数据库进行优化!
固然性能测试是一个系统工程师,绝对不是一两我的的事情,对于常规性能测试工程师,具有定位性能问题的能力便可。
二、技术路线高级域:
进入技术路线的高级域,根据中级域的四个路线,能够细分红五个路线,分别是资深自动化测试工程师、资深白盒测试工程师、资深性能测试工程师、安全性测试工程师、标准化工程师,这些高级技术类人才彻底与常规测试经理平齐,属于软件测试职业发展高级域。
资深自动化测试工程师由自动化测试工程师晋升而来。若是说常规自动化测试工程师只是负责自动化测试脚本自己的设计与开发,那么资深自动化测试工程师的工做内容就是自动化测试这项工做的实施!
也就是说,录制脚本-添加验证点-回放脚本只是最初始的自动化阶段,要在企业实施自动化测试,要有资深自动化测试工程师来设计数据驱动,开发测试框架,甚至一些企业内部自主开发小型测试工具(而非商业工具)的先例,这些也都是创建在资深自动化测试工程师具备深厚的技术底蕴后,主导其余人员协调完成的事情。
资深白盒测试工程师,其工做内容包含常规白盒测试工程师的内容,除此以外,要协助测试经理或测试总监攻关测试方法与技术性难题,所以其技术水平更加雄厚。
若是常规白盒测试工程师是停留在某种程序设计语言类型的代码级测试,那么资深白盒测试工程师就要脱离程序设计语言自己,结合不一样架构、多种开发技术交互的状况下,寻找代码测试方法,并具备对代码优化的能力。
资深性能测试工程师,来源于常规性能测试工程师,按照常规性能测试工程师的技术要求,资深性能测试工程师应该具有性能测试总体方案的设计能力,以及软件系统性能问题定位和性能优化的能力!
除此以外,也要对主流的软件开发模式下的应用系统具备敏锐的洞察意识和感知意识。
安全性测试工程师,相对来讲要求较高,需测试同窗对软件的开发模式、实现架构和技术自己充分了解,才会感知和预见软件系统存在的安全漏洞,才知道如何经过系统漏洞尝试攻击软件系统,达到测试的目的。
目前国内软件行业对于安全性测试的认识还没有清晰,该职业也更没有普及,通常只限于军事类、机密类、防病毒类或其余高安全性软件的测试工做中。
三、技术路线专家域:
在技术路线,向上继续提高的方向,咱们称之为“技术专家”;若是说前面描述的技术职位的所涉范围都定位在企业内部,即企业级资深性能测试工程师,那么技术专家,咱们能够看做是领域级专项人才!
随着软件测试行业的职位不断细化,每一个人在本身擅长的领域走向深刻,均可以成为该领域的技术专家,技术专家在自已经营的领域里,具备我的独到的看法和深厚的技术实力,而这类人才能够再也不从事具体的测试工做,而是提供行业性测试技术咨询、培训等,为软件测试总体行业的发展,起到了鲜明的带头做用。
2、管理路线管理方面
一、管理方面中级域:
从事了1到3年左右的常规测试工程师,在通过对我的性格特色剖析后,若是认为本身是一个倾向于“高管理-低技能”的类型,那么想要实现本身的职业提高,能够向中级发展域的配置管理工程师、质量保证工程师、业务测试工程师转型。
配置管理(SCM)与质量保证(SQA)同是CMM中的关键过程域(KPA),也同是现代软件工程里的必要角色,与软件测试同属软件开发团队的重要组成部分。
只因这两个角色在软件工程里的人员配比数量相对较少,还不如软件测试这样规模化乃至于造成行业,而最可能是一个职业;另一个社会现象是,企业不多直接从社会直接招聘配置管理工程师和质量保证工程师,而一般的作法是从企业内部的现有测试员工队伍里选拔,而转型后的测试工程师,就成为SCM或SQA。
分析其缘由,咱们能够感知,SCM、SQA与软件测试工程师都是关注于软件质量的类似职位,社会对于配置管理、质量保证的定义和工做内容并未普及,与其直接从社会招聘“0”基础的人来培养,倒不如从软件测试人员里升华!
通常来讲,这两种职位的上报对象是项目经理或相同级别管理者。
转型后的配置管理与质量保证工程师,必定要转变一个意识,那就是常规测试工程师的工做范围很大一部分(不是所有)只限于测试流程,而配置管理和质量保证的工做范围是面向整个软件开发流程,两者的职业要求都很是重视软件工程知识体系的创建和软件开发整体流程的实施能力。
因为配置管理工程师除了企业配置管理流程的搭建与实施外,通常会涉及配置管理工具的管理与维护,而质量保证工程师更多的工做是软件开发流程的控制与维护,故而配置管理对技术的要求稍高于质量保证。
业务测试工程师,定义为面向行业类软件业务逻辑与工做流测试的人员。
当前软件开发类型,很大一部分是行业类软件的应用,如ERP、SCM、CRM、OA、电信、金融、财务、嵌入式、通讯、手机、游戏……这就要求从事行业类软件测试的人员具有行业背景、业务知识,熟练该行业工做流程。
从社会上出现的不少对此类经验要求的测试工程师招聘信息中,咱们更加确定这种趋势;所谓存在便是道理,既然社会上有了需求,那么就能够做为我的发展的方向。
而另一个特色是,业务测试工程师的工做内容主要是黑盒测试,属于功能范畴,所以对技术要求不大,设置一些大型行业类软件公司的业务测试工程师薪资丰厚,可是彻底能够不懂技术,由于它的工做性质决定了不须要懂不少的技术!
他们甚至连软件的界面测试都不作——交给常规测试工程师实施,而彻底关注软件的业务性和易用性,因为其深厚的行业背景,能够为软件的在正式发布前提出不少建设性的意见,而这些建议正是软件开发商提升产品易用性、增长用户满意度、开拓市场、创造利润的关键因素之一!
二、管理方面高级域:
当管理路线的中级域方向继续上升至高级域,就分别到达配置管理经理、质量保证经理、产品经理、业务专家。
若是说配置管理工程师、质量保证工程师更加侧重于配置管理流程、质量保证流程的实施与平常管理维护,那么配置管理经理、质量保证经理就是更侧重于配置管理流程、质量保证流程的创建与改进。
通常在中小软件企业,可能没有这两个角色,而所有的配置管理或质量保证工做都由工程师担当;可是大中型软件企业对资深配置管理经理、资深质保经理求贤若渴。
软件系统越庞大,软件开发团队规模就越庞大,软件开发流程中出现问题的概率就越高,高效管理软件开发流程,不断改进软件质量,是每一个软件公司在技术上没有顾虑后的下一个急需攻破的难关!
业务专家,属于行业内咨询、顾问的角色,已经几乎脱离了测试工做自己,而更多为企业的产品需求分析、设计、开发、测试等各个环节提供指导工做,其目的也是提升软件的易用性和稳定性,减小后期没必要要的需求变动。
该职位也一样在目前热点行业的大中型软件企业有所设立。
产品经理,这个职位在不少企业有所设立,能够说它是质保经理的派生,只是它更侧重于软件在产品化以前的质量监控工做,包括软件开发流程、软件测试等技术与管理的各个方面。
管理方面咨询域域: 管理路线的最高发展域是咨询域,与技术路线的专家域相似,在配置管理、质量保证、软件产品化、行业领域达到高深造诣的人才,他们有丰富的从业经验、深厚的管理底蕴,具备对软件工程高瞻远瞩的慧眼和胆识,每每供职在专业的咨询与培训公司,提供IT业管理类咨询与培训的服务,推进着软件行业的前进。
国内外不少为软件企业进行CMM咨询和实施的公司里,就是这些人才的大本营之一!
欢迎零到三年的软件测试工程师朋友们加入软件测试交流:681491189群内提供免费的软件测试学习资料(里面有自动化、性能、APP、jmeter、LoadRunner,等多个知识点的资料)合理利用本身每一分每一秒的时间来学习提高本身,不要再用"没有时间“来掩饰本身思想上的懒惰!趁年轻,使劲拼,给将来的本身一个交代!