讀書摘要: 敏捷測試的思考 (3)
Practices for Scaling Lean & Agile Development
Chapter 3 Testing
5. 避免將開發與測試分離
- 傳統測試的想法
(1) Coding是建設性, Testing是破壞性, 因此programmer不能進行測試
(2) 如果programmer測試自己的代碼, 那麼他們就會根據實作的情況, 改變測試的內容
(3) 當測試是由同一個開發的團隊來進行, 他們容易為了期限要到了, 而省略測試
- 因此在傳統測試中, 測試的獨立性是把測試和開發分離. 在agile中, 需要的是精神上的獨立, 而不一定非要由團隊中其他人員進行測試.
- 傳統把測試和開發分開, 讓開發人員和測試人員之間沒有共享的相同目標, 也導致他們不容易共享訊息
- 利用測試先行, 也就是在程式實現前先寫測試, 這樣測試就不會受到實作的影響, 因為這時候程式還沒產生. 這樣使得測試工作在精神上獨立, 可是卻不需要單獨的測試部門.
6. 避免單獨的測試部門
- 跨功能小組是agile理想的組織
- 或許一開始無法做到大量測試自動化, 並且也沒有defintion of done, 但是至少可以把測試人員加入到開發團隊, 讓測試人員和開發人員再一起做事.
7. 嘗試測試人員和開發人員一起工作
- 在scrum團隊中, 測試人員不再只是測試人員. 他只是將"測試"作為首要工作的成員.
- 他可以獲得一些非測試的工作, 來逐漸擴充他的技能. 例如, pair programmin, 讓測試專家和開發人員配對, 大多會提高品質. 或者可以幫助product owner整理需求, 或是幫忙檢視技術文件等等.
- 所有團隊成員都共享同一個目標, 並且以團隊為單位來負責實現這個目標.
留言列表