在實際質量工作中,經常會碰到一個問題,即質量保證(Quality Assurance)和質量控制(Quality Control)關系比較容易混淆。QA和QC由于都屬于質量管理的范疇,同時在工作中由于二者的工作存在部分交叉、共同的工作內容,因此在項目成員中容易造成職責上的混淆。為了讓項目組成員了解二者的區別,并協調一致地開展工作、共同提高軟件質量,筆者結合多年的測試經驗對這兩種角色的關系進行了研究和闡述。
1 QA與QC對比
QA和QC各司其職,相輔相成,統一于質量管理(Quality Management)。拿一部汽車來做比喻吧,質量控制(QC)就是所有那些告訴你汽車當前運動狀態的儀器儀表;質量保證(QA)包括各類標準,是告訴你所有部件操作方法的用戶手冊;而質量管理(QM)則是你要追求的目標,比如希望能平安、高速地駕駛汽車?梢钥闯,為了實現質量管理的目標,質量保證和質量控制都是不可或缺的部分。
了解了QA和QC的重要性后,我們需要詳細了解一下QA和QC的具體區別,如表一所示:
QA |
QC | |
全 稱 |
Quality Assurance(質量保證) |
Quality Control (質量控制) |
角 色 |
QA工程師 |
測試工程師、評審員 |
定 義 |
為了確保軟件開發過程和結果符合預期的結果,依照過程和計劃采取的一系列活動及其結果評價。 |
為了發現軟件產品的錯誤、缺陷而進行工作的過程。 |
目 的 |
減少并糾正實際的軟件開發過程和軟件開發結果與預期的軟件開發過程和軟件開發結果的不符合情況。 |
為了尋找錯誤、缺陷,并盡可能的為修復錯誤提供更多的信息。 |
職 責 |
監控公司質量保證體系的運行狀況,審計項目的實際執行情況和公司規范之間的差異,并出具改進建議和統計分析報告。 是過程、產品質量審計者。 |
對每一個階段或者關鍵點的產出物(工件)進行檢測,評估產出物是否符合預計的質量要求。關注各階段的評審和測試缺陷。 是產品質量檢查者。 |
表一 QA與QC基礎信息對照表
2 QA與QC工作的區別和統一
在了解了QA和QC的不同之處后,那問題來了:QA和QC該如何在項目各階段中既關注職能領域、又共同為項目的質量目標協調、一致地開展工作呢?根據不同的項目階段,筆者將二者的工作內容和工作產品進行了劃分,如表二所示。在實際項目中,QA或QC工作人員,可以依據項目所處階段,快速清楚本階段的工作內容和產出物。
類別 項目階段 |
QA |
QC | ||
工作內容 |
工作產品 |
工作內容 |
工作產品 | |
項目啟動 |
定義產品質量指標 參與項目規劃的評審 |
產品質量指標 |
||
項目計劃 |
編制QA計劃 CC%C9%F3%BC%C6" target=_blank>過程審計 |
項目QA計劃 QA階段工作報告 |
測試計劃管理 參加評審 |
測試計劃
|
需求分析 |
階段交付物審計 過程審計 |
QA階段工作報告 |
分析測試需求 參加評審 |
測試需求 |
設 計 |
階段交付物審計 過程審計 |
QA階段工作報告 |
設計測試用例 參加評審 可能的話參與部分設計 |
測試用例 |
編 碼 |
階段交付物審計 過程審計 |
QA階段工作報告 |
單元測試 集成測試 參加評審 |
缺陷報告 測試報告 |
測 試 |
階段交付物審計 過程審計 |
QA階段工作報告 |
集成測試 系統測試 性能測試 回歸測試 測試管理工作 用戶手冊驗證 |
測試腳本 缺陷報告 測試報告 用戶手冊 驗證報告 |
實 施 |
產品質量狀態評估 過程審計 項目交付審計 |
產品質量評估報告 QA階段工作報告 |
內部接收測試 驗收測試 |
缺陷報告 測試報告 |
表二 QA與QC各個階段工作內容及工作產品對照表
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/