極限編程思想有其自身的核心價值,它們是:交流、簡單、反饋、勇氣。測試驅動開發作為極限編程中的基本開發原則,也充分體現了這種新型開發思想的價值。
(1)交流在軟件開發過程中的作用是毋庸置疑的,交流可以最大程度的減少開發人員、客戶、管理人員之間由于溝通不暢造成的誤解。極限編程的很多實踐都是必須依靠交流來實現的,缺少交流是不能夠進行下去的,比如單元測試、結對編程、工作的評估等。測試驅動開發與這些方法密不可分,只有進行結對編程等方法進行的測試驅動開發才是有意義的。這種情況下,同樣需要大量的交流,可見交流原則的重要性。
(2)簡單這一價值在極限編程的思想中有著很重要的體現,整個極限編程的過程中都體現著簡單二字,設計簡單、代碼簡單,只要能簡單行事,決不復雜辦理。只要符合現在的要求,可以工作,那么簡單解決就是最佳的方法。與其實現一個復雜的系統,不如設計一個簡單的能滿足當前需要的系統,因為你永遠考慮不到下一個需求是什么。測試驅動開發正是如此。測試用例的編寫本著簡單的原則,在符合設計的要求下進行編寫,越簡單越好。只需要注重眼前的需求,不要考慮以后的需要變化,F階段的設計滿足現階段的需求即可,顯然現階段的測試也只需滿足現階段的需要即可。測試用例的編寫是根據設計而定的,而且可以說,測試用例的編寫也是設計的一部分,簡單的原則同樣在起著指導作用。所以代碼的編寫亦是根據此原則,算法實現越簡單越好,百分之百通過測試即可。
(3)反饋是一項寶貴的資源。在極限編程中,無論是設計、測試、開發過程中,反饋都是非常重要的信息。例如在設計時,盡快獲得用戶的反饋,并且越詳細越好,使得開發人員能夠保證自己的成果符合用戶的需要。測試亦是如此。測試驅動開發便是貫徹了這一價值。先進行測試用例的編寫,利用沒有通過測試的錯誤信息反饋,了解到代碼沒有通過測試用例的原因,根據該信息了解到出錯的地方,再根據出現的問題有針對性的逐步地修改代碼,讓其漸漸符合測試用例的要求,在運行數次測試用例后,最終讓其反饋回百分之百通過的成功信息。
(4)勇氣,這是最重要的核心價值。因為XP強調要\"擁抱變化\",因此對于用戶的反饋,要勇于對自己的代碼進行修改,丟掉壞的代碼。該條價值反映了開發人員應有的心態,而測試驅動開發正是進一步鼓勵開發人員,而且在實踐方便提供了很好的機制。先寫測試后寫代碼的過程正是這一機制的體現。面對測試用例運行時報出的錯誤反饋要勇于面對。例如在xUnit測試框架的使用中就要于面對測試時出現的Red Bar,錯誤信息并不可怕,這正是測試驅動開發的意義所在。針對錯誤信息來編寫及修改代碼,勇于面對,最終解決問題順利通過測試,顯示出所期望的Green Bar。勇氣又可以進一步的增強信心,提高效率,使得整個過程良性循環發展。
文章來源于領測軟件測試網 http://www.k11sc111.com/