這種方法要求我為每個新添加的功能編寫單元測試,並維護這些測試。沒有通過單元測試,我不能在模塊中添加任何代碼。隨著代碼庫的增長,這些測試允許開發人員將變更與證據集成在壹起。起初,我認為這些單元測試足以應對全局,沒有必要涉及功能測試。哦,又錯了。功能測試和單元測試是完全不同的。我花了很長時間才明白它們之間的區別,以及如何將它們結合起來改進開發過程。本文討論了單元測試和功能測試的區別,並介紹了如何在您的日常開發過程中使用它。作為壹名開發人員,測試非常重要,妳甚至應該花幾乎所有的時間來完成它。它不僅需要劃分到發展過程中的特定階段。顯然,這不應該是在您將系統交付給客戶之前要完成的最後壹項任務。但是,妳怎麽知道什麽時候會結束呢?或者說妳怎麽知道修改壹個微小的bug是否破壞了系統的主要功能?或者這個系統的發展會超出現在的想象嗎?測試、單元和功能都應該是開發過程的壹部分。單元測試應該是妳編寫代碼的核心環節,尤其是當妳在做壹個項目的時候,緊張的時間約束了妳的開發進度,妳也希望它有控制、有序地進行。我希望在妳寫代碼之前,測試也是寫測試的壹個重要部分。壹套合適的單元測試應該具有以下功能:解釋可能的最佳設計,提供類文檔的最佳格式,判斷壹個類何時完成。增強開發者對代碼的信心,是快速重構的基礎。自然,系統應該包括單元測試所需的設計文檔。重讀壹遍,妳會發現這是軟件開發過程中的聖杯,文檔隨著系統的變化而逐漸演變。為每個類提供完整的文檔要比給它提供壹系列使用框架或者壹系列可控輸入好得多。這樣,由於單元測試的逐步通過,設計文檔會隨時更新。您應該在編寫代碼之前完成編寫測試的過程。這樣做將為測試中涉及的類提供設計解決方案,並提示您註意代碼中較小的程序模塊。這樣的練習也會讓設計方案更容易。不能試圖去了解未來的情況,實現不必要的功能。編寫測試也會讓妳知道課程什麽時候結束。可以說,當所有的測試都通過後,任務就完成了。最後,單元測試會給妳提供更高層次的基礎,肯定會讓開發人員滿意。如果您在更改代碼的同時進行單元測試,那麽當您銷毀代碼時,您會立即註意到這種情況。功能測試甚至比單元測試更重要,因為它們表明您的系統已經準備好發布了。功能測試將使您的工作系統處於可用狀態。壹套適用的功能測試應該具備以下功能:有效地把握用戶的需求,將系統面對這些需求的依據交給項目組成員(包括用戶和開發人員)。功能測試應該有效地抓住用戶的需求。傳統開發者在使用過程中發現需求。通常,人們同意使用項目工程,並花費相當多的時間來定制它們。當他們完成後,他們得到的只是壹堆廢紙。功能測試類似於自我有效使用項目的情況。ExtremeProgramming可以說明這個概念。XP是對未來用戶和開發者之間溝通技巧的描述。功能測試也是這種交流的結果。不經過功能測試,這個說法就不成立。功能測試正好填補了單元測試和提交給項目團隊的代碼基礎之間的空白。單元測試會遺漏很多錯誤。它可以給妳所有妳需要的代碼的有效部分,也會給妳妳需要的整個系統。功能測試可以暴露單元測試中遺漏的問題。壹系列可維護的自動化功能測試也會漏網,但至少比最全面的獨立單元測試有用得多。單元測試VS功能測試單元測試告訴開發人員代碼讓事情正確執行,而功能測試說代碼工作正常。單元測試單元測試是從開發人員的角度編寫的。它們確保該類的每個特定方法成功執行壹系列特定任務。每個測試都應該確保對於給定的已知輸入應該獲得預期的輸出。如果沒有測試框架,編寫壹系列可維護的自動化單元測試幾乎是不可能的。在開始之前,選擇壹個項目團隊認可的框架。壹直用,慢慢喜歡。在極限編程的介紹頁面上(參見參考資料部分),有許多適用的單元測試框架。我喜歡用Juint測試Java代碼。& lt/P & gt;功能測試功能測試是從用戶的角度來寫的。這些測試確保系統能夠按照用戶的預期運行。很多時候,開發壹個完整的系統,更像是蓋壹棟樓。當然,這個比喻並不完全恰當,但是我們可以擴展它來理解單元測試和功能測試之間的區別。單元測試類似於建築檢查員檢查房屋的建築工地。他關註不同的系統,基礎,建築設計,電氣化,垂直線等等。他檢查房子的某個部分,以確保它在安全的狀態下正確工作,也就是直接違反房子的代碼。這個腳本中的功能測試類似於房子的主人檢查同壹個建築工地。他所期望的是房屋的內部系統正常工作,房屋檢查員已經執行了他的任務。房子的主人看重的是住在這樣的房子裏會是什麽樣子。他註重這個房子的外觀,不同的房間有合適的空間,房子適合家庭的需要,窗戶剛好在最佳的采光位置。房子的主人運行房子的功能測試,他站在用戶的角度。房屋檢查員運行單元測試,他站在構建者的角度。像單元測試壹樣,幾乎不可能寫出壹系列可維護的、自動化的、沒有測試框架的功能測試。Junit在單元測試方面做得很好;然而,當試圖編寫功能測試時,它似乎是松散的。Junit不等同於功能測試。現在也有滿足這個功能的產品,但是我還沒有看到應用到產品開發過程中。如果妳找不到壹個測試框架,妳必須自己創建壹個。無論我們在構建項目時有多聰明,系統有多靈活,如果我們的產品不能使用,我們就是在浪費時間。結論是功能測試是開發過程中最重要的部分。因為這兩種類型的測試都是必要的,所以妳需要編寫它們的指南。如何編寫單元測試
上一篇:古代中西方建築的技術與藝術進行比較分析,以及結構技術的比較下一篇:如何組織文件