什么是SDET?解释全称、含义、角色和职责
SDET 或软件开发测试工程师是指一个既精通质量工程又精通软件开发的人员担任的角色。微软首次提出了 SDET 这个术语。此后,它成为谷歌、Adobe、亚马逊等大型公司中一个重复出现的术语。SDET 专业人员的角色是自动化重复的手动任务,以提高 AUT 的效率和可靠性。
SDET 的角色和职责
以下是 SDET 的角色和职责:
SDET 的首要角色是与开发人员和业务利益相关者一起工作。SDET 的工作是从客户的角度理解具体的需求。然后,他们必须根据编码语言、数据库等理解产品开发过程的复杂细节。之后,他们必须制定一个策略,以最佳水平自动化流程。
他们必须执行功能、性能和回归测试,以构建高效的测试自动化解决方案。
他们必须同时处理测试的功能和非功能领域。
在功能测试中,他们必须考虑产品的功能和需求来测试产品,确保它满足验收标准。
在非功能测试中,他们必须测试应用程序的性能水平。此外,他们还检查应用程序的安全等级。他们的工作是检查应用程序的每个安全细节,以便最终用户和组织将来不会遇到任何财务和形象问题。
他们还在软件的 UI 和架构设计以及提供关键反馈方面发挥着重要作用。
他们必须为某些情况创建可重复使用的脚本和工具。
SDET 对组织的重要性
在所有测试过程中,组织必须关注软件的测试内容、时间和方式。当涉及到软件的功能、性能和安全性时,端到端测试自动化已成为开发现代应用程序的基本要求。由于 SDET 既有编码经验又有测试经验,因此他们在组织中的需求很高。除了提高代码质量外,SDET 还执行强大且详细的代码审查,并检查代码的可测试性。
SDET 专注于开发和使用多种工具、技术、流程和行业最佳实践。这足以使他们成为开发生态系统中不可或缺的一部分。他们的工作是测试开发人员编写的代码。为此,他们必须编写自己的独特代码、单元测试并进行白盒测试。
成为 SDET 所需的技能
以下是 SDET 预期的技能:
多种脚本语言和工具
组织在 SDET 中关注的首要技能是他们对各种脚本和工具的熟练程度。不同的公司有不同的要求。例如,如果您在一个公司使用 Microsoft 或 .NET,那么您可能需要为另一个公司学习 JAVA。基本上,SDET 必须乐于学习新技能。
多种测试技能
SDET 必须适应项目的特定需求、工具、技术等。例如,一方面,您可能会被要求进行 API 测试,而另一方面,您也可能会被要求进行 UI 或前端测试。因此,为了交付高质量的产品,SDET 必须学习多种测试技能,并变得更能适应特定项目的需要。
自动化框架
SDET 必须专注于找到新的方法来减少手动工作,通过自动化测试过程来减少手动工作,而不会影响质量。有几个框架可用于自动化 Web 和移动设备。如今,大多数组织使用 selenium 和 appium 工具来自动化手动测试。一些 SDET 还在云基础架构(如浏览器堆栈、源实验室等)上运行他们的测试。
API
大多数系统都依赖于 API,因为它允许他们访问其他系统的服务。通过对 API 的正确理解,SDET 无需重新发明已有的服务。除了具备对 HTTP 协议、HTTP 方法、标头、Cookie 等的良好了解之外,SDET 还必须知道如何开发和使用 API。SDET 还必须熟悉基于 XML 和 JSON 的服务。
SDET 使用的工具、语言和 API 列表
Chrome Web 调试器
POSTMAN
Mockito 框架
Git
Selenium
JMeter
OWASP
亚马逊 AWS
谷歌 GCP
微软 Azure
SDET 和 QA 工程师之间的区别
SDET 和 QA 工程师有一些相似之处,因为两者都必须在 Selenium、Jenkins、Java 等工具和语言方面获得专业知识。但是,它们之间的区别非常明显。
SDET 是一名拥有出色开发知识的开发人员,他们与测试团队而不是产品开发团队一起工作。SDET 负责编写代码并对其进行测试。SDET 的工作是编写新代码、测试和修复它们。简而言之,SDET 是拥有强大的分析、技术和解决问题能力的专业人员。
QA 工程师是测试人员,他们不需要任何编程知识,因为他们没有接触过代码。
SDET 和手动 QA 之间的比较
因素 | SDET | QA 工程师 |
---|---|---|
范围 | 专注于功能、非功能、性能、安全等。 | 主要专注于应用程序的功能。 |
自动化 | 主要致力于自动化重复场景,使手动测试人员能够专注于复杂场景。 | 自动化技能不是强制性的。他们必须知道如何使用工具进行手动测试。 |
技能 | 主要用于自动化测试用例,编写可重用脚本以减少重复任务。 | 专注于应用程序的功能、边缘案例场景和执行复杂的测试用例。 |
结论
准确地说,SDET 扮演着客户代言人的角色,他们的工作是了解最终用户的期望并找到创新的方法来满足这些期望。虽然功能和自动化测试人员的需求将永远存在,但另一方面,SDET 在组织中的需求量很大。