測試開發工程師 (Software Development Engineer in Test,簡稱SDET),是指那些既能夠稱做是開發人員,同時也負責軟件開發階段和測試周期的測試工做的技術人員。一個專業的SDET更關注軟件產品的可測性,穩健性和性能。他們還能夠在生產軟件的設計初期發揮推波助瀾或審閱的做用。web
因爲這種混合性質,現在不管是中小企業仍是大企業,都有很大的需求。編程
基於這種特殊的角色,讓咱們來看下具體體現:框架
一般狀況下,測試工程師(STE)主要職責:他們是在系統界面上執行測試,發現bugs,針對發現的問題,在bug追蹤管理工具上報告具體的失敗的測試用例。而SDET更像是包攬了軟件生命週期和測試生命週期的工做,他/她要作設計,制定計劃,建立,線程化而且經過code review 或者自動化工具發現代碼的問題。編程語言
一個SDET不只能夠考慮在應用程序代碼可能失敗的可能性,並適當地規劃本身的測試結構,保證了產品的耐用性。工具
自動化測試不能徹底的替代手工測試,而且企業不樂意去僱傭兩種測試人員,那麼SDETs會成爲他們的首選。這就預示着傳統的純手工測試轉變爲了經過技術實現產品的測試。因此SDET不只是一個具有編程技能,也是一個能夠建立測試框架和工具,幫助手工測試過程的測試人員。性能
以上爲測試開發工程師的必備(關鍵)技能。固然不一樣公司存在必定的差別。測試
SDET必須具有良好的口頭和書面溝通能力。測試材料像測試用例,測試計劃,測試策略,BUG報告建立,應該易讀和易於理解。spa
一個SDET的工做在代碼發佈期間尤其苛刻,必須有效地管理工做量,具備生產效率高,時間管理技能。.net
要想成爲一名合格的SDET,良好的工做態度尤其重要。你必須可以在技術不斷更新的狀況下實時更新本身的技術技能。在這個過程當中,態度起了必定的決定性。所以,在平常的工做中,對於任務應該持有有一種主人翁意識,而不是等待被分配。線程
在IT專業,任何的成功帶給你的喜悅,都離不開對該領域的熱忱度。一個SDET應該有對測試,開發和設計的熱情和求知慾和創造性。
以一天爲例,你大概是在忙碌於理解項目文檔,編寫和執行測試用例,輸出測試結果和測試系統中的bugs.而且更像一個使設計團隊,開發團隊和其餘的團隊創建聯繫的樞紐。
在一個典型的CMMI 5級(致力於持續的流程改進)的公司,你的大概事業進階以下所示,固然不一樣公司存在必定的差別。
新手->老司機(2,3年經驗)->測試開發團隊協調員(5-8年經驗)或者是測試開發經理 (8年以上經驗)
所以,測試軟件開發工程師的做用是很是可觀的,以及具備挑戰性,由於它力求以最大可能的質量交付軟件。