【摘要】軟體質量保證是軟體開發的重要內容。軟體質量保證複審則是軟體質量保證的重要組成。本文就軟體質量保證複審系統性和應用性做些**。
一、軟體質量
軟體質量是「與軟體產品滿足規定和隱含需求的能力有關的全體特徵(或特性)」。為滿足軟體的各項規定的或隱含的功能、效能需求,符合文件化開發標準,就 需要相應地設計出一些質量特性及其組合,質量目標,作為在軟體開發與維護中的重要考慮因素。如果這些質量特性及其組合都能在產品中得到滿足,則這個軟體產 品的質量就是高的。這些被定義出來的特性及其組合就稱之為軟體「質量目標」。軟體質量是各種特性的複雜組合,它隨著應用的不同而不同,隨著使用者提出的量要 求不同而不同。承擔保證軟體質量的任。包括軟體工程師、專案管理者、客戶、銷售人員和sqa(software quality assurance)小組的人員。
二、軟體複審
(1)軟體複審:軟體複審是軟體工程過程中濾除缺陷的「過濾器」。在軟體專案開發過程中的多個不同點上,軟體複審活動能夠起到及早發現錯誤進而引發排錯活動的作用。軟體複審目的是盡可能多地發現被複審物件中的缺陷,起到「淨化」工作產品作用。由於發現別人生產工作產品中的缺陷比發現自己的缺陷要易,所以複審應在不同的工程師之間進行。任何一次複審都是借助人的差異性達到目標活動,目標包括:①指出乙個人或乙個小組生產的產品所需進行的改進。②確定被審核產品中不需要或者不希望改進的部分。
(2)軟體缺陷對成本的影響:在軟體工程活動中,「缺陷」是指在軟體交付給終端使用者後發現的質量問題;而「錯誤」描述在軟體交付前由軟體工程師發現的質 量問題。很明顯,缺陷帶來的危害遠大於「錯誤」帶來的影響。因此,正式技術複審的主要目標就是在複審過程中發現錯誤,以便潛在的缺陷在交付之前變成「錯 誤」並得到糾正。正式技術複審的明顯優點就是能夠較早發現錯誤,防止錯誤傳播到軟體過程的後繼階段。「盡早」發現錯誤是我們的追求,因為同樣的錯誤對成本 和工期產生的影響與發現錯誤、改正錯誤的時間是密切相關的。
(3)缺陷的放大和消除:可以用「缺陷放大模型」來說明及時的複審在軟體工 程中的作用。複審過程可能沒有完全發現來自此步驟之前的和新發生的所有錯誤。從而可能在本階段「繼承」了一些錯誤,並將一部分錯誤引入下一階段。其中,一 部分來自前一階段的錯誤可能會誤導本階段的工作,導致在錯誤的基礎上產生更多的錯誤,形成錯誤的「放大」效應。
三、正式的技術複審
正式技術複審(ftr)是一種由技術工程師進行的軟體質量保證活動。ftr的目標是:①在軟體的任何一種表示形式中發現功能、邏輯或實現上的錯誤。②證 實經過複審的軟體的確滿足需求。③保證軟體的表示符合預定義的標準。④得到一種以一致的方式開發的軟體。ftr是一類複審方式,包括「走查」、「審查」、 「輪查」以及其他軟體小組的技術評估。每次ftr都以會議形式進行,經過適當地計畫、控制和相關人員參與,ftr才能獲得成功。
(1)複審會議的組織:從保證會議效果出發,不論進行什麼形式的ftr活動,會議的規模都不宜過大,控制在3~5人較好;每個參會人員都要提前進行準備,但是複審準備工作占用的工作時間應當少於兩小時;會議的時間不宜長,控制在兩個小時之內。
ftr的焦點是某個工作產品,比如一部分需求規約,乙個模組的詳細設計,乙個模組的源**清單等等。負責生產這個產品的人通知「複審責任人」產品已經完 成,需要複審。複審責任人對工作產品的完成情況進行評估,當確認已經具備複審條件後,準備產品副本,發放給預定要參加複審的複審者。當發現錯誤和問題時, 記錄員將逐一進行記錄。在複審結束時,必須做出複審結論。結論只能是下列三種之一:①工作產品可以不經修改地被接收。②由於存在嚴重錯誤,產品被否決。③ 暫時接收工作產品(發現了輕微錯誤需要改正,但改正後無需再次評審)。
(2)複審報告和記錄儲存:在ftr期間,一名複審者(記錄員) 主動記錄所有被提出來的問題。在會議結束時對這些問題進行小結,並形成乙份「複審問題列表」。此外還要形成乙份簡單的「複審總結報告」。複審總結報告中將 闡明如下問題:複審物件是什麼;有哪些人參與複審;發現了什麼,結論是什麼。複審報告是專案歷史記錄的一部分,可以分發給專案負責人和其他感興趣的複審參 與方。複審問題列表有兩個作用,首先是標識產品中的問題區域,其次將被用作指導生產者對產品進行改進的「行動條目」。 在複審總結報告中,複審問題列表應當作為附件。
(3)複審指南:不受控制的錯誤的複審,比沒有複審更加糟糕。所以在進行正式的複審之前 必須制定複審指南並分發給所有的複審參加者,得到大家的認可後,才能依照指南進行複審。正式技術複審指南的最小集合如下:①複審物件是產品,而不是產品生 產者。複審會議的氣氛應當是輕鬆的和建設性的,不要試圖貶低或者羞辱別人。通常,有管理職權的成員不宜作為複審者參加會議。②制訂並嚴格遵守議程。ftr 會議必須保證按照計畫進行,不要離題。③鼓勵複審者提出問題,但限制爭論和辯駁。有爭議的問題記錄在案,事後解決。④複審是以「發現問題」為宗旨的。問題 的解決通常由生產者自己或者在別人的幫助下解決。所以不要試圖在ftr會議上解決所有問題。
複審是貫穿於整個軟體工程始終的保護性活 動。目的是通過對工作過程和階段工作產品的審查與審核,盡量地預防錯誤,及早地發現和糾正錯誤,防患於未然。對生產過程的審核將及時發現和糾正違背已定義 的工程過程規範和組織標準的行為,防止因過程的偏離導致產品**現錯誤。複審活動還包括對各類工作產品的複審與檢查,以便及早發現和糾正已經發生的錯誤, 避免錯誤放大效應的發生。歷史缺陷資料的積累、統計和分析有助於開展基於統計規律的sqa任務,能夠幫助我們集中力量去解決導致發生錯誤和缺陷的最重要的 問題,取得事半功倍的效果。通過複審,我們能夠基於統計規律,在度量基線的支援下,定量地評述軟體的可靠性指標,從而滿足使用者提出的量化的可靠性效能需 求。
***********************************=分割線******************************==
軟體質量保證
一 軟體質量的概念 概括的說 軟體質量就是 軟體與明確地和隱含地定義的要求相一致的程度 具體的說 軟體質量是軟體與明確地敘述的功能和效能需求 文件中明確描述的開發標準以及任何專業開發的軟體產品都應該具有的隱含特性相一致的程度。有3個要點 1 軟體需求是度量軟體質量的基礎,與需求不一致就質量不高。2 ...
軟體質量保證 軟體質量
這篇博文將較為全面深入地談談軟體質量保證中關於軟體質量的概念,內容等相關問題。關於質量的定義,不同的領域,不同的人,不同的側重點會得出截然不同的結果。因此關於其質量的基礎概念相對而言較為好理解,但是具體如何去定義實際上確是無關緊要的。不過我們在分析軟體質量的時候,不僅要考慮其面向使用者的需求覆蓋率,...
軟體質量 軟體測試和質量保證
軟體質量 軟體質量包括 內部質量 外部質量 使用質量 就是說軟體滿足規定或潛在使用者需求的能力,要從軟體在內部 外部和使用中的表現來衡量 軟體測試 軟體由文件 資料以及程式組成,那麼軟體測試就應該是對軟體形成過程中的文件 資料以及程式進行測試,而不僅僅是對程式進行的測試。軟體測試和質量保證的區別 軟...