測驗是任何軟體開發專案中最重要的步驟之一,如果跳過此程序,則結果可能是災難性的-對專案和公司而言,但是什么時候應該對軟體進行測驗?在專案完成后進行測驗似乎是合乎邏輯的,但是,經典測驗程序的功能是有限的,如果您先撰寫代碼,然后再測驗實作,則可能會遇到一些問題,即過度研發,設計偏離,可測驗性問題,幸運的是,有一種方法可以應對這些挑戰,它被稱為–測驗驅動開發,
什么是TDD或測驗驅動開發?
TDD是測驗驅動開發的縮寫,它指的是設計范例,其中軟體組件測驗用于指導整個開發程序,要了解TDD的作業原理,首先,最好定義其重要概念之一-單元測驗,
什么是軟體單元測驗?
單元測驗是一種將代碼分解成小的獨立單元的方法,單元測驗的主要目的是獨立評估每個組件的行為,以驗證它們是否正常運行,單元測驗通常由開發人員執行,但也可以由質量經理執行,一些軟體開發人員認為單元測驗是浪費時間,但是實踐表明情況恰恰相反,
在系統測驗,集成測驗和Beta測驗階段,忽略單元測驗會導致更高的錯誤修復成本,同時,單元測驗允許在開發生命周期的早期階段檢測錯誤和錯誤,從而在將來節省您的時間和金錢,
什么是TDD?
測驗驅動開發是一種軟體開發技術,其中單元測驗是最重要的問題,簡而言之,測驗驅動的開發都與“測驗優先”方法有關,這意味著測驗是在代碼實作之前撰寫的,無論是談論python中的測驗驅動開發還是java中的測驗驅動開發,TDD編程實踐始終旨在撰寫有效的干凈代碼,
我們可以將TDD視為一種設計策略,因為測驗是首先撰寫的,所以要測驗的組件的介面在存在之前已經被使用,因此,開發人員應盡快獲得有關設計可用性的反饋,
TDD的三個原則:
- 除非要通過失敗的單元測驗,否則不允許撰寫任何生產代碼,
- 您不能撰寫超出失敗所需的單元測驗,只需要實作最少的代碼,就可以完成單元測驗,
- TDD的程序通常被描述為一個紅綠色重構周期-該周期對每個書面單元測驗執行一次,
每個階段是什么意思?
在TDD中,在實作實際功能之前就撰寫了功能的單元測驗,由于缺少功能,因此測驗失敗,由于錯誤通常在IDE中標記為紅色,因此測驗驅動開發的這一階段稱為“紅色”,
在第二階段,開發人員撰寫足以使測驗通過的代碼,由于綠色表示成功,因此該階段稱為“綠色”,綠階段不需要優化,下一個任務是重構代碼,重構階段的主要思想是使代碼更好,尤其是消除代碼重復,重復這些階段,直到修復了錯誤,代碼具有所需的功能并且沒有測驗失敗為止,
測驗驅動開發的好處
TDD似乎很難遵循,但是您付出的額外努力將為您的專案帶來很多好處,有關TDD影響的研究表明,這種做法有助于將軟體缺陷減少40%到60%,對于想要將更好的產品推向市場的企業主來說,TDD的一大優勢是質量保證,可以在持續的程序中得到保證,
顯然,通過從代碼的第一行進行連續測驗,錯誤和意外事件的發生可能性較小,在質量方面,進一步的優勢包括更多的深思熟慮的代碼以及無需運行整個程式即可測驗某些功能的能力,這對于大型專案而言非常重要,
您發現錯誤的時間越晚,錯誤將給您帶來更多的損失,最重要的是,TDD是一個很好的機會,可以快速檢測到錯誤和崩潰并立即解決問題,如果以后發現錯誤,則可以減少繁瑣除錯的后續成本,此外,TDD有助于降低支持和缺陷管理領域的成本,專家強調,TDD提供了絕佳的機會來縮短學習代碼行為所需的時間和成本,使用TDD時,您還可以指望減少計劃外成本,
如果您在開發期間不使用測驗,則最終用戶可能是第一個面臨軟體缺陷的用戶,因此,除了修復錯誤的成本外,您還可能失去客戶的信任,另一方面,TDD使您可以避免這些問題,測驗驅動的開發還有助于優化開發人員的作業,如果出現問題,程式員會立即知道出了點問題,因為應用程式沒有通過測驗,這使開發人員可以專注于代碼的特定部分,而不必考慮整個系統的后果,
TDD也可以用作改進紙質檔案的工具,對于程式員來說,書面測驗比數百頁的需求更有意義,可以說,測驗充當了客戶愿景與程式員必須做的事情之間的溝通橋梁,
最后的想法
使用TDD方法有很多優點,從有機會盡早解決bug到不太明顯的bug,例如有機會確保客戶長期滿意,即使不應將TDD視為旨在解決任何開發問題的靈丹妙藥,但如果要節省資源并優化軟體專案的作業流程,則應考慮使用此選項,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/19648.html
標籤:設計模式
上一篇:Spring面試題詳細版
