什么是SDET,形式、意义、角色和要求

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的行业

在公司中,采用新技术和新方法是一种趋势。测试中主要需要以下领域的软件开发工程师:

Demand For SDET
Demand For 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工作在当前市场上更具挑战性和更高的要求。

IT赶路人

专注IT知识分享