Oct. 20 21:47~22:10
在〈軟體開發的成功祕訣〉Teddy提到回北科大電子系演講的事情,演講結束後有兩位看起來像是業界人士的校友問了Teddy一個問題。
校友:我們公司也採用Scrum開發軟體,有一個問題想請教你。
Teddy:請說。
校友:我們每個sprint結束的時候,經常來不及走完測試流程,應該怎麼辦?
Teddy:來不及走完測試流程是什麼意思?
校友:我們有兩個測試環境,一個是開發測試環境,一個是使用者驗收測試環境,story完成之後需要先在開發測試環境測試,如果沒有問題才佈署到使用者驗收測試環境,找真正的使用者(公司其他部門的員工)來測試。
Teddy:你們每個sprint結束之後所完成的story都會直接布署到production環境中嗎?
校友:會啊。
Teddy:這樣很好啊。
校友:就是因為要直接布署到production,所以要很嚴謹的測試。
Teddy:你們的story有經過PO驗收過嗎?
校友:有啊。
Teddy:如果PO已經驗收過了,為什麼還需要找其他人在使用者驗收測試環境中再測試一次?
校友:因為其他人會測出不同的問題啊。
Teddy:所以PO驗收過的不算數 ?
校友:使用者驗收測試環境還是很重要,不能不做。所以我們現在的做法是,取消開發測試環境,減少一個測試關卡。
Teddy:啊?沒有開發測試環境,你們怎麼知道布署到使用者驗收測試環境的功能是正確的?
校友:這也是我們現在遇到的問題啊。
Teddy:你們現在開發人員都怎麼測試?
校友:就自己測試自己的。
Teddy:自己測試自己的?哪整個系統的測試呢?你們沒有在持續整合系統上跑過一次測試案例嗎?
校友:我們沒有持續整合系統。
Teddy:這可能就是你們的問題,我覺得你們不應該也不能廢除開發測試環境,而是要導入持續整合系統,然後透過持續整合系統自動化開發測試環境上的整合與測試工作。
***
實施敏捷開發,無論是不是採用Scrum,單元測試、持續整合這兩者都是應該要一起服用的「補品」,否則要成功,很難。
***
友藏內心獨白:手動測試當然快不起來啊。
內心獨白是重點...
回覆刪除