軟體工程師的日常工作
大致上可以分為兩種:
開發新功能
或是修Bug

後者雖然很無趣
卻是非常重要的工作
即使加了單元測試、整合測試
甚至人工測試
也不可能保證沒Bug
而如何加快修復Bug的速度
是工程師的重要課題

修復Bug的第一步驟
我認為就是穩定重現Bug
不論是UI操作上的流程
或是特定情境的程式邏輯
還是資料面的問題

舉例來說
如果今天的Bug是註冊功能壞掉
那麼我們首要的任務
就是穩定重現註冊失敗

從UI面來看
是否在註冊過程中
按到上一步就會失敗

以程式面來看
就要確認是哪種註冊方式失敗
是使用信箱失敗
還是使用手機註冊失敗
或是兩種方式都無法成功

以資料面來看
測是是否輸入特殊的字元
就會導致註冊失敗

雖然說是第一步
但只要能夠穩定重現Bug
通常也就能夠順利修復了