軟體測試——bug為何物

來源:互聯網
上載者:User

標籤:bug   軟體測試   管理   debug   

一、什麼是bug

        學過編程的人都聽說過bug這個詞,可是bug到底指什麼呢?系統缺陷?錯誤?還是漏洞?可是知道點英語的就會說,bug是昆蟲的意思,然而昆蟲和怎麼會和電腦扯上關係的呢?

        事情是這樣的。從電腦誕生之日起,就有了電腦BUG。第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(Grace Hopper)發現的。哈珀後來成了美國海軍的一個將軍,領導了著名電腦語言Cobol的開發。
        1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為“馬克二型”的電腦。這還不是一個完全的電子電腦,它使用了大量的繼電器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建築。那是一個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。
         突然,馬克二型死機了。技術人員試了很多辦法,最後定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一隻飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到“事件記錄本”中,並註明“第一個發現蟲子的執行個體。”
         從此以後,人們將電腦錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)。

         以上是bug的由來,由此我們也知道了bug就是一個電腦程式裡的錯誤,而現在更是將其延生為漏洞,或者是一個程式不完善的地方。

二、bug分類

          雖然知道了什麼是bug,可是什麼情況算是bug,bug分為哪幾類呢

          不同的分類標準,可以將bug分為不同的類別,在此,介紹兩種以bug的嚴重程度來分類的方法

          1、五級分類法(常用)  

              Urgent:致命錯誤
               致命錯誤通常有如下情況:
              (1)需求書中的重要功能未實現;
              (2)造成系統崩潰、死機,並且不能通過其它方法實現功能;
              (3)常規操作造成程式非法退出、死迴圈、通訊中斷或異常,資料破壞丟失或資料庫異常、且不能通過其它方法實現功能的。

              Very High:嚴重錯誤
               嚴重錯誤通常使系統不穩定、不安全、或破壞資料、或產生錯誤結果,而且是常規操作中經常發生或非常規操作中不可避免的主要問題,
              (1)重要功能基本能實現,但系統不穩定、一些邊界條件下操作會導致run-time error、檔案操作異常、通訊異常、資料丟失或破壞等錯誤;
              (2)重要功能不能按正常操作實現,但可通過其它方法可實現;
              (3)錯誤的波及面廣,影響到其它重要功能正常實現;
              (4)密碼明文顯示;
              (5)C/S、B/S模式下,利用用戶端某些操作可造成服務端不能繼續正常工作的。

              High:一般錯誤
               程式的功能運行基本正常,但是存在一些需求、設計或實現上的缺陷;次要功能運行不正常,
              (1)次要功能不能正常實現;操作介面錯誤(包括資料視窗內列名定義、含義不一致);查詢錯誤,資料錯誤顯示;列印內容、格式錯誤;刪除操作未給出提示;因錯誤操作迫使程式中斷;簡單的輸入限制未放在前台進行控制;
              (2)效能問題,找不到規律的時好時壞;經過一段時間運行後,系統效能或回應時間會變慢;硬體或通訊異常發生恢複後,系統不能自動正常繼續工作(需要過多的人工幹預才行);
              (3)資料庫表中有過多的空欄位;資料庫的表、商務規則、預設值未加完整性等約束條件;

              (4)系統相容性差,與其它支援系統一起工作時容易出錯,而沒有充分理由說明是由支援系統引起的;或者由於使用了非常規技術或第三方組件造成不能使用自動化測試載入器進行測試的。    

              (5) 安全性差,重要資料,如密碼未加密存放(包括設定檔中的密碼),或其它存在安全性隱患的;

        

              Medium:細微錯誤
               程式在一些顯示上不美觀,不符合使用者習慣,或者是一些文字的錯誤,
              (1)介面不規範;介面存在文字錯誤;可輸入地區和唯讀地區沒有明顯的區分標誌;
              (2)輔助說明描述不清楚;提示視窗文字未採用行業術語;輸入輸出不規範;
              (3)長操作未給使用者提示(或長操作結束後提示沒有消失);
              (4)在功能實現方式上如果需求中沒有明確定義,而沒有按常規實現,並且不比常規方式實現優越的;( 如用戶名第一位用數字或特殊字元)

              Low:改進建議
               可以提高產品品質的建議,包括新需求和對需求的改進。

          2、七級分類法               Blocker層級——中斷缺陷
               用戶端程式無響應,無法執行下一步操作。
               Critical層級――臨界缺陷

                包括:功能點缺失,用戶端爆頁。
              Major層級——較嚴重缺陷
                包括:功能點沒有滿足需求。

              Normal層級――普通缺陷
                包括:數值計算錯誤、JavaScript錯誤。

              Minor層級—一次要缺陷
                包括:介面錯誤與UI需求不符、列印內容、格式錯誤、程式不健壯,操作未給出明確提示。

              Trivial層級——輕微缺陷
                包括:輔助說明描述不清楚、顯示格式不規範,數字,日期等格式、長時間操作未給使用者進度提示、 提示視窗文字未採用行業術語、可輸入地區和唯讀地區沒有明顯的區分標誌、必輸項無提示,或者提示不規範。

              Enhancement層級——測試建議、其他(非缺陷)
                包括:以客戶角度的易用性測試建議、通過測試挖掘出來的潛在需求。


         小編寄語:在此,小編僅僅是介紹了什麼是bug,以及bug的一些分類,至於bug如何被管理,如何通過bug來分析軟體的品質等,還需要我們在以後的測試過程中繼續學習,這裡只是希望通過本篇文章的學習,簡單的瞭解一些bug的知識,主要還是希望增加大家對軟體測試的興趣,管理好自己的bug,讓我們的軟體做的更好。



軟體測試——bug為何物

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.