從品質下手來進行改善

David Anderson (看板方法的發明人)曾經提到過,

軟體開發要能成功, 根據他的經驗, 秘訣如下:
1. Focus on Quality
2. Reduce Work-in-Progress
3. Deliver Often
4. Balance Demand Against Throughput
5. Prioritize
6. Attack Sources of Variability to Improve Predictability

這個秘訣的第一步就是專注於品質
看到這個是非常有感覺的

近幾年很多公司要導入 Agile
可是在進展和成效上並不是那麼如意
這中間可能有很多原因
但是最終導致大家一提到敏捷就害怕
覺得這個就是一個流行術語
或者說到我們的文化不合適

因此, 有些公司他們的做法是這樣的
尤其是一些製造業或是傳產公司
他們打算從品質開始
因為如果品質要到位
這件事情上大家不太會反對
畢竟沒有好的品質, 產品不好賣, 維護也會很痛苦
並且品質這個東西聽起來也很直白
大家雖然不一定知道怎麼做, 但都會說知道它是什麼
所以在一開始的共識上是有的

在軟體品質上面, 最先想到的測試
但是因為以前都沒有重視
所以學校沒有教過也沒有學過
一開始只知道要做測試自動化
以及要找些相關的測試工具來使用

後來就發現到
測試自動化喊了很久, 也去上了些課程
但是後來就是沒有做,
為什麼沒有做哪? 答案很簡單: 沒空

就算有去做測試自動化
可是都很擔心涵蓋度不夠
更有趣的是即使老闆知道下面的人有做自動化
他們還是希望有 QA 可以幫忙測
因為他們覺得 RD 測的東西不靠譜

對於測試工具的部分
可能就是用些測試個案或是 bug 的管理工具
可是開出不來 test case, 也沒找到太多 bug
這些工具其實不太會用到

對於 單元測試的工具
有些雖然有用, 但是還是擔心測不全
更重要的不知道是哪些測試
所以常常測試個案沒幾個
然後也沒有整合到 CI 去執行
可能一天跑不到一次

接著有趣的地方
是大家只知道單元測試要做
然後端到端就很少做
但是單元測試其實驗證了一小部分的地方
端到端才能涵蓋較完整的場景
並且沒有非功能性的測試
所以整個看下來, 品質這條路上還是屬於蠻荒時代

如果從品質這個角度開始改善
或許可從以下方式著手

(1) 測試個案設計的能力

不管你是手動或自動化方式執行測試
不管你是 QA 或 RD 來做
常遇到的都是測試不完整, 不知道如何涵蓋較多狀況
因此, 基本功就是先提升開立測試個案的能力
讓大家可以測試的就全面一點

(2) 利用測試左移在源頭就做對

等到測試找到很多問題,
這時候已經是時程的尾端
代表專案可能就是會延遲
另外, 專案會做不好, 很多時候是需求不清楚
因此, 利用實例化需求, 在早期時, 大家一起多次確認要做的需求是什麼
讓大家有一致的共識, 這樣專案後期才不會找到太多問題
當然可以把它自動化當然很好, 不過那不是最先考慮的

(3) 將 Smoke Test 給自動化
很多團隊雖然知道要做測試自動化
但是就是沒有時間(藉口)
為了讓時程和自動化可以兼顧
可是試著將最主要的主功能或是場景給自動化
不需要太多 10幾個到 20 個
只要能天天跑, 這樣效果就很大

(4) 利用探索測試增加投資報酬率

沒時間確實是一個大問題
導致你沒空寫自動化, 也沒空開立測試個案
但是總是不能都不手動測試一下
這時候你可以利用 探索性測試的方法
在有限時間內找到最多的問題

發表迴響

探索更多來自 轉念學 - 敏捷三叔公的學習之旅 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading