更廣泛的好處是使得其他開發人員從同事的錯誤中吸取教訓。分析總結的實踐經驗可以預防bug的產生,這樣的知識在組織內的成員間共享。某個開發人員產生的bug可以幫助組織內的其他人避免類似的bug出現。
從更一般的角度來看,發布最佳實踐(如bug分析總結的實踐)促進了組織內成員的學習和自我提高。這樣看來,Bug分析的價值還不僅僅是缺陷的預防。
另一個好處是通過從更廣的角度上記錄bug,組織內的其他QC工程師將知道如何發現類似的錯誤。除了分享組織內的測試知識和經驗,bug分析過程可以促進開發更好的測試技術和工具,從而幫助發現類似的bug。所以,就算缺陷沒有被完全預防,也能更容易被發現。
作為上面所有好處的結果,QC在一輪測試中將有更多的時間來測試更復雜的情景并發現更“狡猾的”bug。如果類似的bug都已經被預防而不容易產生,而且QC都有更好的技術來發現類似的bug,就有了更充裕的時間來進行更高級的測試。當然,組織所生產的產品的質量也將得到提高。
最后,我想強調的是bug分析不僅收集了執行中的問題,而且從這些問題中總結了實踐經驗。舉例來說,導致一個bug產生的原因可能是需求不夠清楚。這樣,通過bug分析得到的經驗提供了一種方法來預防需求不清楚。這個經驗可能不會對組織中的開發人員產生效果。所以盡管QC工程師開始驗證開發人員的實現結果,但是還需要改善開發流程,如需求收集、設計流程等。
4.總結
真正的質量是生產沒有bug的產品。任何其他目標都使組織內的成員從思想上接受軟件缺陷是正常工作流的一部分。所以,第一步就是防止相同的bug再次發生。我們可以很輕易地執行這個目標。我們可以通過某個開發人員產生的一個bug提高整個組織的實踐經驗。
通過深入產品分析一個bug,我們可以明白這個bug的機制:為什么會產生?如何去預防它?下一次我們如何更容易地發現它?只要花一點時間去理解我們的bug,而不是僅僅是盡快修正它,我們就可以從中得到經驗。這樣,因為一個缺陷所浪費的時間也可以轉化為投入:確保類似的錯誤永遠不會再發生。
文章來源于領測軟件測試網 http://www.kjueaiud.com/