本部分結合一個軟件項目,詳細介紹項目流程中的主要測試活動,每個活動的前提條件和目標任務等。
3.1 介紹項目實例
項目介紹:根據一家在線 B2B 公司的要求,我們將為其開發一款類似于谷歌的搜索服務。作為 Web Service,該服務可以內嵌于網頁中。當用戶輸入關鍵詞并選擇商戶的類型和位置后,系統會返回具體商戶的列表(參見圖 3)。
圖 3. 項目實例圖
典型的敏捷開發和測試活動參見下表。它主要由三部分構成,從最初的用戶故事設計和發布計劃,到幾次 Sprint 周期的迭代開發和測試,以及最后的產品發布階段。每個時間段都有相應的測試活動。通常 Sprint 周期被分成兩類:特征周期(Feature Sprint)和發布周期(Release Sprint)。特征周期主要涉及新功能的開發和各類測試。發布周期則會結合計劃,確定新版本功能,然后對最新的功能進行測試。
敏捷開發的主要活動 | 測試活動 |
---|---|
用戶故事設計 | 尋找隱藏的假設 |
發布計劃 | 設計概要的驗收測試用例 |
迭代 Sprint | 估算驗收測試時間 |
編碼和單元測試 | 估算測試框架的搭建 |
重構 | 詳細設計驗收測試用例 |
集成 | 編寫驗收測試用例 |
執行驗收測試 | 重構驗收測試 |
Sprint 結束 | 執行驗收測試 |
下一個 Sprint 開始 | 執行回歸測試 |
發布 | 發布 |
在迭代的 Sprint 周期中,開發部分可以根據傳統步驟分成編碼和單元測試、重構和集成。需要指出的是,重構和集成是敏捷開發的 Sprint 迭代中不可忽視的任務。如果在新的 Sprint 周期中要對上次的功能加以優化和改進,必然離不開重構和集成。
在每個 Sprint 周期結束前,測試團隊將提交針對該 Sprint 周期或者上個 Sprint 周期中已完成的功能的驗收測試(在實際項目中,測試團隊的進度通常會晚于開發團隊)。這樣一來,開發團隊可以運行驗收測試來驗證所開發的功能目前是否符合預期。當然,這個預期也是在迭代中不斷變化和完善的。
當產品的所有功能得以實現,測試工作基本結束后,就進入了發布周期。此時,測試團隊的任務相對較多。
以上,我們概述了敏捷開發的主要活動。下面我們將對各階段相應的測試活動作詳細的介紹和分析。首先是用戶故事設計和發布階段。
原文轉自:http://www.anti-gravitydesign.com