測(cè)試開發(fā)工程師 (Software Development Engineer in Test,簡(jiǎn)稱SDET)是指那些既可以稱作是開發(fā)人員,同時(shí)也負(fù)責(zé)軟件開發(fā)階段和測(cè)試周期的測(cè)試工作的技術(shù)人員。一個(gè)專業(yè)的SDET更關(guān)注軟件產(chǎn)品的可測(cè)性,穩(wěn)健性和性能。他們還可以在生產(chǎn)軟件的設(shè)計(jì)初期發(fā)揮推波助瀾或?qū)忛喌淖饔谩?/p>
由于這種混合性質(zhì),如今無(wú)論是中小企業(yè)還是大企業(yè),都有很大的需求。
基于這種特殊的角色,讓我們來(lái)看下具體體現(xiàn):
SDET是做啥的?
?通常情況下,測(cè)試工程師(STE)主要職責(zé):他們是在系統(tǒng)界面上執(zhí)行測(cè)試,發(fā)現(xiàn)bugs,針對(duì)發(fā)現(xiàn)的問(wèn)題,在bug追蹤管理工具上報(bào)告具體的失敗的測(cè)試用例。而SDET更像是包攬了軟件生命周期和測(cè)試生命周期的工作,他/她要做設(shè)計(jì),制定計(jì)劃,創(chuàng)建,線程化并且通過(guò)code review 或者自動(dòng)化工具發(fā)現(xiàn)代碼的問(wèn)題。
一個(gè)SDET不僅可以考慮在應(yīng)用程序代碼可能失敗的可能性,并適當(dāng)?shù)匾?guī)劃自己的測(cè)試結(jié)構(gòu),保證了產(chǎn)品的耐用性。
為什么需要測(cè)試開發(fā)?
自動(dòng)化測(cè)試不能完全的替代手工測(cè)試,并且企業(yè)不樂(lè)意去雇傭兩種測(cè)試人員,那么SDETs會(huì)成為他們的首選。這就預(yù)示著傳統(tǒng)的純手工測(cè)試轉(zhuǎn)變?yōu)榱送ㄟ^(guò)技術(shù)實(shí)現(xiàn)產(chǎn)品的測(cè)試。所以SDET不僅是一個(gè)具備編程技能,也是一個(gè)可以創(chuàng)建測(cè)試框架和工具,幫助手工測(cè)試過(guò)程的測(cè)試人員。
SDET的角色和職責(zé)
SDET應(yīng)該能夠進(jìn)行自動(dòng)化測(cè)試和多應(yīng)用平臺(tái)的搭建,比如:web,Mobile和Desktop.
根據(jù)技術(shù)支持部的反饋調(diào)查和重現(xiàn)客戶遇到的問(wèn)題。
創(chuàng)建和管理BUG報(bào)告,并與團(tuán)隊(duì)進(jìn)行溝通。
能夠創(chuàng)建不同的測(cè)試場(chǎng)景和驗(yàn)收測(cè)試。
SDET需要處理與合作伙伴的技術(shù)交流,了解客戶的系統(tǒng)或API。
SDET更需要和部署團(tuán)隊(duì)一起協(xié)作,處理不同層面的系統(tǒng)問(wèn)題。
SDET同時(shí)也應(yīng)該具備搭建,維護(hù)和操作自動(dòng)化框架的能力。
以上為測(cè)試開發(fā)工程師的必備(關(guān)鍵)技能。當(dāng)然不同公司存在一定的差異。
技術(shù)和軟技能
非技術(shù)能力:
?溝通能力
SDET必須具備良好的口頭和書面溝通能力。測(cè)試材料像測(cè)試用例,測(cè)試計(jì)劃,測(cè)試策略,BUG報(bào)告創(chuàng)建,應(yīng)該易讀和易于理解。
時(shí)間管理和組織能力
一個(gè)SDET的工作在代碼發(fā)布期間尤為苛刻,必須有效地管理工作量,具有生產(chǎn)效率高,時(shí)間管理技能。
良好的工作態(tài)度
要想成為一名合格的SDET,良好的工作態(tài)度尤為重要。你必須能夠在技術(shù)不斷更新的情況下實(shí)時(shí)更新自己的技術(shù)技能。在這個(gè)過(guò)程中,態(tài)度起了一定的決定性。因此,在日常的工作中,對(duì)于任務(wù)應(yīng)該持有有一種主人翁意識(shí),而不是等待被分配。
熱情
在IT專業(yè),任何的成功帶給你的喜悅,都離不開對(duì)該領(lǐng)域的熱忱度。一個(gè)SDET應(yīng)該有對(duì)測(cè)試,開發(fā)和設(shè)計(jì)的熱情和求知欲和創(chuàng)造性。
技術(shù)技能:
?對(duì)編程語(yǔ)言有所了解,例如C#,.NET, Java等。
理解面向?qū)ο蟪绦蛟O(shè)計(jì)
有敏捷+DevOps流程管理方法論的工作經(jīng)驗(yàn)
熟知各種測(cè)試方式和測(cè)試相關(guān)的工具,例如MS Test,NUnit, TestNG, Selenium WebDriver等等。
涉足行為驅(qū)動(dòng)開發(fā)(BDD)。
通過(guò)自動(dòng)化工具能夠找出現(xiàn)有項(xiàng)目代碼中的瓶頸和閥值
有一定的系統(tǒng)或服務(wù)端開發(fā)經(jīng)驗(yàn)
至少一年的測(cè)試經(jīng)驗(yàn)或者說(shuō)對(duì)各種開發(fā)工作感興趣
日常工作
以一天為例,你大概是在忙碌于理解項(xiàng)目文檔,編寫和執(zhí)行測(cè)試用例,輸出測(cè)試結(jié)果和測(cè)試系統(tǒng)中的bugs.并且更像一個(gè)使設(shè)計(jì)團(tuán)隊(duì),開發(fā)團(tuán)隊(duì)和其他的團(tuán)隊(duì)建立聯(lián)系的樞紐。
事業(yè)進(jìn)階
在一個(gè)典型的CMMI 5級(jí)(致力于持續(xù)的流程改進(jìn))的公司,你的大概事業(yè)進(jìn)階如下所示,當(dāng)然不同公司存在一定的差異。
新手->老司機(jī)(2,3年經(jīng)驗(yàn))->測(cè)試開發(fā)團(tuán)隊(duì)協(xié)調(diào)員(5-8年經(jīng)驗(yàn))或者是測(cè)試開發(fā)經(jīng)理 (8年以上經(jīng)驗(yàn))
總結(jié)
因此,測(cè)試軟件開發(fā)工程師的作用是非??捎^的,以及具有挑戰(zhàn)性,因?yàn)樗η笠宰畲罂赡艿馁|(zhì)量交付軟件。
譯自:https://www.testbytes.net/blog/what-is-sdet/
譯文轉(zhuǎn)載來(lái)自公眾號(hào):測(cè)試開發(fā)社區(qū)