ISO 軟件質量標準結構
- ISO9001:設計/開發、生產、安裝和服務中質量保證模式;
- ISO9002:生產和安裝中的質量保證模式;
- ISO9003:最終檢驗和測試中的質量保證模式;
- ISO9004:質量管理和質量體系要素導則。
ISO9000-3
ISO9000-3其實是ISO質量管理和質量保證標準在 軟件開發、供應和維護中的使用指南,並不作爲質 量體系註冊/認證時的評估準則,主要考慮軟件行業 的特殊性制定。
- 軟件開發、供應、維護中應用ISO9001的指南
- 是指南,不是標準
- 依然困惑:依然強調的是供應商和顧客的關係,不是 程師該如何做
CMM思想和結構體系
CMM即軟件能力成熟度模型(Capability Maturity Model)是向軟件組織提供如何增加對其開發和維護軟件過程的控制能力。
CMM五個等級: 一級爲初始級, 二級爲可重複級, 三級爲已定義級, 四級爲已管理級, 五級爲優化級。
個體軟件過程PSP與團隊軟件過程TSP
PSP
TSP
能力成熟度模型集成 CMMI
CMMI全稱是Capability Maturity Model Integration,即能力成熟度模型集成
目前版本CMMI 1.3
連續式表現方法則通過將CMMI中過程區域分爲四大類:過程管理、項目管理、工程以及支持。對於每個大類中的過程區域,又進一步分爲基本的和高級的。
能力度等級
- 0 不完整級
- 1 已執行級
- 2 已管理級
- 3 已定義級
- 4 量化管理級
- 5 最優化級
軟件質量保證 SQA
軟件質量保證(Software Quality Assurance)軟件開發過程中四點要求:
- 確保SQA活動要自始至有計劃的進行
- 審查軟件產品和活動是否遵守適用的標準、規程和要求並得到客 觀驗證。
- SQA的活動和結果要保證全員參與,溝通順暢。
- 逐級解決不符合問題
是從第三方角度獨立審查軟件是否遵循已制定的計劃、標準 和規程,提供給開發人員和管理層產品和過程的質量信息和數據。
SQA的工作內容
重點
- 爲項目準備SQA計劃:與項目開發計劃一致,得到評 審確認。
- 參與開發項目的過程定義和描述:評審項目制定的開發 過程定義,確保與組織企業的政策和標準相一致
- 評審項目實施中的各項軟件工程活動:覈實、記錄、跟 蹤不符合項
- 審計預定的軟件工作產品:覈實、記錄、跟蹤不符合項
- 處理不符合問題:按照SQA規程處理不符合項
- 形成報告:書寫SQA報告,發佈給相關人員和高層
SQA的工作措施
- 應用好的技術方法:指導項目組使用適合的開發技術方法和 工具平臺,保證高質量的開發結果
- 進行正式的技術評審:在項目里程碑之處,組織正式的技術 評審,嚴格審查軟件產品
- 組織實施多種軟件測試策略:通過測試發現大多數軟件缺陷
- 遵循軟件質量標準:按照國際、國家或行業標準來制定評審 要求
- 嚴格控制修改變更:減小變更帶來的缺陷引入
- 度量:選擇完善的信息數據進行收集,並使用分析手段分析
- 記錄、保存和報告質量信息:軟件質量保證收集分析的數據要提供給項目組成員或者高層管理者
SQA與軟件測試的關係
- SQA 是管理工作,審查對象是流程、強調以預防爲主
- 測試是技術工作、測試對象是產品、主要是以事後檢查
- SQA指導測試、監控測試
- 測試爲SQA提供依據
評審
評審是爲了提高軟件產品的質量、降低軟件開發的成本, 從而逐步提高生產率,在管理和技術的合適層次上進行檢查
不實際運行程序,而是通過檢 查和閱讀等手段來發現錯誤並 評估代碼質量的軟件測試技術。 也稱爲靜態測試技術。
包括走查和審查和同行評審。
走查
開發組內部進行的,採用講解、討論和模擬運行的方式進行的 查找錯誤的活動。
檢查要點:邏輯錯誤、代碼標準/規範/風格
審查
開發組內部進行的,採用講解、提問並使用Checklist方式進行 的查找錯誤的活動。一般有正式的計劃、流程和結果報告。
是一種正式的審查。以會議的形式,制定會議目標、流程和規則,結束後要編寫報告。
檢查要點:設計需求
同行評審
開發組、測試組和相關人員(QA、產品經理等)聯合進行的,採用 講解、提問並使用Checklist方式進行的查找錯誤的活動。一般有 正式的計劃、流程和結果報告。
檢查要點:需求與設計、文檔的完整性和一致性
評審類別
將軟件生命週期內的評審分成三類:管理評審、技術評審、 SQA評審和審計。
評審流程
- 評審策劃
- 評審準備
- 執行評審
- 評審問題記錄和管理