軟件測試QA與QC的良性協作 軟件測試工具
關鍵字:SOA QC 良性協作
一、軟件企業的質量保證體系
我們知道質量保證體系的建設是一個系統工程,質量的保障不是某些人或者某些部門的工作,而是整個企業的文化,理念的貫徹。如果一個企業在進行質量保證體系的建設和推廣過程中,只是在強調方法,強調規范,而不是把質量意識,企業文化貫穿其中,那質量保證體系是否能持續的發揮作用,并形成為企業的核心競爭力就值得懷疑了。
一般軟件企業在規劃質量保證體系的時候都會選擇一個模型,目前比較流行的模型有:ISO9000:2000、CMMI、RUP、XP等,具體選用那種模型,還需要看企業的實際情況,并且能充分的協調:人、技術、過程三者之間的關系,使之能充分的發揮作用,促進生產力的發展。
在軟件企業的質量保證體系建設過程中,一般需要獨立完成以下幾個流程:項目管理流程、軟件開發流程、軟件測試流程、質量保證流程、配置管理流程。
以上這些流程需要相輔相成,各自之間都有相應的接口,通過項目管理流程將所有的活動貫穿起來,共同來保證軟件產品的質量。
整個軟件質量保證體系中,所有的流程圍繞軟件開發流程展開,唯一的目標就是保證軟件開發的質量,所以在眾多的流程中,軟件開發流程為質量保證體系中的主流程,其它的流程為輔助流程。之所以我們需要建立眾多的輔助流程,就是為了讓軟件開發過程透明、可控,通過多角色之間的互動,來有效的降低軟件開發過程中的風險,持續不斷的提高軟件產品的質量。
二、QA、QC的職責
在我們開始討論QA、QC的職責之前,我們先假定一個前提條件,即:企業內部的質量保證體系已經建設完畢,即上述的五個流程已經編寫完畢,并且通過了試運行,目前正在按部就班的執行。
QA的英文為:Quality Assurance 我們翻譯為“質量保證”;QC的英文為:Quality Control 我們翻譯為“質量控制”
我們將這兩個角色之間進行一下職責劃分,以方便我們后續的討論。
QA:監控公司質量保證體系的運行狀況,審計項目的實際執行情況和公司規范之間的差異,并出具改進建議和統計分析報告,對公司的質量保證體系的質量負責。QC:對每一個階段或者關鍵點的產出物(工件)進行檢測,評估產出物是否符合預計的質量要求,對產出物的質量負責。
通過上面的職責劃分,我們發現,如果我們將軟件的生產比喻成一條產品加工生產線的話,那QA只負責生產線本身的質量保證,而不管生產線中單個產品的實際質量情況。QA通過保證生產線的質量來間接保證軟件產品的質量。
而QC不管生產線本身的質量,而只關注生產線中生產的產品在每一個階段的質量是否符合預期的要求,如果我們生產的是杯子,那QC只關注:生產的材料是否是預期的,每個杯子瓶口的直徑是否符合要求,杯子把手是否符合設計要求等等具體的、可量化的點。
針對軟件企業的軟件開發過程而言:
QA可以進一步明確為SQA,即:軟件質量保證,只負責軟件開發流程的質量,企業內相對應的角色為:軟件質量保證人員,有的企業就直接稱之為SQA。
原文轉自:http://www.anti-gravitydesign.com