Agile Testing 閱讀筆記
鋪墊:敏捷開發價值觀、原則與實踐 有什麼開發,就有什麼測試,傳統開發就有傳統測試,敏捷開發就應該要推行敏捷測試。在討論敏捷測試前,應該先理解敏捷開發模式,否則理解敏捷測試會很困難。 敏捷開發是一種思想或稱作方法論,通過不斷迭代與增量發布,最終交付符合用戶價值的產品。 書中提到一些敏捷開發的歷史、演進與框架 PDCA 循環 輕量級軟體開發 減少複雜的文件,強調人員的互動 敏捷宣言 XP(eXtreme Programing):較多是著重在軟體開發,例如 TDD、pair programing、CI 等等。 BDD(行為驅動開發):使用「通用語言」來描述測試案例,將 User Story 的細節進行完整地描述。 Feature(特性): 購物車功能 Scenario(情境): 添加商品到購物車 Given(假設): 用戶已經登錄到購物平台並且正在瀏覽商品 When(當): 用戶點擊某個商品的「添加到購物車」按鈕 Then(那麼): 該商品應該被添加到用戶的購物車中 And(並且): 購物車中的商品總數應該更新 FDD(特性驅動開發):使用制式結構來建構特性列表 <action> the <result> <by|for|of|to> a(n) <object> Scrum:確保每天、每個階段都向著目標明確進行的一種「方法」。 推薦看 Scrum 提倡者自己寫的 SCRUM:用一半的時間做兩倍的事 DevOps 與敏捷的關係 DevOps 可以看作是敏捷的延伸,打通軟體開發、測試、交付、維護中的層層牆壁。 敏捷宣言 藉著親自並協助他人進行軟體開發,我們正致力於發掘更優良的軟體開發方法。透過這樣的努力,我們已建立以下價值觀: 個人與互動 重於 流程與工具 可用的軟體 重於 詳盡的文件 與客戶合作 重於 合約協商 回應變化 重於 遵循計劃 也就是說,雖然右側項目有其價值,但我們更重視左側項目。 敏捷測試之道 敏決測試不是一種測試方法,而是為了適應敏捷開發而設計的一套軟體測試解決方案。 敏捷測試宣言 Full Lifecycle Testing OVER Isolated Testing Phase Team Shared Responsibility OVER Testers Ensure Quality Continuous Targeted Automation OVER Widespread Regression Testing Quality Built-in OVER Defect Detection Full Lifecycle Testing 強調測試左移與右移,並非將測試「移動」到兩個端點,而是全程測試的介入。...