1. 程式人生 > >【軟體測試】軟體質量標準與測試依據和規範

【軟體測試】軟體質量標準與測試依據和規範

1. 軟體質量標準(ISO)

1.1   軟體質量保證(ISO) ISO (International Standardization Organization,國際標準化組織) TC/176技術委員會制定的所有國際標準
  •  質量保證標準(ISO9001/2/3)
  •  質量管理標準(ISO9004)
TC176即ISO中第176個技術委員會,成立於1980年,全稱是“質量保證技術委員會”,1987年又更名為“質量管理和質量保證技術委員會”。TC176專門負責制定質量管理和質量保證技術的標準 
1.2  ISO 軟體質量標準思想
  •  控制思想,即對產品形成的全過程進行控制。任何事物都是由一個或多個過程活動的結果,只要對產品形成的全過程進行控制並達到過程質量要求,最終產品的質量就有了保證
  •  預防的思想。通過對產品形成的全過程進行控制以及建立並有效執行自我完善機制達到預防不合格,從根本上減少或消除不合格品
1.3  ISO 軟體質量標準結構 ISO9000系列標準的主體部分分為兩組:
  • “需方對供方要求質量保證”的標準ISO9001-9003
  • “供方建立質量保證體系”的標準ISO9004 
 ISO9001:設計/開發、生產、安裝和服務中質量保證模式;
 ISO9002:生產和安裝中的質量保證模式;
 ISO9003:最終檢驗和測試中的質量保證模式;
 ISO9004:質量管理和質量體系要素導則。

1.3.1  ISO9000與GB/T19000的關係 
1.3.2  ISO9000-3 是什麼 ISO9000-3其實是ISO質量管理和質量保證標準在軟體開發、供應和維護中的使用指南,並不作為質量體系註冊/認證時的評估準則,主要考慮軟體行業的特殊性制定。參照ISO9001《質量體系 設計、開發、生產、安裝和服務的質量保證模式》,並引用ISO 8402《質量管理和質量保證術語》,使得ISO9000系列標準應用範圍得以拓展 
 1.3.3  ISO9000-3標準
軟體開發、供應、維護中應用ISO9001的指南
是指南,不是標準
依然困惑:依然強調的是供應商和顧客的關係,不是工程師該如何做
1.3.4  ISO 9000-3 體系結構
  • 合同評審
  • 需方需求規格說明
  • 開發計劃
  • 質量計劃
  • 設計和實現
  • 測試和確認
  • 驗收
  • 複製、交付和安裝
  • 維護

2.軟體測試規範

2.1  概念 軟體測試規範就是對軟體測試的流程過程化並對每一個過程元素進行明確的界定,形成完整的規範體系。 
2.2  完整的軟體測試規範是怎樣的 規範本身的詳細說明,比如規範目的、範圍、文件結構、詞彙表、參考資訊、可追溯性、方針、過程/規範、指南、模板、檢查表、培訓、工具、參考資料等等。
2.3  制定測試規範需要考慮的內容
  •  角色的確定
  •  進入的準則
  •  輸入項
  •  活動過程
  •  輸出項
  •  驗證與確認
  •  退出的準則
  •  度量

3.CMM思想和結構體系

3.1  CMM是什麼? CMM即軟體能力成熟度模型(Capability Maturity Model)是向軟體組織提供如何增加對其開發和維護軟體過程的控制能力。設計並實施CMM是為了指導軟體組織: 通過確定當前過程的成熟度等級和識別出對軟體質量和過程改進至關重要的問題,來選擇其過程改進策略。

通過關注一組有限的活動,併為實現它們而積極工作,組織能穩步地改善其軟體過程,使其軟體過程能力持續不斷地增長。
3.2  CMM的歷史 CMM分階段的體系結構源於己有60多年曆史的產品質量原理。

ITT的Philip Crosby在其書“Quality is Free”(Crosby 79)中首先提出將質量原理改編為成熟度框架的思想。

Humphrey的成熟度框架早期版本發表在SEI技術報告(Humphrey 87a,Humphrey 87b)、文章(Humphrey 88)和書“Managing the software Process”(Humphrey 89)中。
3.3  CMM的5個等級
3.4  不同成熟度的專案結果
3.5  CMM的五個等級及關鍵過程域 
3.6  關鍵過程域(Key Areas)
3.7  CMM的五個等級及關鍵過程域 
3.8  ISO9000與CMM 3.8.1  ISO與CMM的I關係
  • ISO9000相當於CMM二級和三級的一部分內容(有人稱為2.5級)
  • CMM和ISO9000認證本身沒有優劣之分
  • CMM是一個動態的過程
  • 對於預算、專案週期管理等ISO9000涉及不夠的內容,CMM有所覆蓋
3.8.2  ISO與CMM的區別
  • ISO9001是通用的國際標準,適用於各類組織。
  • CMM是美國軍方為評價軟體供應商的質量水平,委託SEI開發的一個評價模型,只用於軟體業。
  • CMM更詳細,更專業。
  • ISO9001只建立了一個可接受水平,而CMM是一個具有五個水平的評估工具。
  • ISO9001聚焦於供應商和使用者間的關係,而CMM更關注軟體的開發過程。
3.9  CMM與ISO9001關係


4. 建立軟體測試管理和評判體系 

4.1  為什麼要建立管理與評判體系?
  • 監視和測量軟體產品 
  • 識別和控制不符合要求的產品
  • 驗證產品設計和開發 
  • 監視和測量軟體過程
4.2  測試管理和評判體系發展現狀 1.美國質量保證研究所對軟體測試的研究結果表明:越早發現軟體中存在的問題,開發費用就越低;在編碼後修改軟體缺陷的成本是編碼前的10倍,在產品交付後修改軟體缺陷的成本是交付前的10倍;軟體質量越高,軟體釋出後的維護費用越低。另外,根據對國際著名IT企業的統計,它們的軟體測試費用佔整個軟體工程所有研發費用的50% 以上。
 
2.中國軟體企業在軟體測試方面與國際水準仍存在較大差距。首先,認識上重開發、輕測試,沒有認識到軟體專案的如期完成不僅取決於開發人員,更取決於測試人員;其次,管理上隨意、簡單,沒有建立有效、規範的軟體測試管理和評判體系;另外,缺少自動化工具的支援,大多數企業在軟體測試時並沒有建立軟體測試管理與評判體系。 
4.3  如何建立測試管理與評判體系