测试开发工程师 (Software Development Engineer in Test,简称SDET),是指那些既能够称做是开发人员,同时也负责软件开发阶段和测试周期的测试工做的技术人员。一个专业的SDET更关注软件产品的可测性,稳健性和性能。他们还能够在生产软件的设计初期发挥推波助澜或审阅的做用。web
因为这种混合性质,现在不管是中小企业仍是大企业,都有很大的需求。编程
基于这种特殊的角色,让咱们来看下具体体现:框架
一般状况下,测试工程师(STE)主要职责:他们是在系统界面上执行测试,发现bugs,针对发现的问题,在bug追踪管理工具上报告具体的失败的测试用例。而SDET更像是包揽了软件生命周期和测试生命周期的工做,他/她要作设计,制定计划,建立,线程化而且经过code review 或者自动化工具发现代码的问题。编程语言
一个SDET不只能够考虑在应用程序代码可能失败的可能性,并适当地规划本身的测试结构,保证了产品的耐用性。工具
自动化测试不能彻底的替代手工测试,而且企业不乐意去雇佣两种测试人员,那么SDETs会成为他们的首选。这就预示着传统的纯手工测试转变为了经过技术实现产品的测试。因此SDET不只是一个具有编程技能,也是一个能够建立测试框架和工具,帮助手工测试过程的测试人员。性能
以上为测试开发工程师的必备(关键)技能。固然不一样公司存在必定的差别。测试
SDET必须具有良好的口头和书面沟通能力。测试材料像测试用例,测试计划,测试策略,BUG报告建立,应该易读和易于理解。spa
一个SDET的工做在代码发布期间尤其苛刻,必须有效地管理工做量,具备生产效率高,时间管理技能。.net
要想成为一名合格的SDET,良好的工做态度尤其重要。你必须可以在技术不断更新的状况下实时更新本身的技术技能。在这个过程当中,态度起了必定的决定性。所以,在平常的工做中,对于任务应该持有有一种主人翁意识,而不是等待被分配。线程
在IT专业,任何的成功带给你的喜悦,都离不开对该领域的热忱度。一个SDET应该有对测试,开发和设计的热情和求知欲和创造性。
以一天为例,你大概是在忙碌于理解项目文档,编写和执行测试用例,输出测试结果和测试系统中的bugs.而且更像一个使设计团队,开发团队和其余的团队创建联系的枢纽。
在一个典型的CMMI 5级(致力于持续的流程改进)的公司,你的大概事业进阶以下所示,固然不一样公司存在必定的差别。
新手->老司机(2,3年经验)->测试开发团队协调员(5-8年经验)或者是测试开发经理 (8年以上经验)
所以,测试软件开发工程师的做用是很是可观的,以及具备挑战性,由于它力求以最大可能的质量交付软件。