昨天老闆和我們分享一個想法: 除錯只能靠Debug Log嗎?

他說到他來公司已經不少年, 可是對於公司的一件事情還是不是很習慣. 那就是engineer要解決一個bug時, 總是要求說要提供debug log給他, 否則他們就無法解這個問題.

對他來說, 這事件很不可思議的事. 因為解決問題的方法很多, 並不是只有看debug log才能解決, 而且這可能是你不肯動腦的藉口, 只想讓人把線所放到你面前. 更糟的事, 這線索可能是不完整或是不正確的.

他舉了一些方法, 例如你可以問使用者所使用的環境, 是使用什麼browser, OS是多少bits, 或是在哪個時間點發現的, 等等. 已就是先釐清使用者環境的問題. 接著你或許可以問到他如何安裝這個系統, 是fresh install還是upgrade或是更換Hot fix等等, 了解一些除了reproduced steps之外的一些系統環境. 或者詢問使用者輸入什麼樣的資料, 同樣是字串, 是否裡面有什麼特別的地方.

有時候在釐清這些問題之後, 事情就就可以更快被解決, 而不一定都要收集debug log才知道問題在哪裡. 畢竟大多數的debug log只反映了程式設計師的程式如何執行, 或是得到的資料是什麼. 但是無法得知環境問題, 或是在bug發生之前所發生的一些事情. 因此光看debug log也只是得到部分資訊.

當然更不用提, 若是debug log 一開始若是設計不當時, 不是資料過多, 要不就是沒有任何有用的線索, 可能還是幫不上任何忙.

前一陣子, 我去參加公司的一個活動: 一日良師, 去call center聽聽客戶在使用我們產品時, 遇到怎樣的問題. 那時我就發現到call center的engineer真的很厲害, 因為他覺大部分的時間都不需要debug log, 有可能他看不懂debug log. 也就是因為如此, 他就會思考如何去問問題, 去釐清一些環境, input data, 使用流程, 使用時間點...等, 想辦法藉由這些訊息, 找出問題癥結所在. 可惜我們在後面的開發產品的工程師便沒有這種思維.

或許可能是我們目前的環境, 過度保護了產品開發的工程師, 讓他們最後只會要debug log. 需知道別人幫你收集debug log, 只是希望能幫助整個除錯工作的進行, 可是我們卻忘記了這可能讓工程師的技能變弱了. 就向父母親過度保護小孩子, 導致小孩子無法獨立自己處理事情一樣.

此外, 這件事情並不是只跟開發人員有關, 其實QA人員更需要這份能力. QA需要懂得問問題來釐清一些狀況, 不只在解問題或是發現問題有用, 像是開發前期, 若是QA被邀請去做review時, 或許QA沒有堅強的開發能力, 但是若是他能就上述角度來檢視設計或需求, 相信能一定能提到很大的幫助.

因此, 不要再拿debug log再當藉口了, 很多方法都能幫你解決問題.

 


 

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(8) 人氣()