原創 軟體開發過程中的QA與QC

2021-04-01 05:38:03 字數 3043 閱讀 8724

軟體開發過程中的qa與

qc

judy shen

在實際質量工作中,經常會碰到乙個問題,即

質量保證(

quality assurance)和

質量控制(

quality control

)關係比較容易混淆。qa和

qc由於都屬於質量管理的範疇,同時

在工作中由於二者的工作存在部分交叉、共同的工作內容,因此在專案成員中容易造成職責上的混淆。為了讓專案組成員了解二者的區別,並協調一致地開展工作、共同提高軟體質量,筆者結合多年的測試經驗對這兩種角色的關係進行了研究和闡述。qa和

qc各司其職,相輔相成,統一於質量管理(

quality management

)。拿一部汽車來做比喻吧,質量控制(

qc)就是所有那些告訴你汽車當前運動狀態的儀器儀表;質量保證(

qa)包括各類標準,是告訴你所有部件操作方法的使用者手冊;而質量管理(

qm)則是你要追求的目標,比如希望能平安、高速地駕駛汽車。可以看出,為了實現質量管理的目標,質量保證和質量控制都是不可或缺的部分。

了解了qa和qc

的重要性後,我們需要詳細了解一下qa和

qc的具體區別,如表一所示:

qa

qc

quality assurance

(質量保證)

quality control

(質量控制)

qa工程師

測試工程師、評審員

為了確保軟體開發過程和結果符合預期的結果,依照過程和計畫採取的一系列活動及其結果評價。

為了發現軟體產品的錯誤、缺陷而進行工作的過程。

減少並糾正實際的軟體開發過程和軟體開發結果與預期的軟體開發過程和軟體開發結果的不符合情況。

為了尋找錯誤、缺陷,並盡可能的為修復錯誤提供更多的資訊。

監控公司質量保證體系的執行狀況,審計專案的實際執**況和公司規範之間的差異,並出具改進建議和統計分析報告。

是過程、產品質量審計者。

對每乙個階段或者關鍵點的產出物(工件)進行檢測,評估產出物是否符合預計的質量要求。關注各階段的評審和測試缺陷。

是產品質量檢查者。

表一qa與qc

基礎資訊對照表

在了解了qa和

qc的不同之處後,那問題來了:qa和

qc該如何在專案各階段中既關注職能領域、又共同為專案的質量目標協調、一致地開展工作呢?

根據不同的專案階段,筆者將二者的工作內容和工作產品進行了劃分,如表二所示。在實際專案中,qa或

qc工作人員,可以依據專案所處階段,快速清楚本階段的工作內容和產出物。

類別

專案階段

qa

qc

工作內容

工作產品

工作內容

工作產品

專案啟動

定義產品質量指標

參與專案規劃的評審

產品質量指標

專案計畫

編制qa

計畫過程審計

專案qa

計畫qa

階段工作報告

測試計畫管理

參加評審

測試計畫

需求分析

階段交付物審計

過程審計

qa階段工作報告

分析測試需求

參加評審

測試需求

階段交付物審計

過程審計

qa階段工作報告

設計測試用例

參加評審

可能的話參與部分設計

測試用例

階段交付物審計

過程審計

qa階段工作報告

單元測試

整合測試

參加評審

缺陷報告

測試報告

階段交付物審計

過程審計

qa階段工作報告

整合測試

系統測試

效能測試

回歸測試

測試管理工作

使用者手冊驗證

測試指令碼

缺陷報告

測試報告

使用者手冊驗證報告

產品質量狀態評估

過程審計

專案交付審計

產品質量評估報告

qa階段工作報告

內部接收測試

驗收測試

缺陷報告

測試報告

表二qa與qc

各個階段工作內容及工作產品對照表

質量保證(

qa)與質量控制(

qc)的關係,一直以來都比較讓人困惑。本文主要是將二者在實際工作中,如何有效完成各自的使命進行了闡述。當然了,在不同公司,可能有不同的適用情況,所以,本文介紹的內容,僅僅只是個例子,供拋磚引玉用。

雖然不同公司有不同的情況,但是原則都是一樣的。

qa是從過程和標準來控制開發過程,從而達到提高軟體質量的目的。而

qc則是通過測試、評審等驗證、確認手段來發現軟體中的缺陷,並確保該缺陷得到解決,從而達到提高軟體質量的目的。

軟體開發過程

1.程式設計師寫出自認為沒有bug的 2.軟體測試,發現了20個bug。3.程式設計師修改了10個bug,並告訴測試組另外10個不是bug。4.測試組發現其中5個改動根本無法工作,同時又發現了15個新bug。5.重複3次步驟3和步驟4。6.鑑於市場方面的壓力,為了配合當初制定的過分樂觀的發布時間表,...

軟體開發過程

1.程式設計師寫出自認為沒有bug的 2.軟體測試,發現了20個bug。3.程式設計師修改了10個bug,並告訴測試組另外10個不是bug。4.測試組發現其中5個改動根本無法工作,同時又發現了15個新bug。5.重複3次步驟3和步驟4。6.鑑於市場方面的壓力,為了配合當初制定的過分樂觀的發布時間表,...

軟體開發過程

軟體生命週期 1 問題定義 使用者需要解決什麼問題?2 可行性分析 使用者需要解決的問題是否可行 技術可行性 市場可行性 3 需求分析 將使用者提出的問題進行細化 4 系統設計 確定細化問題的實現方法 5 編碼 依據需求和設計穩定進行開發,解決問題 6 測試 驗證是否已經解決使用者提出的問題 單元測...