SDET
SDET(Software Development Engineer In Test)测试中的软件开发工程师(Software Development Engineer In Test)是一名能够平等有效地在开发和测试角色中工作的IT专业人员。SDET专业人员的知识完全集中在软件测试和开发过程的可测试性、健壮性和性能上。
在本教程中,我们将学习-
- SDET和TESTER的区别是什么?
- 什么时候需要SDET?
- 需要SDET的行业
- SDET工作所需的技术和非技术技能
- SDET的角色和职责是什么?
- 职业发展
- 结论
SDET和Tester的区别是什么?
SDET | 测试人员 |
---|---|
知道整个系统细节 | 对系统的了解有限 |
SDET参与了软件开发过程的每个步骤,例如设计、开发和测试 | QA只涉及软件开发过程的测试生命周期。 |
具有开发和测试知识的高技能专业人员 | 软件测试人员只参与准备和执行测试用例 |
SDET可以参与测试自动化工具的开发,并可能使其成为通用工具 | 不期望开发测试自动化工具或框架 |
SDET需要执行性能测试、自动生成测试数据等职责 | 测试员将只执行与测试相关的任务 |
了解产品的要求和指南 | QA专业人员不需要这样的知识 |
什么时候需要SDET?
行业都在寻找能够参与软件开发的专业人员。这就是雇佣SDET的原因,因为他们可以从事开发高性能代码或设计测试框架的工作。
SDET专业人员的优势:
- SDETS专业人员可以利用他们的编码技能实现验收测试自动化
- 这些专业人员与最终用户及体验打交道,具备工程技能,也可以像开发人员一样思考。
- 通过单元测试实现广泛的代码覆盖
- 可以单独构建、部署、运行和管理应用程序
- 在技术实现和用户场景方面影响开发、项目管理和设计团队
需要SDET的行业
在公司中,采用新技术和新方法是一种趋势。测试中主要需要以下领域的软件开发工程师:
技术技能和非技术技能
以下是SDET的一些基本非技术技能:
沟通技巧
SDET必须具备出色的口头和书面沟通能力。测试材料,如测试用例、计划、测试策略、创建的错误报告应易于阅读和理解。
时间管理和组织技能
SDET工作要求非常高,尤其是在代码发布期间。软件测试人员必须高效地管理工作量,具有高生产率、时间管理技能
态度很好
要想在测试中成为优秀的软件开发工程师,必须有一个很好的态度。这样,就可以在没有太多监督的情况下获得分配的任务的所有权。
激情
要享受任何IT专业人士的成功,必须对其有相当程度的热情。SDET应该对测试、开发和设计充满热情。
以下是SDET应具备的一些技术技能:
- 熟悉C# 、.NET、Java或其他编程语言。
- 具有使用“敏捷+DevOps”流程管理方法的经验。
- SDET应具备各种测试方法和相应工具的知识,如MS Test、NUnit、TestNG、Selenium WebDriver等。
- SDET应该接触到行为驱动的开发(Behavior Driven Development)。
- 能够在自动化工具的帮助下找到现有代码中的瓶颈和阈值。
- 对面向对象设计的理解
SDET的角色和职责是什么?
- SDET应该能够在多个应用平台(如Web、Mobile和Desktop)上执行测试自动化和设置框架。
- 调查技术支持团队提出的用户问题。
- 创建和管理缺陷报告,并与团队沟通。
- 能够构建不同的测试场景和验收测试。
- SDET需要处理与合作伙伴的技术沟通,以了解客户的系统或API。
- SDET还与部署团队合作,解决系统的任何级别问题。
- SDET还应该能够设置、维护和操作测试自动化框架。
以上是SDET的关键技能和职责。可能会因不同的公司而有所不同。
职业发展
作为典型CMMI 5级公司的SDET,职业发展将如下所示,但不同的公司会有所不同
SDET(新人)=>高级SDET(2-3年经验)=>SDET团队协调员(5-8年经验>=>SDET经理(8年以上经验))
结论
SDET专业人员是具有项目管理经验的开发人员和测试人员的混合体。技能集于一身,使得SDET工作在当前市场上更具挑战性和更高的要求。