全程質量保障(Total Quality Assurance(TQA) In the system development,以下相同處簡稱TQA)是基於對信息系統建設的再認識構建的,從信息系統規劃與選型、信息系統建設與開發、信息系統交付與驗收和信息系統運行與維護四個階段的質量保障需求出發,定製質量保障內容,有的放矢、精準執行!
l 建立質量保證機制:全程質量控制單位案是一個多方協同的項目實施過程,科學有效的質量保證機制是確保方案順利實施的基本保障。
l 基於過程的質量保證模組:主要包括產品審計、過程檢查、計畫跟蹤和風險評估;
l 基於過程的質量控制模組:主要包括多級別軟體測試(單元測試、集成測試、系統測試、驗收測試及其他性能測試等專題測試)、階段評審和代碼檢查及評審。
l 技術支撐:主要包括過程管理技術(軟體過程管理、項目管理體系套用和技術評審的實施)、軟體測試技術(模型檢測技術、自動用例技術和性能測試技術等);
l 關鍵過程域:全程質量控制主要包括軟體需求過程質量控制、軟體設計過程質量控制、軟體編碼過程質量控制和軟體交付過程質量控制等4個關鍵過程域;
l 全程缺陷管理:伴隨全程質量控制的實施,軟體項目大量缺陷會被發現,如何對這些缺陷進行有效管理是確保全程質量控制實施效果的關鍵。因此,全程缺陷管理是全程質量控制的一個必不可少的組成部分。全程缺陷管理依據缺陷生命周期進行缺陷的跟蹤和控制,採用自動化管理工具實現缺陷的發現記錄、跟蹤消除,確保每一個缺陷得到合理的處置。
l 質量評估:通過全程質量控制的實施,可以積累、採集軟體項目的多個層面的相關開發數據,對這些數據進行科學分析,我們可以對整個項目的過程、成果進行有效評估,從而為各項決策提供有力有理的依據。
圖4TQA技術框架
3.1 ROUTE1:質量保證
l 產品審計:對項目各階段產生的主要工作產品(如項目計畫、軟體需求規格說明書、設計文檔、重要的原始碼、測試文檔、用戶使用文檔等)進行審計,檢驗工作產品是否符合預定需求、在格式和內容上是否符合適當的標準,以此來保證項目實施過程中產生的工作產品的質量。評審標準將採取產品規範與實際需要相結合的方式,提高工作產品的實效性。
l 過程檢查:軟體質量保證活動中的核心工作,其主要目的在於對軟體項目開發過程中重要工程技術活動的工作過程按照預先確定的工作規範和檢查準則進行檢查,發現其中的不符合項,及時通知項目相關方並採取糾正措施,以確保項目過程的質量。
l 計畫跟蹤:在整個項目的開發建設過程中,以《項目計畫》為主線和依據對項目進展情況進行跟蹤與檢查。
l 風險評估:目的在於發現項目進展過程中存在的風險問題並提早做出應對措施,以便降低或減小風險問題給項目造成的影響或損失。風險評估主要根據項目相關方的需要,在項目進展過程的關鍵階段(重大里程碑)進行。
3.2 ROUTE2:質量控制
l 技術評審(Technical Review,TR)的目的是儘早地發現工作成果中的缺陷,並幫助開發人員及時消除缺陷,從而有效地提高產品的質量。
l 代碼檢審包括代碼檢查和代碼審查兩部分內容,主要檢查代碼的編制和設計的一致性,代碼對編碼規範及其他標準的依從性,代碼的可讀性,代碼邏輯表達的正確性,代碼結構的合理性等。通過代碼檢查及時發現違背編碼規範的問題,代碼中不安全、邊界溢出、死代碼等問題。
l 文檔檢查:對於系統建設期間產生的各類文檔應該進行認真的檢查,必要時實施文檔測試。
l 單元測試是對軟體設計的最小單位(模組)進行正確性檢驗的質量控制工作,測試並發現模組在語法、格式和邏輯上的錯誤。用單元測試用例測試程式,將實際結果與期望值進行比較,以驗證模組設計的正確性。
l 集成測試是在代碼審計的基礎上,檢驗在將所有的軟體單元按照設計說明書的要求組裝成模組、子系統或系統的過程中,各部分工作是否達到或實現相應技術指標及要求。
l 系統測試是將通過集成測試的軟體,作為整個基於計算機系統的一個元素,與計算機硬體、外設、某些支持軟體、數據等其他系統元素結合在一起,在實際或模擬運行環境中,對系統進行一系列測試,以發現軟體與系統定義不符合或與之矛盾的地方。
l 專題測試,是根據項目委託方對軟體的特定質量需求,進行有針對性的強化測試。
l 驗收測試主要依據軟體開發商和用戶之間的契約、軟體需求說明書以及相關行業標準、國家標準、法律法規等對軟體的適合性、準確性、互操作性、保密安全性、成熟性、容錯性、易恢復性、易理解性、易學性、易操作性、吸引性、時間特性、資源利用性、易分析性、易改變性、穩定性、易測試性、適應性、易安裝性、共存性、易替換性和依從性方面進行嚴格的測試。