開發>測試驅動開發
測試驅動開發表現出迭代開發的最核心的就是開發人員自己能夠第一時間確認其需求得到了正確實現,而當單元測試覆蓋了更多的內容,代碼質量也將得到提高。測試驅動開發的指導思想就是讓開發人員在編寫功能代碼之前,先根據需求編寫測試代碼。先思考如何對將要實現的功能進行驗證,并完成單元測試腳本的編寫,然后編寫足夠,僅僅足夠的功能代碼滿足這些測試用例,直至通過測試。按照這個方法,遞增的在迭代中增加新功能的單元測試和功能代碼編寫,直到完成全部功能的開發。
在單元測試活動中,測試人員也被鼓勵參與到單元測試的設計中來,不但可以幫助開發人員構思出更多的單元測試用例來擴大單元測試的覆蓋率,還可通過學習如何使用單元測試,如何復用單元測試用例到回歸測試和功能測試,以達到最大化利用有效的資源(如下圖)和節約成本的作用。同時,在回歸測試和用戶接收測試(User Acceptance Test)中如能將單元測試腳本有機的關聯起來,并自動化其執行,更能夠進一步提高測試的成效并降低測試成本。
單元測試腳本因隨需求、設計的變化隨時更新。需要開發人員站在全局的立場,開發始終堅持先修改測試腳本,再修改產品原代碼。此時,也建議測試人員參與單元測試腳本的改進,幫助開發人員合理的變更單元測試腳本,同時著手修改測試計劃和測試策略。
圖 2. 測試驅動開發

測試驅動開發的原則應該運用于每一迭代周期的開發中。但是,測試驅動開發的單元測試仍然是以開發為目的的活動,雖然自動化測試,回歸測試和用戶的接收測試(User Acceptance Test)可以通過復用單元測試腳本提高以后的測試工作的效率,但單元測試不是我們敏捷測試討論的重點。
敏捷測試活動的主要承載者還是敏捷測試人員。測試人員如何運用敏捷原則指導測試活動還是筆者在敏捷測試實踐一文中要講述的重點。以下,筆者將通過兩個迭代測試模型來幫助了解測試人員如何結合敏捷原則實踐敏捷的測試活動。
文章來源于領測軟件測試網 http://www.kjueaiud.com/