記錄一次軟件Bug發生的過程

         結束一週的緊張工作,難得的休息時光,坐在電腦前瀏覽博客、聽聽歌、看看大片,這也算是一種享受。

        因爲年度的開發任務已經開始了,所以最近會特別忙,新人的成長又沒有想象中的好,經常在他們身上看到自己去年的影子,對什麼都不瞭解,自己去學習這個框架又不知從何入手,問也不知怎麼問。當時項目組也缺人,就這麼加入項目,開始了不斷地加班不斷學習的過程。這種成長的經歷記憶深刻。現在帶新人,也會從去年自己的經歷吸取教訓,巴不得把自己瞭解的所有的東西都教給他們。

       言歸正傳。上週一,一上班就接到任務,在這裏暫且稱其爲A需求吧,是在原來的基礎上根據用戶要求變更的功能點,然後公司上下開了個小會討論如何實現,最後決定讓小楊進行編碼,我進行測試case的設計和代碼測試,一切安排就緒。代碼的編寫過程中確實也碰到了困難,但是兩個人一起討論,最後加班趕出來,也經過確認沒問題了。下班時,已是晚上九點。

       第二天便進行代碼的走查,前後花了半個小時,對新做的代碼進行了討論審查,並未對以前版本的代碼進行檢查(因爲大家一致認爲,以前的代碼是OK的,並且這次變更的東西跟以前的代碼不會有衝突)。完了我開始做代碼測試,結果問題B產生了。

      產生的問題是,以前的代碼裏有錯誤的邏輯直接拿過來複用,因爲時間關係,小楊並沒有逐行代碼進行分析,而在代碼走查的過程,大家也過於相信就版本的代碼,認爲其不存在邏輯問題。於是,問題就出現了。

      究其原因,這次bug發生的最主要原因是,大家都把注意力集中在需要變更的需求上,而忽略了其對其他模塊的影響,或者上層調用的接口是否一致問題,過於相信前人留下的代碼,審查過程也是被代碼走查主導人帶入誤區,盲目地認爲只需要審查變更到的模塊。

     沒有調查就沒有發言權,很多時候,人的認識能力存在很多缺口很多誤區,在項目deadline之前,項目組成員可能因爲高度的精神緊張和壓力而忽略了其他事情,轉而專注到更爲重要的事情上去,不是說其他的事情不重要,而是優先級2的事項很有可能就對優先級1產生影響。過於自信,往往是出現bug的重要原因。

發佈了88 篇原創文章 · 獲贊 25 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章