SDET Unicorns - 為什麼如此難以僱用SDET?

SDET,也稱為測試中的軟體開發工程師,是軟體測試和質量保證領域的工作角色。該術語最初由微軟和谷歌使用,旨在用自動化取代普通和重複的手動測試任務。
多年來,越來越多的公司正在招聘SDET,因為它是敏捷和DevOps中的關鍵角色。但是,這是一個充滿挑戰的角色。
技術變化非常快,測試人員需要學到很多東西才能保持領先。
這篇文章討論了SDET的作用以及為什麼難以找到獨角獸SDET。
SDET做什麼?
SDET是一個技術軟體測試人員,專注於開發自動化測試指令碼。
通常,他們是敏捷團隊的一員,與開發人員一起工作,幫助自動化使用者故事中的接受標準。
除了參與典型的QA活動外,他們還可以編寫自動整合測試,API測試和/或UI自動化測試。
此外,SDET可以幫助審查開發人員編寫的單元測試。
為什麼需要SDET?
在每個產品中,都有一些核心功能必須在每個產品版本上執行。這意味著在每個sprint中,必須測試新功能和現有功能。
敏捷開發是快節奏的。通過短衝刺(通常為2周),測試人員沒有時間手動測試所有東西。
當團隊中的測試人員沒有編寫自動檢查所需的技能時,所有測試都必須手動完成。
最終,測試成為軟體開發和釋出的瓶頸,因為完成測試需要更長的時間。
因此,在敏捷團隊中招聘和放置SDET可以通過自動化大部分手動測試和任務來減輕負擔。
採訪和聘用SDET
那麼,為什麼要找到並招募優秀的SDET這麼難呢?
多年來,我採訪的大多數所謂的SDET要麼缺乏必要的技術技能,要麼不理解質量保證和測試原則。
他們並不完全理解SDET在團隊中的作用的主要原因。大多數人都認為他們所要做的就是自動化驗收標準。讓我們明確一點, SDET不是自動化工程師 。
在測試能力和技術技能之間取得適當的平衡是關鍵。
一個偉大的SDET是一個貿易軟體測試人員,對軟體質量充滿熱情 ,同時 具有技術嫻熟,並擁有正確的技術技能組合。
在面試SDET時,我總是尋找 QA心態 和 技術技能。**
SDET配置檔案 - 全棧測試儀
優秀SDET的概況是什麼樣的?SDET應該具備哪些技能?
現在,我們中的一些人聽說過全棧開發人員,但我們可以擁有 全棧測試人員 嗎?
在我看來,SDET應 至少 具備以下技能和屬性:
- 有測試人員的心態,很好奇,可以提出有趣的測試場景
- 對測試原理和方法有深刻的理解
- 知道所有測試都是探索性的,並且理解測試和檢查之間的區別
- 可以為給定的應用適當的測試方法
- 知道測試和質量保證之間的區別
- 可以用 至少 一種指令碼或程式語言編寫程式碼(Java和Javascript恰好是最受歡迎的)
- 瞭解HTTP以及如何構建現代Web應用程式
- 可以編寫UI 以及 API自動化測試。其中一個還不夠好!
- 知道Git,Pull Requests,Branching等......
- 本質上是敏捷的,並且知道測試如何適應敏捷模型
- 可以編寫效能測試指令碼( Gatling和/或JMeter )
- 考慮安全性並瞭解OWASP
- 瞭解CI / CD和構建管道
- 瞭解雲平臺提供商提供的服務,例如AWS,Azure和Google Cloud
成為一個偉大的SDET
如果對軟體測試、介面測試、自動化測試、效能測試、LR指令碼開發、面試經驗交流。感興趣可以175317069,群內會有不定期的發放免費的資料連結,這些資料都是從各個技術網站蒐集、整理出來的,如果你有好的學習資料可以私聊發我,我會註明出處之後分享給大家。
可以看出,SDET所期望的技能範圍非常廣泛。
我希望成為SDET並且在QA新時代保持相關性的測試人員的建議是:
確保您在SDET配置檔案中具備所有上述技能 ,但至少應:
瞭解並理解測試的基礎知識
首先,要了解軟體測試的基礎。
與開發人員保持一致並能夠編寫漂亮的程式碼非常好。但如果您缺乏QA思維模式,如果您無法提供足夠的方案來深入測試使用者故事和功能,那麼您就不會新增任何價值。你也可以更努力地工作併成為開發人員。
瞭解並理解HTTP
大多數現代Web應用程式都與API互動。
瞭解和理解HTTP體系結構以及Web的工作原理至關重要。如果您無法區分POST請求和GET請求,或者不知道如何 解析JSON ,那麼如何有效地測試API?
投入時間學習 Karate 等API測試工具。
你不能稱自己為SDET,如果你想做的就是自動化測試,而你所知道的就是Java和Selenium.