什麼是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 在組織中的需求量很大。