DevOps
wikipedia解釋:DevOps是一種軟件工程文化和實(shí)踐狈定,旨在統(tǒng)一軟件開發(fā)(Dev)和軟件運(yùn)維(Ops)。DevOps運(yùn)動的主要特點(diǎn)是在軟件構(gòu)建的所有步驟中極力提倡自動化和監(jiān)控习蓬,從集成纽什、測試、發(fā)布到部署和基礎(chǔ)設(shè)施管理躲叼。DevOps的目標(biāo)是縮短開發(fā)周期芦缰,增加部署頻率,更可靠的發(fā)布枫慷,與業(yè)務(wù)目標(biāo)緊密結(jié)合让蕾。DevOps是一個完整的面向IT運(yùn)維的工作流浪规,以IT自動化以及持續(xù)集成(CI)、持續(xù)部署(CD)為基礎(chǔ)探孝,來優(yōu)化程序開發(fā)笋婿、測試、系統(tǒng)運(yùn)維等所有環(huán)節(jié)
Devops的技術(shù)棧如下所示:
從上圖可見顿颅,想從事Devops相關(guān)工作是非常困難的缸濒,涉及的技術(shù)領(lǐng)域及其廣泛,下面這張圖做了更為細(xì)節(jié)的劃分粱腻,也更為貼近實(shí)際工作庇配。
從上圖可以看到,對于開發(fā)绍些、測試捞慌、和運(yùn)維又做了更為細(xì)節(jié)的劃分:
DevOps 開發(fā)兼運(yùn)維
TestDev 開發(fā)兼測試
TestOps 測試兼運(yùn)維
DevOps 和TestDev更注重編碼能力(本質(zhì)就是開發(fā)),作為有十五年測試經(jīng)驗(yàn)的老鳥柬批,我更推薦大家往TestOps方向發(fā)展卿闹!
TestOps
TestOps,即測試運(yùn)維萝快。Testops 還要站在測試角度推動研發(fā)和運(yùn)維,將持續(xù)測試運(yùn)用到持續(xù)集成中的我們都可以稱之為 TestOps著角。簡單的說:全棧測試+運(yùn)維= TestOps揪漩。
TestOps流程
當(dāng)開發(fā)提交代碼后,每天晚上系統(tǒng)自動觸發(fā)靜態(tài)檢查體系(sonar)吏口;
開始調(diào)用xunit框架完成自動單元測試奄容,確定所有單元測試用例通過則進(jìn)一步進(jìn)行打包發(fā)布到測試平臺,否則將錯誤信息返回通知相關(guān)人員产徊;
打包完成后自動發(fā)布測試平臺昂勒,測試平臺會進(jìn)行接口及UI的自動化,如果都正常通過則生成測試報告發(fā)布測試版本到手工測試平臺舟铜;
手工系統(tǒng)測試及A/B測試戈盈。
TestOps未來的價值
團(tuán)隊(duì)價值:推動先進(jìn)的團(tuán)隊(duì)協(xié)作方式,持續(xù)交付生命周期的把控谆刨,持續(xù)集成高質(zhì)量要求塘娶。
個人價值:DevOps和TestOps技能,自動化測試推動持續(xù)交付痊夭,主導(dǎo)開發(fā)流程的生命周期刁岸。
DevOps能推動整個測試和運(yùn)維團(tuán)隊(duì)統(tǒng)一整個研發(fā)流程,幫助團(tuán)隊(duì)更敏捷的提交產(chǎn)品她我。他能解決流程問題虹曙,但無法發(fā)現(xiàn)開發(fā)過程中的測試的缺陷迫横。只有更專業(yè)TestOps的站在專業(yè)的測試角度推動開發(fā)和運(yùn)維一起進(jìn)行。TestOps和DevOps形成一個完整的持續(xù)集成和持續(xù)交付體系酝碳,才是真正提升整個團(tuán)隊(duì)的效率矾踱。
TestOps、DevOps击敌、 Full stack的比較
TestOps vs DevOps
TestOps主要目的是推動整個研發(fā)體系與發(fā)布體系更多在質(zhì)量方面介返。DevOps是從研發(fā)推動配合運(yùn)維和測試,而TestOps是從測試角度推動研發(fā)和運(yùn)維沃斤。所以TestOps才是真正把測試落地到整個研發(fā)體系的關(guān)鍵崗位圣蝎。
TestOps vs Full stack
全棧是Testops的升級, Full stack可以理解為 DevTestOps衡瓶。