官术网_书友最值得收藏!

1.1 當前軟件測試的趨勢

身處軟件開發(fā)行業(yè)的人們或多或少都聽說過DevOps、微服務架構(gòu)和自動化測試。這三者旨在提升項目或產(chǎn)品的交付效率,最終提升產(chǎn)品的競爭力。

DevOps是一套實踐方法論,它提倡打破原有組織和限制,讓職能團隊擁抱和接受DevOps所倡導的高度協(xié)同,以及開發(fā)、測試、運維與交付一體化的思維。隨著DevOps和敏捷的熱度不斷提升,無論是互聯(lián)網(wǎng)企業(yè)還是傳統(tǒng)企業(yè)都開始擁抱敏捷,實踐DevOps。作為DevOps的最佳實踐,持續(xù)集成(Continuous Integration,CI)、持續(xù)交付(Continuous Delivery,CD)越來越受到重視。圖1-1所示為DevOps的流程。

圖1-1 DevOps的流程

微服務架構(gòu)(microservice architecture)起源于DevOps意識形態(tài)和工程實踐。微服務架構(gòu)帶來了一系列好處,例如可部署性的簡化、可靠性和可用性的提升等。雖然原則上可以使用任何架構(gòu)來實踐DevOps,但是微服務架構(gòu)正在成為構(gòu)建持續(xù)部署系統(tǒng)的標準軟件架構(gòu)。由于每項服務的規(guī)模都很小,因此微服務架構(gòu)不僅允許通過連續(xù)重構(gòu)來形成單個服務的體系結(jié)構(gòu),從而降低對大型項目前期設計的要求,還允許盡早發(fā)布軟件并且實現(xiàn)持續(xù)交付。微服務架構(gòu)和DevOps是天然的共同體,兩者共同推進了軟件開發(fā)行業(yè)的變革。

微服務架構(gòu)在解決軟件大小、軟件開發(fā)規(guī)模等問題的同時也帶來了一些新的問題,如微服務數(shù)量增多、服務間調(diào)用關(guān)系復雜等。復雜的依賴導致即使是項目資深開發(fā)人員也很難全面梳理出所有服務之間的關(guān)系。微服務和傳統(tǒng)的單體應用在測試策略上有一些不太相同的地方。簡單來說,在微服務架構(gòu)中,測試的層次變得更多,需要測試的服務和應用的數(shù)量也會呈指數(shù)級增長。手動執(zhí)行所有的測試是低效的,無法滿足互聯(lián)網(wǎng)快速迭代的要求。這時就需要引入自動化測試來減輕測試團隊的壓力,提高測試效率和測試質(zhì)量。

隨著敏捷和微服務架構(gòu)的引入,持續(xù)集成和持續(xù)交付成為構(gòu)建和部署項目的標準,即使在沒有采用微服務架構(gòu)的項目中也是如此。為了保證已定義的流程和事務按照預期運行,測試必不可少。而在應對現(xiàn)代軟件產(chǎn)品頻繁的變化和發(fā)布時,傳統(tǒng)的手動測試方式在人力和效率上都存在嚴重不足,因此自動化測試就成為現(xiàn)代軟件開發(fā)過程中的一個關(guān)鍵環(huán)節(jié)。自動化測試是打通持續(xù)集成和持續(xù)交付的核心環(huán)節(jié),沒有有效的自動化測試作為保障,持續(xù)集成和持續(xù)交付就變成了空殼。

主站蜘蛛池模板: 广元市| 阿巴嘎旗| 黑水县| 揭阳市| 黔东| 青岛市| 盐池县| 凌源市| 应城市| 通海县| 同仁县| 台湾省| 墨玉县| 平塘县| 温泉县| 沙河市| 稻城县| 淮滨县| 自治县| 图片| 凤山市| 广州市| 吴川市| 含山县| 临高县| 九台市| 易门县| 榆社县| 乡城县| 宜兴市| 潮安县| 桃江县| 怀仁县| 大竹县| 静海县| 方城县| 都安| 新昌县| 德钦县| 阿鲁科尔沁旗| 伽师县|