Agility achieved thru Testing
agility = speed + quality,而quality只能透過不斷的testing達成。Code and Tests 這是agile methods核心兩物體。
所有程式都一定要有unit tests (XP)
XP這個宣言是比較嚴格,但不見得是極端的宣言。伴隨這個宣言就是,所有unit tests要通過才能進入下一個開發 phase。
所以這邊可以使用Lean中的Waste定義:沒有通過unit tests的code基本上就是waste!
這是要極力避免的。
YOU
SHALL
NOT
PASS!!!!!
Test-first Development (XP)
使用tests來取代spec,也被generalize成一種開發方法,稱為test-driven development。最主要的優點是,等於永遠保持最新的regression tests 定義!
regression test就是過往已經測試過但是failed的tests,開發過程中,一個已經解決的bug通常有機會因為code變動又出現了,所以如果採用test-driven開發的話,基本上等於一直在測試所有過去定義過的tests,也就是可以發現是否發生了failed regression tests。
Bug是沒有測試到的部分 (XP)
bug在test-driven development (TDD)眼中,重新定義成沒有被test cover的部分,所以要fix bug跟開發一個新的function一樣,先寫test!!!!這其實是相當先進的觀念,我覺得能徹底執行一定很棒。
Root-cause Analysis (XP / Scrum)
這好像沒啥好說的,基本上fix bug本來就該知道root cause不是?Automating User Acceptance Tests (UAT)
這其實就是automated tests,不過是以UAT 為出發點來寫test cases。這樣也能確保regression tests不會重啟問題。另一個比較有趣的:可以出版UAT score給team知道,讓大家知道目前版本對過去automated UAT測試的狀態。
沒有留言:
張貼留言