测试开发是什么?什么是测试开发工程师?_软件测试


测试开发工程师 (Software Development Engineer in Test,简称SDET)是指那些既可以称作是开发人员,同时也负责软件开发阶段和测试周期的测试工作的技术人员。一个专业的SDET更关注软件产品的可测性,稳健性和性能。他们还可以在生产软件的设计初期发挥推波助澜或审阅的作用。

由于这种混合性质,如今无论是中小企业还是大企业,都有很大的需求。

基于这种特殊的角色,让我们来看下具体体现:

SDET是做啥的?

通常情况下,测试工程师(STE)主要职责:他们是在系统界面上执行测试,发现bugs,针对发现的问题,在bug追踪管理工具上报告具体的失败的测试用例。而SDET更像是包揽了软件生命周期和测试生命周期的工作,他/她要做设计,制定计划,创建,线程化并且通过code review 或者自动化工具发现代码的问题。

一个SDET不仅可以考虑在应用程序代码可能失败的可能性,并适当地规划自己的测试结构,保证了产品的耐用性。

为什么需要测试开发?

自动化测试不能完全的替代手工测试,并且企业不乐意去雇佣两种测试人员,那么SDETs会成为他们的首选。这就预示着传统的纯手工测试转变为了通过技术实现产品的测试。所以SDET不仅是一个具备编程技能,也是一个可以创建测试框架和工具,帮助手工测试过程的测试人员。

SDET的角色和职责

SDET应该能够进行自动化测试和多应用平台的搭建,比如:web,Mobile和Desktop.

根据技术支持部的反馈调查和重现客户遇到的问题。

创建和管理BUG报告,并与团队进行沟通。

能够创建不同的测试场景和验收测试。

SDET需要处理与合作伙伴的技术交流,了解客户的系统或API。

SDET更需要和部署团队一起协作,处理不同层面的系统问题。

SDET同时也应该具备搭建,维护和操作自动化框架的能力。

以上为测试开发工程师的必备(关键)技能。当然不同公司存在一定的差异。

技术和软技能

非技术能力:

测试开发是什么?什么是测试开发工程师?_python自动化测试_02

沟通能力

SDET必须具备良好的口头和书面沟通能力。测试材料像测试用例,测试计划,测试策略,BUG报告创建,应该易读和易于理解。

时间管理和组织能力

一个SDET的工作在代码发布期间尤为苛刻,必须有效地管理工作量,具有生产效率高,时间管理技能。

良好的工作态度

要想成为一名合格的SDET,良好的工作态度尤为重要。你必须能够在技术不断更新的情况下实时更新自己的技术技能。在这个过程中,态度起了一定的决定性。因此,在日常的工作中,对于任务应该持有有一种主人翁意识,而不是等待被分配。

热情

在IT专业,任何的成功带给你的喜悦,都离不开对该领域的热忱度。一个SDET应该有对测试,开发和设计的热情和求知欲和创造性。

技术技能:

测试开发是什么?什么是测试开发工程师?_单元测试_03

对编程语言有所了解,例如C#,.NET, Java等。

理解面向对象程序设计

有敏捷+DevOps流程管理方法论的工作经验

熟知各种测试方式和测试相关的工具,例如MS Test,NUnit, TestNG, Selenium WebDriver等等。

涉足行为驱动开发(BDD)。

通过自动化工具能够找出现有项目代码中的瓶颈和阀值

有一定的系统或服务端开发经验

至少一年的测试经验或者说对各种开发工作感兴趣

日常工作

以一天为例,你大概是在忙碌于理解项目文档,编写和执行测试用例,输出测试结果和测试系统中的bugs.并且更像一个使设计团队,开发团队和其他的团队建立联系的枢纽。

事业进阶

在一个典型的CMMI 5级(致力于持续的流程改进)的公司,你的大概事业进阶如下所示,当然不同公司存在一定的差异。

新手->老司机(2,3年经验)->测试开发团队协调员(5-8年经验)或者是测试开发经理 (8年以上经验)

总结

因此,测试软件开发工程师的作用是非常可观的,以及具有挑战性,因为它力求以最大可能的质量交付软件。

如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。


最后:福利

技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!下面有我近几年的收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。

测试开发是什么?什么是测试开发工程师?_测试工程师_04

对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你!

愿你我相遇,皆有所获! 欢迎关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!

测试开发是什么?什么是测试开发工程师?_python自动化测试_05

好文推荐:

阿里二面,原来我对自动化测试的理解太浅了

appium 自动化环境搭建

看完大牛这篇文章,再遇到服务器反映慢的情况就不怕了