缺陷型別 缺陷種類介紹

2021-10-12 22:11:34 字數 4200 閱讀 9233

軟體缺陷的定義

軟體缺陷,常常又被叫做bug,從產品內部看,缺陷是軟體產品開發或維護過程中存在的錯誤、毛病等各種問題;從產品外部看,缺陷是系統所需要實現的某種功能的失效或違背。

按照軟體缺陷的產生原因,可以將其劃分為不同的缺陷類別:

1、功能不正常

簡單地說就是所應提供的功能,在使用上並不符合產品設計規格說明書中規定的要求,或是根本無法使用。這個錯誤常常會發生在測試過程的初期和中期,有許多在設計規格說明書中規定的功能無法執行,或是執行結果達不到預期設計。最明顯的例子就是在使用者介面上所提供的選項及動作,使用者操作後毫無反應。

2、軟體在使用上感覺不方便

只要是不知如何使用或難以使用的軟體,在產品設計上一定是出了問題。所謂好用的軟體,就是使用上盡量方便,使使用者易於操作。如微軟推出的軟體,在使用者介面及使用操作上確實是下了一番功夫。有許多軟體公司推出的軟體產品,在彼此的介面上完全不同,這樣其實只會增加使用者的學習難度,另一方面也凸顯了這些軟體公司的整合能力不足。

3、軟體的結構未做良好規劃

這裡主要指軟體是以自頂向下方式開發,還是以自底向上方式開發。如果是以自頂向下的結構或方法開發的軟體,在功能的規劃及組織上比較完整,相反以自底向上的組合式方法開發處的軟體則功能較為分散,容易出現缺陷。

4、提供的功能不充分

這個問題與功能不正常不同,這裡指的是軟體提供的功能在運作上正常,但對於使用者而言卻不完整。即使軟體的功能運作結果符合設計規格的要求,系統測試人員在測試結果的判斷上,也必須從使用者的角度進行思考,這就是所謂的「從使用者體驗出發」。

5、與軟體操作者的互動不良6、使用效能不佳

被測軟體功能正常,但使用效能不佳,這也是乙個問題。此類缺陷通常是由於開發人員採用了錯誤的解決方案,或使用了不恰當的演算法導致的,在實際測試中有很多缺陷都是因為採用了錯誤的解決方法,需要加以注意!

7、為做好錯誤處理

軟體除了避免出錯之外,還要做好錯誤處理,許多軟體之所以會產生錯誤,就是因為程式本身對於錯誤和異常處理的缺失。例如被測軟體讀取外部的資訊檔案並已做了一些分類整理,但剛好所讀取的外部資訊檔案內容已被損毀。當程式讀取這個損毀的資訊檔案時,程式發現問題,此時作業系統不知該如何處理這個情況,為保護系統自身只好中斷程式。由此可見設立錯誤和異常處理機制的重要性!

8、邊界錯誤

緩衝區溢位問題在這幾年已成為網路攻擊的常用方式,而這個缺陷就屬於邊界錯誤的一種。簡單來說,程式本身無法處理超越邊界所導致的錯誤。而這個問題,除了程式語言所提供的函式有問題之外,很多情況下是由於開發人員在宣告變數或使用邊界範圍時不小心引起的。

9、計算錯誤

只要是電腦程式,就必定包括數學計算。軟體之所以會出現計算錯誤,大部分出錯的原因是由於採用了錯誤的數**算工時或未將累加器初始化為0.

10、使用一段時間所產生的錯誤

這類問題是程式開始執行正常,但執行一段時間後卻出現了故障。最典型的例子就是資料庫的查詢功能。某些軟體在剛開始使用時,所提供的資訊查詢功能運作良好,但在使用一段時間後發現,進行資訊查詢所需的時間越來越長。經分析查明,程式採用的資訊查詢方式是順序查詢,隨著資料庫資訊的增加,查詢時間自然會變長。這就需要改變解決方案了!

11、控制流程的錯誤

控制流程的好壞,在於開發人員對軟體開發的態度及程式設計是否嚴謹。軟體在狀態間的轉變是否合理,要依據業務流程進行控制。例如,用軟體安裝程式解釋這類問題最方便直觀。使用者在進行軟體安裝時,輸入使用者名稱和一些資訊後,軟體就直接進行了安裝,未提示使用者變更安裝路徑、目的地等。這就是軟體控制流程不完整導致的錯誤問題。

12、在大資料量壓力下所產生的錯誤

程式在處於大資料量狀態下執行出現問題,就屬於這類軟體錯誤。大資料量壓力測試對於server級的軟體是必須進行的一項測試,因為伺服器級的軟體對穩定性的要求遠比其它軟體要高。通常連續的大資料量壓力測試是必須實施的,如讓程式處理超過10萬筆資料資訊,再來觀察程式執行的結果。

13、在不同硬體環境下產生的錯誤

這類問題的產生與硬體環境的不同相關。如果軟體與硬體裝置有直接關係,這樣的問題就是數量相當多。例如有些軟體在特殊品牌的伺服器上執行就會出錯,這是由於不同的server內部硬體了不同的處理機制。

14、版本控制不良導致的錯誤

出現這樣的問題屬於專案管理的疏忽,當然測試人員未能盡忠職守也是原因之一。例如乙個軟體被反映有安全上的漏洞,後來軟體公司也很快將修復版本提供給使用者。但在一年後他們推出新版本時,卻忘記將這個已解決的bug-fix加入到新版本中。所以對使用者來說,原本的問題已經解決了,但想不到新版本公升級之後,問題又出現了。這就是由於版本控制問題,導致不同基線的merge出現誤差,使得產品質量也出現了偏差。

15、軟體文件的錯誤

最後這類缺陷是軟體文件錯誤。這裡所提及的錯誤,除了軟體所附帶的使用手冊、說明文件及其它相關的軟體文件內容錯誤之外,還包括軟體使用介面上的錯誤文字和錯誤用語、產品需求設計pd、ui spec等的錯誤。錯誤的軟體文件內容除了降低產品質量外,最主要的問題是會誤導使用者!

按照嚴重程度分:

一般分為5個等級:

系統崩潰,嚴重,一般,次要,建議

按優先順序分:

修正優先順序:高,中,低

bug定級示例

1級,系統崩潰定義:嚴重阻礙測試和開發工作對應優先順序:最高具體可分為:1.功能完全沒有實現2.應用閃退/崩潰無法執行3.應用必現安全模式,無法執行4.其他導致功能無法測試的問題

2級,至關重要定義:非阻礙用例執行的嚴重問題對應優先順序:高具體可分為:1.簡單操作應用閃退/崩潰,卡死2.資料丟失3.嚴重影響系統,自身功能無法執行4.嚴重數值計算錯誤5.資料庫損壞或無法儲存配置6.安全性問題(包括資料加密等)

3級,主要定義:功能存在缺陷,但不影響應用和系統的穩定性對應優先順序:中具體可分為:1.記憶體洩露(長時間不用的物件需要被**,不被**佔記憶體)2.功能實現邏輯覆蓋不全面3.非必現,但復現概率超過50%的閃退/崩潰和安全模式

4級,一般定義:對應用熟悉度高才能感知到的問題,對應用基本功能實現無影響對應優先順序:中具體可分為:1.輕微數值計算錯誤2.功能實現有誤,與產品文件不完全貼切3.使用者簡單操作,即可明顯感知的ui問題

5級,較小定義:介面,效能缺陷對應優先順序:低具體可分為:1. 操作介面錯誤(提示顯示規則,重新整理規則是否與文件一致) 2.邊界條件顯示錯誤      3.提示資訊和介面效果展示錯誤(包括未給出資訊、資訊提示錯誤等) 4.復現率低於5%的閃退/崩潰和安全模式      5.外掛程式相容和效能未優化問題      6.非正常操作導致ui顯示異常

6級,建議定義:對於產品的意見或者建議對應優先順序:低具體可分為:1.對於產品設計方面的意見和建議2.對於產品介面優化方面的意見和建議3.對於產品需要優化增強使用者體驗方面的意見和建議

按照測試種類分:

邏輯功能類,效能類,介面類,易用性類,安裝,相容性類

按照功能模組分:

註冊,登入,購物車,分類,訂單,個人資訊

軟體缺陷型別

缺陷型別 內容說明 備註

系統缺陷 1、程式死迴圈2 程式錯誤,不能執行正常工作或重要功能,使系統崩潰或資源不足 不能執行正常工作或重要功能,使系統崩潰或資源不足

資料缺陷 1 資料計算錯誤2 資料約束錯誤3 資料輸入、輸出錯誤 嚴重的影響系統要求或基本功能的實現

資料庫缺陷 1 資料庫發生死鎖2 資料庫的表、預設值未加約束條件3 資料庫連線錯誤4 資料庫的表有過多的空欄位

介面缺陷 1 資料通訊錯誤2 程式介面錯誤

功能缺陷 1 功能無法實現2 功能實現錯誤

安全性缺陷 1 使用者許可權無法實現2 超出限制錯誤3 訪問控制錯誤4 加密錯誤

相容性缺陷 與需求規定配置相容性不配合

效能缺陷 1 未達到預期的效能目標2 效能測試**錯,導致無法進行測試

介面缺陷 1 操作介面錯誤2 列印內容,格式錯誤3 刪除操作未給出提示4 長時間操作未給出提示5 介面不規範

建議 1 功能建議2 操作建議 建議性的改進

按照bug生命週期

新建,確認,解決,重新驗證,關閉,重新開啟

軟體缺陷的種類劃分

按照軟體缺陷的產生原因,可以將其劃分為不同的缺陷類別 1 功能不正常 簡單地說就是所應提供的功能,在使用上並不符合產品設計規格說明書中規定的要求,或是根本無法使用。這個錯誤常常會發生在測試過程的初期和中期,有許多在設計規格說明書中規定的功能無法執行,或是執行結果達不到預期設計。最明顯的例子就是在使用...

缺陷和缺陷報告

文章目錄 一 缺陷的基本概述 1 缺陷的定義 重要 2 缺陷屬性 二 缺陷的生命週期 重要 三 缺陷的識別 四 缺陷報告 五 測試需求 測試用例 缺陷報告的關係?軟體未實現產品說明書要求的功能 軟體出現了產品說明書指明不該出現的功能 軟體實現了產品說明書未提到的功能 軟體未實現產品說明書雖未明確提及...

晶體缺陷 點缺陷

在晶體中,位於點陣結點上的原子並非是靜止的,而是以其平衡位置為中心做熱振動。原子的振動能是按機率分布,有起伏漲落的。當某一原子具有足夠大的振動能而使振幅增大到一定限度時,就可能克服周圍原子對它的制約作用,跳離其原來的位置,使點陣中形成空結點,稱為空位。離開平衡位置的原子有三個去處 一是躍遷到晶體表面...