bug和缺陷的區別

2022-07-15 20:45:14 字數 1162 閱讀 8522

時光倒轉到了我們還使用電子管技術製造計算機的那個年代,那是計算機的主機重達數噸,並常常佔據整個房間的時代。在某個實驗室的某個平常的早晨,這個龐然大物突然停止了工作,我們的it前輩們馬上就開始尋找出現這種情況的原因。憑藉設計圖紙的引導,他們很快就圈定了可能發生問題的那一部分。在接下來的檢查中,他們發現這次故障原來是乙隻蟲子在經過兩隻繼電器時造成了短路所致。在修復了計算機並重新開始工作之後,負責計算機維護的工程師把這次故障記錄在了乙份備忘錄上,以便將來其他人遇到類似的情況可以迅速的找到答案。當然,他還寫了乙份文件給計算機的設計人員,希望以後在主機的散熱孔那裡可以加裝一層更加細密的金屬網,即不影響散熱,又可以防止蟲子爬到主機裡。

發現上面的區別了嗎?乙隻蟲子爬進主機引起短路的這個事件,更多的被我們稱為bug,這個名詞一直從計算機硬體故障沿用到了計算機軟體故障。那麼缺陷又是什麼呢?

還是看上面的這個例子。真正的缺陷是計算機維護工程師提出來的那個問題:在主機的散熱孔那裡可以加裝一層更加細密的金屬網,即不影響散熱,又可以防止蟲子爬到主機裡。這是計算機設計人員疏忽的地方,是產品真正的缺陷。而蟲子引發的那個故障只是這個缺陷導致的故障的其中一種表現形式。也就是說,bug是缺陷的一種表現形式,而乙個缺陷是可以引起多種bug的。

弄懂這兩個概念的區別,也就容易懂得error、fault和exception的區別了。這三者一般在軟體中表示出現的一些錯誤程度。一般認為,error為普通級別的錯誤,這個錯誤在經過更加嚴格的修正後會馬上解決。而fault則認為是致命的錯誤,較之error來說要嚴重很多,並且在短時間內來說不太容易解決。exception一般認為是程式中可以擁有的一些異常分支,只是這些異常沒有被截獲,進行處理。

舉個例子,飛機飛行在高度為10000公尺的天空中,空乘小姐發現廁所的水龍頭沒有關閉而導致一些水外流出來,流出的水由於沒有防護裝置而流到了乘坐區,影響了環境。當空乘小姐想去打掃乘坐區衛生時,掃了幾下發現笤帚壞了。她需要來修理這個笤帚,而此時,機組人員報告飛機引擎壞了,所有人需要保持鎮定,穩定情緒,並快速做好跳傘準備,飛機發生了致命的錯誤,隨時會有生命危險。

這裡的水龍頭沒有關閉影響了飛機內環境衛生就是exception,而笤帚壞了則屬於error,飛機引擎壞了就是屬於fault。通過這個例子,我們也可以知道,軟體出現了這三種型別的問題,首先處理fault,其次是error,最後才是exception。

在我看來error、fault、exception都是bug的一些型別,根據輕重,你可以處理它。

bug和缺陷的區別

時光倒轉到了我們還使用電子管技術製造計算機的那個年代,那是計算機的主機重達數噸,並常常佔據整個房間的時代。在某個實驗室的某個平常的早晨,這個龐然大物突然停止了工作,我們的it前輩們馬上就開始尋找出現這種情況的原因。憑藉設計圖紙的引導,他們很快就圈定了可能發生問題的那一部分。在接下來的檢查中,他們發現...

LuaTinker的bug和缺陷

但另外一方面luatinker的bug數量並不在少數。也有不少同學曾經零散的提出來過。這兒只是做個總結,另外感謝fergzhang同學。很多問題都是他幫忙指出的。bug 錯誤 第乙個問題,int64 t 資料的比較是錯誤的,完全沒有考慮符號位的情況嘛。static int lt s64 lua st...

缺陷(bug)嚴重級別定義

缺陷嚴重級別定義 o 最高端 導致執行中斷 應用程式崩潰 預期的功能沒有得到實現,測試工作無法繼續進行等.o 緊急 事件非常重要,並且需要馬上給予關注.o 高階 事件是重要的,並且應該在緊急的事件處理之後盡快得到解決.o 中級 事件是重要的,但是由於解決問題需要花費一定的時間,所以可以用較長的時間解...