簡介
這個原則旨在強調為了達到品質要求,就必須在專案的整個生命週期中,處理品質事宜。為了達到品質要求,因此會針對此目標改良反覆式流程,因為反覆式流程可以提供許多測量和更正機會。
|
|
優點
|
|
型樣
|
-
確保小組負起產品品質的責任。
-
提早及持續測試,並具有展示能力。
-
漸進式地建置自動化測試。
|
反型樣
|
-
在整合測試之前,由同儕審查所有構件及完成所有單元測試。
-
由同儕進行所有過渡構件的深入審查是極沒有生產力的方式,因為這種方式會延遲應用程式測試,因而導致延誤找出主要的問題。
-
在進行整合測試之前完成所有單元測試,這也一樣會延誤找出主要的問題。
|
|
討論
提高品質不只是「符合要求」,或是製作出符合使用者需求和期待的產品而已。品質還包括要找出可以顯示產品達到品質目標的測量和準則,以及流程的實作來確保產品確實會達到預期的品質層次,並且此項品質確實可以重複及管理。
確保高品質不是只靠加入測試小組即可;這還要整個團隊為品質把關。這需要靠所有團隊成員以及生命週期的所有階段:
-
分析師負責確保需求可以測試,並且指定清楚的需求供進行測試。
-
開發人員在設計應用程式時,應該要注意測試作業,並且必須負責測試自己的程式碼。
-
管理人員需要確保制定正確的測試計劃,並且備有正確的資源 可以用來建立測試用具及執行必要的測試。
-
測試人員是品質專家。他們負責指引整個團隊瞭解軟體的品質問題,並且他們也負責所有的產品測試作業(包括功能、系統以及效能)。
當發現品質問題時,團隊的每個成員都應該勇於參與處理問題。
反覆式開發的一個主要優點,是它可以及早及持續測試,如以下說明。當到達專案尾聲,並且最重要的功能都已經提早實作好時,最主要的軟體部分可能都已經開始啟動及執行好幾個月,因此很可能也已經測試了好幾個月了。因此,採取反覆式開發的大部分專案,都宣稱由於流程改進了,因此得以有效地提高品質。
測試會提早開始並在每一個反覆作業階段延伸測試
反覆式開發可以提早進行測試。在每一個反覆作業階段開發的軟體,在一建立好時即做測試。迴歸測試可以確保在新的反覆作業加入新功能時,不會帶來新的問題。參考資訊: 輔助資料:品質管理。
當我們逐漸建置應用程式時,我們也應該漸進地建置自動化測試,來提早偵測問題,並減少事先的投資成本。我們在設計系統時,應該也要考慮系統的測試方式。擬定正確的設計決策,可以大幅提高進行自動化測試的能力。也可能可以從設計模型中,直接產生測試程式碼。這個做法可以節省許多時間,可以提供提早進行測試的好處,並且可以透過減少測試軟體中的錯誤數目,來提高測試品質。在目標是要將所有程式碼的測試自動化,並且測試是在撰寫程式碼之前就已經先寫好(測試優先設計)的敏捷社群中,自動化測試是其所有開發區域的一個主要重點。
|