A Software Tester is...

我是個 Software Tester , 但是我突然發現, 我的 BLOG 裏的 "Test" 這個類別裏的 Post 居然沒有很多, 所以我想我應該多談談 Software Testing.

最近看了一些其它高手的部落格, 還有根據我自己的經驗, 其實, Software Tester 和 CSI 沒什麼分別, 都要根據各種蛛絲馬跡, 找到線索, 抓到兇手, 再交給法官和其它執法人員 (Developer and PM) 決定要怎樣去制裁兇手(Fix Bug or...just ignore this bug). Alan Page 在他的部落格中畫了一個 Tester 處理 bug 的流程, 在找到 bug 後, 首先要去找可能產生 bug 的原因, 然後根據這個原因, 找看看有沒有類似的 bug, 或因為這個原因產生其它的 bug, 然後看看有沒有辦法防止同樣的問題再度產生, 或利用同樣的 pattern 找到新的 bug.

而分析一個看似簡單的 bug, 走一遍以上的流程, 找到真正的原因, 修掉這個 bug 則可能會非常的複雜, 在這篇 Anatomy of a Software Bug 中, 有一個很詳細的分析 bug 和修 bug 的故事, 雖然故事不是由 tester 寫的, 但也可以反映出一個看似簡單的 bug, 要修來可能是大費周章, 甚至要找到一個很好的 repro step, 都可能不是那麼的簡單, 更不用說要找出一個 pattern!

你可能覺得真的嗎, 當 "Tester" 有這麼多事要做喔, 當然啊, 找到 bug 等於是證人的階段而已, 你覺得警察局會沒事雇用一堆人上街閒晃看有沒有刑案發生, 有的話就報警, 之後就不管了嗎? 之後還要繼續追查線索破案才算是盡忠職守, 對吧?