軟件測試 → 第二章 基礎-> 軟件缺陷與缺陷管理

1、缺陷定義與分類

1.一、軟件缺陷

  定義:在軟件工程整個生命週期中任何背離需求、沒法正確完成用戶所要求的功能的問題,包括存在於組件、設備、或系統軟件中因異常條件不支持而致使系統失敗等都屬於缺陷。web

  從產品內部看,缺陷是軟件產品開發或維護過程當中存在的問題、錯誤。
  從產品外部看,缺項是系統所須要實現的某種功能的失效或違背。sql

概念:符合下面5個規則中的一個,就是軟件缺陷
(1)軟件未實現產品說明書要求的功能
(2)軟件出現了產品說明書指明不該該出現的錯誤
(3)軟件實現了產品說明書未提到的功能
(4)軟件未實現產品說明書雖未明確說起但應該實現的目標
(5)軟件難以理解、不易使用、運行緩慢或者—從測試員的角度看—最終用戶會認爲很差數據庫

拓展:軟件錯誤、軟件失效、軟件故障windows

①軟件錯誤:致使指望的運行結果和實際運行結果間出現差別的一些問題;
②軟件故障:指軟件運行過程當中出現的一種不但願或不可接受的內部狀態;
③ 軟件失效:軟件沒法知足日益發展的需求; 後端

1.二、 軟件缺陷的描述與分類

  • 軟件缺陷的描述

僅僅是描述一個缺陷,須要三大核心要素(字段)。
標題:用簡潔的話描述該缺陷,主要是讓開發知道這是一個什麼樣的缺陷
  主要操做+缺陷說明
詳細描述:
  做用:便於開發重現和定位缺陷的
  測試環境:瀏覽器:所有/IE8,操做系統:win7 x64
  測試數據:用戶名,密碼,相關的業務帳號
  重現步驟:缺陷發現的過程
  缺陷說明:告訴開發,你所認爲的缺陷是什麼,取得理解上的一致
  實際結果與預期結果進行比較來講明這個缺陷
截圖:
  1.截大一點,最好截整個桌面或整個窗口
  2.儘可能注意不要包含很差的信息,好比羣聊窗口
  3.截圖中強烈建議加上文字描述缺陷的位置和說明瀏覽器

  • 軟件缺陷的分類

一、業務邏輯
二、數據處理
三、接口
四、UI
五、性能
六、安全性
七、兼容性
八、配置
九、文檔等安全

2、缺陷管理流程

  2.一、缺陷產生的緣由網絡

  一般開發及測試人員所講述的軟件錯誤和軟件缺陷是兩個不一樣的概念,簡單的來說軟件錯誤是指在軟件聲明週期內不但願或不可見接受的人爲錯誤,其結果是致使軟件缺陷的產生。在軟件動態運行過程當中,在某種條件下系統中軟件缺陷暴露致使故障發生,最終致使軟件失效。
  軟件缺陷產生的緣由
  ①需求規格說明書編寫的不夠全面、不完整、不許確而產生的缺陷;
  ②設計變動時,沒有及時溝通或者溝通不暢;
  ③研發過程當中的需求變動;
  ④程序開發人員對業務上的不理解或理解不一致;
  ⑤代碼編寫不嚴謹,缺乏逗號、被除數爲0等
  ⑥軟件系統運行的軟硬件環境帶來的問題。
  正確理解了缺陷定義和產生的根源,能夠幫助測試人員比較容易地找到判斷缺陷的方法,所以用戶的需求規格說明書或產品說明書是判斷缺陷的關鍵。所以在識別缺陷的過程當中,測試人員能夠從如下幾個方面入手
  ①首先測試人員要對需求規格說明書或者產品說明書等說明性文檔要很是熟悉,由於這些文檔反映了用戶的實際業務需求;
  ②經過對所測試產品或系統的行業和業務背景知識的瞭解,來發現被忽視的問題;
  ③經過本身不斷的積累測試經驗和行業規則,發現深層次的缺陷;
  ④經過溝通來收集、學習和分享其餘人判斷缺陷的方法。架構

2.二、缺陷報告介紹

缺陷報告是測試工程師的主要的產物,也是測試團隊主要的交付物之一。其做用是讓研發人員可以瞭解到缺陷是如何產生的,便於更好的修復缺陷。
  缺陷報告的幾大要素:缺陷標題、缺陷發生的模塊、缺陷產生的功能點、缺陷類型、缺陷狀態、缺陷產生的詳細步驟、缺陷的嚴重性、缺陷的優先級、缺陷的狀態、涉及的軟件版本、提交缺陷的人員、提交日期。同時還能夠提供相關聯的測試用例編號。
  缺陷處理後要填寫的信息:修復的版本號、修復人、拒絕/掛起人asp.net

2.三、缺陷管理流程

①整體流程

②缺陷提交流程

③缺陷修復流程

④缺陷驗證流程

⑤缺陷拒絕處理流程

⑥掛起缺陷處理流程

⑦爭議缺陷處理流程

3、缺陷度量與缺陷報告

3.一、缺陷度量

  缺陷度量是軟件度量的一部分,其自己並不能發現缺陷、剔除缺陷,可是有助於這些問題的解決。另外,當正確、持續地進行了缺陷度量時,產品以及過程的質量屬性的數據爲實施和管理過程改進活動提供了有效的基礎。
  軟件產品的質量度量,主要集中在軟件的缺陷度量上。
  缺陷度量就是對項目過程當中產生的缺陷數據進行採集和量化,將分散的缺陷數據統一管理,使其有序而清晰,而後經過採用一系列數學函數,對數據進行處理,分析缺陷密度和趨勢等信息,從而提升產品質量和改進開發過程。
  (1)組織級缺陷度量,目的是瞭解組織的總體缺陷狀況,瞭解客戶對組織的質量滿意度,創建組織基線,肯定改進活動。
  (2)項目級缺陷度量,目的是瞭解項目實時質量狀況(不少項目只在最後度量,包括那些迭代式開發的項目,實際上爲時已晚),預測缺陷形成的發佈後維護工做量,瞭解客戶對項目的質量滿意度。
  (3)個體缺陷度量,目的是瞭解個體缺陷產生的詳細緣由,並實施行動進行改進。
  前兩種度量你們接觸較多,但第三種度量經常被忽略。這經常致使:項目反覆獲得關於本身的質量評價,但很難了解如何去提升;測試組經常能作一些改進(如增長測試覆蓋、延長測試周期)來提升缺陷排除效率,但開發組沒有下降缺陷產生數量的有效措施;軟件開發遵循了編碼規範,但彷佛對提升質量沒有太多幫助。

3.二、缺陷報告

缺陷報告要素
報告編號 惟一的索引標識
標題 簡單的描述,傳達缺陷的基本信息
報告人 缺陷報告的原始做者
日期 首次報告該缺陷的日期
版本號 軟件的哪一個版本出現了該缺陷
優先級 開發人員處理和修復缺陷的前後的前後順序
嚴重級 描述所報告的缺陷的嚴重程度
缺陷描述 缺陷的簡單描述
運行環境 缺陷報告發生的環境中操做系統的信息
重現步驟 對發現的缺陷進行詳細的描述
實驗結果 運行測試用例產生的實際結果
預期結果 由需求報告得知的運行測試用例可能產生結果
附件 添加圖片或結果文件的方式直觀展現缺陷

4、缺陷管理工具介紹

4.一、Bugzilla(免費,跨平臺)

Bugzilla是一個Bug追蹤系統設計用來幫助你管理軟件開發。
Bugzilla是一開源Bug Tracking System,是專門爲Unix定製開發的。可是在windows平臺下依然能夠成功安裝使用.
Testopia是一款和Bugzilla集成到一塊兒的test case management系統.
它的強大功能表如今如下幾個方面:
1. 強大的檢索功能
2. 用戶可配置的經過Email公佈Bug變動
3. 歷史變動記錄
4. 經過跟蹤和描述處理Bug
5. 附件管理
6. 完備的產品分類方案和細緻的安全策略
7. 安全的審覈機制
8. 強大的後端數據庫支持
9. Web,Xml,Email和控制界面
10. 友好的網絡用戶界面
11. 豐富多樣的配置設定
12. 版本間向下兼容

4.二、BugFree(免費)

  BugFree是借鑑微軟的研發流程和Bug管理理念,使用PHP+MySQL獨立寫出的一個Bug管理系統。簡單實用、免費而且開放源代碼(遵循GNU GPL)。

4.三、、Quality Center(商業,前身Mercury TestDirector ,跨平臺)

  HP Quality Center; 提供了基於 Web 的系統,可在普遍的應用環境下自動執行軟件質量測試和管理。儀表盤技術使您能夠了解驗證功能和將業務流程自動化,並肯定生產中阻礙業務成果的瓶頸。HP Quality Center 使 IT 團隊可以在開發流程完成前就參與應用程序測試。這樣將縮短髮布時間表,同時確保最高水平的質量。
企業級的軟件質量解決方案。

4.四、IBM Rational ClearQuest (商業,跨平臺)

  IBM Rational ClearQuest 是一款強大的軟件開發測試工具。集成並自動化軟件及系統開發的業務過程。V7.0 提供加強的需求跟蹤、構建跟蹤、企業測試管理,及部署跟蹤的功能。這提供了從開發到部署的完整的審計跟蹤,並擴展了跨生命週期的可追溯性。軟件加強了開發流程並使之自動化,同時還提升了軟件生命週期的可理解性、可預測性和可控制性。

4.五、JIRA(商業)

JIRA是集項目計劃、任務分配、需求管理、錯誤跟蹤於一體的商業軟件。
JIRA功能全面,界面友好,安裝簡單,配置靈活,權限管理以及可擴展性方面都十分出色。
JIRA建立的默認問題類型包括New Feature、Bug、Task和Improvement四種,還能夠本身定義,因此它也一是過程管理系統。
Jira融合了項目管理、任務管理和缺陷管理,許多著名的開源項目都採用了JIRA。
JIRA 是目前比較流行的基於Java架構的管理系統,因爲Atlassian公司對不少開源項目實行免費提供缺陷跟蹤服務,所以在開源領域,其認知度比其餘的產品要高得多,並且易用性也好一些。同時,開源則是其另外一特點,在用戶購買其軟件的同時,也就將源代碼也購置進來,方便作二次開發。

4.六、Mantis(開源)

  Mantis是一個基於PHP技術的輕量級的缺陷跟蹤系統,其功能與前面說起的JIRA系統相似,都是以Web操做的形式提供項目管理及缺陷跟蹤服務。在功能上可能沒有JIRA那麼專業,界面也沒有JIRA漂亮,但在實用性上足以知足中小型項目的管理及跟蹤。更重要的是其開源,不須要負擔任何費用。不過目前的版本還存在一些問題,期待在從此的版本中可以得以完善。

4.七、Bugzero 免費開源,跨平臺)

  BUGZERO? 是一個多功能,基於網絡 (web-based) 並在瀏覽器 (browser) 下運行的 Bug缺陷管理和跟蹤系統 (bug tracking system),可用來記錄,跟蹤,並歸類處理軟件開發過程出現的 Bug 和硬件系統中存在的缺陷(defect)。 BUGZERO 也是一個完整的服務管理軟件,包括集成服務檯熱線流程管理(Help Desk),可用來記錄各類平常事務,變動請求,和問題報告,及追蹤和處理各類客戶訊問,反饋,和意見。
  BUGZERO 提供了一個可靠的中央數據庫使公司內部團隊成員以及外部客戶能在任何地點任什麼時候間進行協調和信息交流,而且使任何記錄都有據可查。它使你省時省力。BUGZERO 不但使用方便,並且功能齊全,變通性好,可以靈活設置各類實際工做流程,知足你特定的業務和產品環境下的需求。這種靈活、易用的缺陷跟蹤流程不只加強了項目開發的質量,同時也提升了整個機構的生產效率。

4.八、BugTracker(免費開源,跨平臺)

  Bugtracker是一個完整的bug/issue管理系統.它使用Java Servlet做爲web前臺,MySQL數據庫做爲後臺。

4.九、JTrac(開源)

  JTrac是一個開源且可高度配置的問題追蹤的Web應用程序。它是一個通常性問題,跟蹤網絡應用程序,可方便地實現定製,增長自定義字段和下拉式。其特色包括可定製的工做流程,實地一級的權限,電子郵件集成,文件附件和詳細的歷史觀點。

4.十、BugNet(開源)

  BugNet是一個不錯的開源bug跟蹤和項目管理系統

4.十一、BugOnline(開源)

  BugOnline 是一個開源的BUG管理系統。其功能強大,易於使用。
  基於asp.net2.0 ,sql server 2005(包括Express 版),Ajax等技術.
  BugOnline 的一些特性:

①、在線消息及E-mail自動通知功能。有新Bug及Bug分配給用戶同時將自動通知用戶。
②、優秀的人員分配,工做量統計功能。
③、居於項目角色的權限管理,工做規劃,流程化。
④、Bug狀態統計,便於掌控項目進度。
⑤、基於SSL的數據傳輸,確保數據不被截取,保證安全性。(也可設定爲非SSL)
⑥、強大的報表功能。

4.十二、eTraxis(開源)

  eTraxis是基於網頁的免費bug跟蹤系統。主要特色是:徹底自定義模板,先進的過濾器, LDAP支持,電子郵件通知,訂閱報刊,提醒,靈活的權限管理,圖形化的項目指標等。

4.1三、URTracker(商業)

  URTracker 是一款通用的流程化的問題跟蹤管理軟件。它能夠:

①、幫助您集中管理各類類型的問題、工做任務、人員交互等事務;
②、跟蹤每一個事務的處理過程;
③、控制問題處理的流程;
④、提供一個有效的協做平臺,簡化團隊成員的交互,提高溝通效率;
⑤、積累知識信息;
⑥、幫助您進行統計和分析;

4.1四、KisTracker

  KisTracker一款bug跟蹤管理軟件(原名叫:iTracker),功能強大,易於使用,是基於WEB方式的協同工做軟件.
  它用於幫助公司和團隊跟蹤工做中的問題,管理和記錄這些問題的處理過程.能夠應用於:

1.產品BUG跟蹤
2.任務跟蹤
3.服務跟蹤
4.各類處理問題跟蹤
4.各類處理問題跟蹤

1五、TestLink(開源)

TestLink用於進行測試過程當中的管理,經過使用TestLink提供的功能,
能夠將測試過程從測試需求、測試設計、到測試執行完整的管理起來,
同時,它還提供了好多種測試結果的統計和分析,使咱們可以簡單的開始測試工做和分析測試結果。
TestLink 是sourceforge的開放源代碼項目之一。做爲基於web的測試管理系統,TestLink的主要功能包括:測試需求管理 測試用例管理 測試用例對測試需求的覆蓋管理 測試計劃的制定 測試用例的執行 大量測試數據的度量和統計功能。

相關文章
相關標籤/搜索