职业定义
职业定义:测试开发工程师,是指测试开发出来的项目,并且日常会编写测试过程中的工具,减少测试重复性。
职业其他名称:测试开发工程师
任务职责
工作内容、任务、职责:
工作内容:一是使用各种测试技术和方法来测试和发现软件中存在的软件缺陷;
二是测试工作需要贯穿整个软件开发生命周期;
三是测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复;
四是测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。
任务及职责:每次产品经理有需求提出,开发完成后,提交给测试工程师进行测试,测试内容包括功能性能等;除了测试项目,还会包括一部分自动化和新工具的开发。
工作考核要求:
每个季度开始会进行考核评定计划,列明本季度需要完成的任务内容,在季度结束时会根据完成情况以及产品质量的表现进行评定。
知识背景
学历要求:
大专及以上为宜。
行业知识背景:
1、测试岗位对知识的广度有一定的需求:从OS到服务器到编程语言、网络,甚至算法、复杂度,测试开发工程师要求具备开发能力。
2、测试开发工程师要求具备开发经验和测试经验,以及沟通能力等。
专业知识背景:
测试开发工程师一般为计算机相关专业本科及以上学历毕业,如计算机科学、软件工程、网络通信工程等,这些专业对于计算机及网络通信原理比较熟悉,具有一定优势。其他专业的学生在通过自学后也可以从事。
专业要求:
软件工程计算机科学与技术
大学课程
重要的大学课程:
高级语言程序设计 面向对象程序设计 数据结构与算法设计 数据库系统原理 计算机组成原理
重要未开设的大学课程:
软件测试技术 Linux操作系统与网络编程 计算机图形学 汇编语言 项目管理
职业技能
专业技能:
一是对项目流程:从需求到最终产品上线过程中的各个环节如何进行,每个环节自己及其他团队成员应该做的工作;
二需要对WEB开发有较深入的理解:服务器配置+后端(服务等)前端(HTML,JS,JQuery)知识;
三是对自动化框架的掌握:如Selenium,报告,接口,压力测试(LoadRunner,Jmeter)等。
四是了解计算机组成,各个组件直接如何协作运行操作系统;
五是至少精通某一常用高级语言:精通Java或Python,深入理解面向对象模式的编程模式,对于脚本语言或汇编语言需要有所了解。
通用技能:
语言表达能力;团队协作能力;文字表达能力;文档处理能力。
从业资格
必要项:
无特定要求,一般具有两年以上测试开发经验即可。
附加项:
无特定要求,一般具有两年以上测试开发经验即可。
常用工具
一是软件集成开发环境,如Visual Studio、Eclipse、Myeclipse等;
二是数据库软件,如Mysql、Oracle、SQL Server等;
三是基本的代码编辑器,例如vim/emacs等;
四是其他工具,如Python解释器、Fiddler等。
薪酬待遇
薪酬结构:
基本工资+季度考评绩效,具体比例由于各公司均不同。
基本工资:依据各人能力及职位等级进行评定。
季度考评:公司每季度有一次考评,结合本季度任务完成情况和产品表现得出考评等级,由考评等级决定该季度的绩效奖金。
满意度:
4(薪酬满意度评分:1点~5点,分别代表“非常不满意”~“非常满意”)
福利制度:
五险一金,带薪年假,员工体检,定期培训,旅游活动,节日和生日礼品、补贴等,不同公司略有差别。
工作环境
工作场所:
办公室。
环境具体描述:
1、格子间,独立工位,配备台式机和显示器等,具有空调、饮水机等基本设施,并设置了独立的茶水间;有独立的会议室,配置投影设备、白板,并设置了电话供电话会议等。
2、提供员工休息和娱乐的场所,有的公司还配备健身房、按摩室、医疗室等。
发展前景
行业发展前景:
随着信息技术、物联网技术、互联网+等概念的提出和发展,大型复杂信息系统越来越朝着精细化、智能化、高集成度、高互联度的方向发展,因此对于这些系统的功能、性能、可靠性、安全性等测试工作,有着更高的要求,进而市场对软件测试工程师的需求越老越旺盛,行业发展前景广阔。
个人发展路径:
发展方向:一是深入技术,对测试和技术进行深入研究,成长到技术经理,技术总监;二是向产品研发转岗或向管理方面转型。
职业的就业趋势:
目前随着移动互联网以及互联网+的发展趋势,具备互联网尤其是移动互联网经验的人越来越得到认可和更多的工作机会。
职业道德
1、遵守互联网安全使用规范,不得在网上传播暴力淫秽反政府反社会的信息。
2、不得传播网络病毒、病毒木马等恶意程序。
3、不得利用职务之便,修改后台数据、程序等方法来谋取私利。