天天看點

測試自動化和準時傳遞直接的關聯

  是以當你在開發每個小功能時, 你會不斷進行以下事情:

  1. 從主幹 check out 程式代碼到分支

  2. 開發團隊在分支進行開發

  3. 小功能開發完後, 将分支程式, merge 回主幹

  可是通常這樣在第四步時, 就會遇到一堆錯誤. 這是因為小功能還沒确認是否正确, 就和整個系統和起來測試, 将導緻問題多多. 如果有很多小功能要放進來時, 這種情況就會更惡化.

  是以有些團隊可能會這樣做:

  3. 開發完畢在分支進行測試

  4. 在分支測試通過, 将分支程式, merge 回主幹

  5. 在主幹再進行測試

  是以下一步你會在這樣改進:

  4. 把主幹的程式 merge 到分支

  5. 把 merge 完後的分支程式進行測試

  6. 将 merge 完後的分支程式, 再 merge 回主幹

  7. 在主幹再進行測試

  是以你先确認小功能是否運作正常; 然後将主幹的程式合并到分支後, 再确認是否正确; 最後合并到主幹後, 在做一次确認是否都正常.

  看起來到目前為止, 應該考慮的很周到.

  有些人說沒問題, 我們會把測試自動化搞好, 這是小事. 于是他們就開始處理測試自動化的問題, 接着你又會發現到:

  要能自動産生 build, 否則每次手動要花多時間

  測試環境要自動準備好, 沒有幹淨的環境, 測試結果可能會有影響

  每個小功能整合到主幹後, 有可能之後出問題, 要重新回上個版本, 這個事情若是手動做, 也是件崩潰的事情

  ……

  是以再做下去, 你會發現整件事情沒有你想象的單純, 若是沒有落實 continuous integration 或是 continuous delivery, 你永遠沒有機會達到 agile 所說的, 每個 iteration 持續傳遞價值給客戶. 你所有的, 将會是至少落後一個 iteration 的傳遞. 因為在 agile 中, 每個 iteration 測試和開發要花的代價不同, 測試的代價是随着 iteration 的進行, 逐漸高升.

測試自動化和準時傳遞直接的關聯

  david: 老闆,  agile 不是隻是去上上 scrum 課就可以的.

  經理: 測試自動化我早就知道了, 是以 agile 根本沒有什麼好學的啦

  david: …

最新内容請見作者的github頁:http://qaseven.github.io/

繼續閱讀