TDD、BDD、ATDD都是什么、有什么區(qū)別?(上)
(資料圖片)
軟件開發(fā)是一個迭代過程,包括編寫、測試和改進(jìn)代碼,直到滿足需求。測試驅(qū)動開發(fā)(TDD)、行為驅(qū)動開發(fā)(BDD)和驗收測試驅(qū)動開發(fā)(ATDD)是支持該過程的三種方法。TDD、BDD和ATDD都是軟件開發(fā)中用于測試和確保質(zhì)量的方法。雖然它們都以提高軟件開發(fā)質(zhì)量為目標(biāo),但它們的方法和關(guān)注點(diǎn)有所不同。本文將探討TDD、BDD和ATDD的概念以及它們之間的區(qū)別。測試驅(qū)動開發(fā)(TDD)測試驅(qū)動開發(fā)(TDD)是一種軟件開發(fā)方法,側(cè)重于在編寫代碼之前編寫測試。這是一個迭代過程,包括編寫測試,運(yùn)行測試,然后編寫通過測試的代碼。TDD的目標(biāo)是編寫高質(zhì)量、可維護(hù)的代碼,這些代碼可以做到既滿足需求,又沒有Bug。 TDD有以下三個階段:紅:編寫一個失敗的測試綠:編寫代碼以使測試通過重構(gòu):重構(gòu)代碼以提高其質(zhì)量TDD通常用于敏捷軟件開發(fā)方法論中,強(qiáng)調(diào)在保持高質(zhì)量的同時快速交付軟件。TDD對于小的增量更改特別有用,它鼓勵開發(fā)人員在編寫代碼之前考慮代碼的設(shè)計。測試驅(qū)動開發(fā)(TDD)是一種軟件開發(fā)過程,強(qiáng)調(diào)在編寫實際代碼之前編寫自動化測試。TDD過程包括三個階段:紅色、綠色和重構(gòu)。在紅色階段,開發(fā)人員編寫一個失敗的測試,指定要實現(xiàn)的功能。在綠色階段,開發(fā)人員編寫最少量的代碼以使測試通過。在重構(gòu)階段,開發(fā)員提高代碼的質(zhì)量并消除任何重復(fù)。行為驅(qū)動開發(fā)(BDD)TDD確保代碼是可測試的,并且編寫的測試滿足需求。TDD有助于在開發(fā)周期的早期識別缺陷,減少修復(fù)缺陷的成本并提高代碼質(zhì)量。TDD還鼓勵開發(fā)人員編寫簡單、模塊化和可維護(hù)的代碼。 行為驅(qū)動開發(fā)(BDD)是TDD的擴(kuò)展,它關(guān)注系統(tǒng)的行為,而不是實現(xiàn)細(xì)節(jié)。BDD基于這樣一種思想,即系統(tǒng)的行為應(yīng)該以技術(shù)和非技術(shù)利益相關(guān)者都容易理解的方式進(jìn)行描述。在BDD中,測試是用描述系統(tǒng)行為的更自然的語言編寫的。這些測試被稱為“場景”,通常以“Given When Then”語句的形式編寫。BDD鼓勵開發(fā)人員、測試人員和業(yè)務(wù)利益相關(guān)者之間的協(xié)作,以確保每個人都對系統(tǒng)的行為有共同的理解。BDD有以下三個階段:1.發(fā)現(xiàn):識別描述系統(tǒng)行為的場景。2.公式化:用每個人都容易理解的自然語言寫出場景。3.自動化:使用測試框架自動化場景。BDD經(jīng)常用于敏捷軟件開發(fā)方法論,其中強(qiáng)調(diào)團(tuán)隊成員之間的協(xié)作和溝通。BDD鼓勵開發(fā)人員和測試人員從用戶的角度考慮系統(tǒng)的行為,而不僅僅是技術(shù)細(xì)節(jié)。行為驅(qū)動開發(fā)(BDD)是TDD的一個擴(kuò)展,專注于軟件的行為。BDD使用領(lǐng)域特定語言(DSL)以人類可讀的格式描述所需的行為。BDD強(qiáng)調(diào)開發(fā)人員、測試人員和利益相關(guān)者之間的協(xié)作,以確保軟件滿足業(yè)務(wù)需求。在BDD中,行為是根據(jù)場景來描述的,場景描述了用戶和系統(tǒng)之間的交互。每個場景都由一組Given When Then步驟組成。Given步驟指定初始條件,When步驟指定操作,然后步驟指定預(yù)期結(jié)果。BDD確保軟件滿足業(yè)務(wù)需求,并以預(yù)期的行為交付。BDD改善了利益相關(guān)者之間的溝通,減少了誤解,并確保軟件具有所需的功能。驗收測試驅(qū)動開發(fā)(ATDD)驗收測試驅(qū)動開發(fā)(ATDD)是一種專注于確保滿足系統(tǒng)需求的軟件開發(fā)方法。ATDD基于這樣一種思想,即應(yīng)該在編寫代碼之前定義特性的接受標(biāo)準(zhǔn)。這樣可以確保該功能符合要求并經(jīng)過徹底測試。它擴(kuò)展了TDD和BDD的原理,以關(guān)注系統(tǒng)的驗收標(biāo)準(zhǔn)。 驗收測試驅(qū)動開發(fā)(ATDD)是一個在編寫實際代碼之前指定驗收標(biāo)準(zhǔn)的過程。ATDD類似于BDD,但側(cè)重于接受標(biāo)準(zhǔn)而非行為。ATDD涉及開發(fā)人員、測試人員和利益相關(guān)者之間的協(xié)作,以確保軟件符合驗收標(biāo)準(zhǔn)。在ATDD中,驗收標(biāo)準(zhǔn)是根據(jù)驗收測試來定義的,驗收測試描述了系統(tǒng)的預(yù)期行為。驗收測試以商業(yè)可讀的格式編寫,用于驗證系統(tǒng)是否符合驗收標(biāo)準(zhǔn)。ATDD確保軟件符合驗收標(biāo)準(zhǔn)并提供預(yù)期功能。ATDD改進(jìn)了利益相關(guān)者之間的溝通,減少了誤解,并確保軟件滿足業(yè)務(wù)需求。在ATDD中,測試是在開發(fā)人員、測試人員和業(yè)務(wù)利益相關(guān)者之間協(xié)作編寫的。測試是以從用戶的角度描述系統(tǒng)行為的方式編寫的。這些測試被稱為“驗收測試”,通常以“Given When Then”語句的形式編寫。ATDD有以下三個階段:1.規(guī)范:定義特性的驗收標(biāo)準(zhǔn)。2.自動化:使用測試框架自動化驗收測試。3.驗證:驗證特性是否符合驗收標(biāo)準(zhǔn)。ATDD經(jīng)常用于敏捷軟件開發(fā)方法論,其中重點(diǎn)是交付滿足業(yè)務(wù)需求的軟件。ATDD鼓勵團(tuán)隊成員之間的合作,以確保每個人都對需求有共同的理解,并且該功能符合驗收標(biāo)準(zhǔn)。標(biāo)簽:
為您推薦
-
中國參演官兵駕乘裝甲輸送車向目標(biāo)地域行進(jìn)。巴基斯坦參演官兵開展戰(zhàn)術(shù)演練。蒙古國參演官兵進(jìn)行警戒巡...
2021-09-18
-
“請大家閉上眼睛,把注意力從頭頂‘漫游’到眉頭……”8月底,南部戰(zhàn)區(qū)陸軍某旅駐島某海防連課室內(nèi),官...
2021-09-18
-
9月15日上午,解放軍新聞傳播中心出版社舉行贈書活動,向陸軍第83集團(tuán)軍某旅“紅一連”官兵贈送由中央軍...
2021-09-18
-
新華社杜尚別9月17日電 當(dāng)?shù)貢r間2021年9月16日,國務(wù)委員兼外長王毅在杜尚別應(yīng)約會見印度外長蘇杰生。...
2021-09-18
-
辦房本要找“黃牛”、應(yīng)急管理部門涉嫌搞壟斷、行業(yè)協(xié)會以辦理車輛登記上牌備案之名借機(jī)收費(fèi)斂財、中小...
2021-09-18
-
新華社杜尚別9月16日電 當(dāng)?shù)貢r間2021年9月16日,國務(wù)委員兼外長王毅在杜尚別同俄羅斯外長拉夫羅夫、巴...
2021-09-18
-
人民網(wǎng)北京9月17日電 (記者溫璐、宋子節(jié))今日,國務(wù)院新聞辦就扎實做好民政在全面小康中的兜底夯基工...
2021-09-18
-
人民網(wǎng)杭州9月17日電 (記者孫博洋)9月16日至17日,中國質(zhì)量(杭州)大會在浙江杭州舉行。在16日舉行...
2021-09-18
-
人民網(wǎng)北京9月17日電 (記者王連香)據(jù)中國國家鐵路集團(tuán)消息,今日,十一黃金周火車票正式開售,車票預(yù)...
2021-09-18
-
9月16日,清華五道口“碳中和經(jīng)濟(jì)”論壇召開。中國核電黨委書記、董事長盧鐵忠作為核能企業(yè)代表受邀視頻...
2021-09-18
-
會議現(xiàn)場。人民網(wǎng)訊 9月14日,在第28屆北京國際書展開幕之際,由中國社會科學(xué)出版社主辦的“新形勢下學(xué)...
2021-09-18
-
人民網(wǎng)北京9月17日電 (記者王連香)據(jù)交通運(yùn)輸部消息,全國網(wǎng)約車監(jiān)管信息交互平臺統(tǒng)計,截至2021年8...
2021-09-18
-
新聞發(fā)布會現(xiàn)場。海關(guān)總署供圖人民網(wǎng)北京9月17日電 (記者栗翹楚)9月16日,海關(guān)總署舉行新聞發(fā)布會,...
2021-09-18
-
北侖海關(guān)查驗關(guān)員正操作智檢機(jī)器人對集裝箱開展放射性排查。海關(guān)總署供圖繁忙的上海自貿(mào)試驗區(qū)洋山海關(guān)...
2021-09-18
-
人民網(wǎng)杭州9月17日電 (記者孫博洋)9月16日至17日,中國質(zhì)量(杭州)大會在浙江杭州舉行。在16日舉行...
2021-09-18