版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件質(zhì)量保證與測試第8章軟件評審SoftwareQualityAssuranceandTesting8.1
軟件評審概述軟件評審方法的出現(xiàn)
早在1972年M.E.Fagan(費(fèi)根)就在軟件開發(fā)過程中采用代碼審查(codeinspection)方法,使得當(dāng)時(shí)IBM公司開發(fā)的軟件產(chǎn)品在質(zhì)量和生產(chǎn)率方面都有很大提高,取得了顯著的效果。這一做法在軟件界產(chǎn)生了很大影響,許多人也開始積極采用代碼審查。2軟件評審方法的發(fā)展
代碼審查提高了代碼質(zhì)量,但是,軟件開發(fā)中不僅只是在編碼階段可能出現(xiàn)差錯(cuò),有許多問題往往出現(xiàn)在軟件設(shè)計(jì)中,甚至問題的源頭可以進(jìn)一步回溯到需求分析,即軟件缺陷在很多情況下是由于對需求的理解不到位造成的,為了消除這些可能存在的軟件缺陷,就必須在軟件設(shè)計(jì)和需求分析環(huán)節(jié)都要進(jìn)行相應(yīng)的審查工作。如今審查或評審已成為一種軟件質(zhì)量控制和軟件質(zhì)量保證的有效方法,不僅將其應(yīng)用于代碼、設(shè)計(jì)和需求,甚至將其擴(kuò)展到管理工作當(dāng)中。3軟件評審的不同形式和稱呼
需要說明的是,在軟件評審得到廣泛應(yīng)用后,各個(gè)軟件開發(fā)組織和軟件項(xiàng)目實(shí)施的形式和做法有所不同,也給了不同的稱呼,對其不同的實(shí)施形式和稱呼有:審查(inspection)評審(review)正式評審(formalreview)同行評審(peerreview)
同伙評審(buddyreview)走查、遍查(walkthrough)等。
盡管如此,不同的形式之間并沒有本質(zhì)的區(qū)別。4軟件評審的概念
按照IEEE的定義,軟件評審是軟件開發(fā)組之外的人員或小組,對軟件需求、設(shè)計(jì)或代碼,進(jìn)行詳細(xì)審查的一種正式評價(jià)方法。其目的是要發(fā)現(xiàn)軟件中的缺陷,找出違背執(zhí)行標(biāo)準(zhǔn)的情況以及其他問題。軟件評審是對軟件元素的一種評估手段,和軟件測試一樣,是保證軟件質(zhì)量的一種主要途徑。5軟件評審的特點(diǎn)
軟件評審具有以下特點(diǎn):評審的目的在于發(fā)現(xiàn)隱藏的軟件缺陷參加評審的人,應(yīng)當(dāng)以軟件項(xiàng)目開發(fā)組以外的同行人員為主,軟件項(xiàng)目組成員參加評審,只是為了介紹被評審的對象,回答評審人員的提問等,促進(jìn)評審人員對被評審對象的理解和認(rèn)識。6軟件評審的特點(diǎn)被評審的對象,通常指的是軟件開發(fā)中的各種技術(shù)產(chǎn)品,如需求規(guī)格說明,軟件設(shè)計(jì)文檔,源程序,測試計(jì)劃和用戶手冊等。有時(shí)某些項(xiàng)目管理文件和事項(xiàng),也可能作為評審的對象,如軟件開發(fā)計(jì)劃等。評審有多種形式。所謂正式評審要以評審會的形式進(jìn)行,而非正式評審可以由評審人員各自進(jìn)行,并提出書面評審意見,但必須有評審人員簽名,以體現(xiàn)評審的責(zé)任。7軟件評審的重要性
軟件評審是軟件質(zhì)量控制和軟件質(zhì)量保證的重要手段,軟件評審和軟件測試結(jié)合起來,能取得很好的效果。在某些環(huán)節(jié),軟件評審的作用不可替代,效果非常顯著。Fagan(費(fèi)根)在軟件評審方面的貢獻(xiàn)是突出的,他在總結(jié)大量的實(shí)踐數(shù)據(jù)后得到的結(jié)論是,用測試數(shù)據(jù)運(yùn)行被測試程序這種方法只能發(fā)現(xiàn)軟件開發(fā)中大約1/5的問題,而認(rèn)真進(jìn)行評審,卻可以發(fā)現(xiàn)4/5的問題。8
許多研究表明,某些情況下,評審方法往往優(yōu)于其他質(zhì)量驗(yàn)證手段。對于大中型軟件項(xiàng)目而言,軟件評審尤其重要,大中型軟件的質(zhì)量更多的取決于需求分析和軟件設(shè)計(jì)質(zhì)量,而不僅僅是編碼,而需求分析、軟件設(shè)計(jì)的質(zhì)量一般無法通過軟件測試來檢查,只能依靠軟件評審來檢查,驗(yàn)證,保證質(zhì)量。9軟件評審的重要性
不同的軟件開發(fā)組織和軟件項(xiàng)目實(shí)施評審的做法有所不同,主要的軟件評審活動有:軟件項(xiàng)目可行性評審、需求評審、設(shè)計(jì)評審、代碼評審、測試評審等等。例如,需求、設(shè)計(jì)和代碼評審活動的要點(diǎn)如表所示:10主要的軟件評審活動11主要的軟件評審活動評審活動主要工作目的成果要求需求評審對軟件需求進(jìn)行分析、審查、評估確保軟件需求滿足用戶要求,并且可行通過評審的需求描述設(shè)計(jì)評審對軟件設(shè)計(jì)進(jìn)行分析、審查、評估保證軟件設(shè)計(jì)可支持系統(tǒng)需求,并可將其轉(zhuǎn)化為計(jì)算機(jī)軟件系統(tǒng)通過評審的軟件設(shè)計(jì)代碼走查對源程序進(jìn)行非正式檢查、分析,并模擬程序的執(zhí)行發(fā)現(xiàn)編碼問題,找出缺陷經(jīng)過初步檢查驗(yàn)證的軟件代碼代碼審查對源程序進(jìn)行正式檢查、分析找出缺陷,使其符合系統(tǒng)設(shè)計(jì)經(jīng)過檢查驗(yàn)證的軟件代碼,準(zhǔn)備交給測試人員進(jìn)行測試
總體來說,在軟件開發(fā)過程中,評審可以讓我們獲得以下收益:及時(shí)發(fā)現(xiàn)軟件開發(fā)過程中可能引入的缺陷,保證質(zhì)量在整個(gè)軟件開發(fā)過程中,每一個(gè)階段都有可能引入缺陷。每一個(gè)階段性軟件產(chǎn)品,尤其是不便進(jìn)行軟件測試的階段性產(chǎn)品,通過對其評審,可以及時(shí)發(fā)現(xiàn)可能引入的缺陷,保證質(zhì)量,防止缺陷傳導(dǎo)到后續(xù)的環(huán)節(jié)。12軟件評審的作用提高軟件生產(chǎn)率這是由于通過評審盡早發(fā)現(xiàn)了軟件缺陷,修復(fù)缺陷的工作量小,時(shí)間短,并可以減少后續(xù)可能需要返工的時(shí)間,還可能減少軟件測試的時(shí)間。反之,則隨著開發(fā)工作的推進(jìn),早期引入的缺陷也必然相應(yīng)的放大和擴(kuò)散,由于沒有及時(shí)排除,在后期將更難于發(fā)現(xiàn),也難于修復(fù),甚至需要推翻重來,造成軟件項(xiàng)目生產(chǎn)率低下。13軟件評審的作用降低軟件質(zhì)量成本越早發(fā)現(xiàn)問題,解決問題,成本越低。通過評審及時(shí)發(fā)現(xiàn)軟件缺陷,可以降低修復(fù)缺陷的成本。通過評審可以保證軟件階段性產(chǎn)品的質(zhì)量,降低后續(xù)的測試成本,并降低軟件失效的概率,從而從整體上降低軟件質(zhì)量成本。14軟件評審的作用實(shí)現(xiàn)項(xiàng)目監(jiān)控,標(biāo)志階段完成通過在各個(gè)階段進(jìn)行評審,可以及時(shí)獲得客觀、可信的項(xiàng)目情況信息,實(shí)現(xiàn)對項(xiàng)目進(jìn)展的監(jiān)控。同時(shí)每次評審?fù)ㄟ^的軟件元素都是后續(xù)工作的基線,標(biāo)志著一個(gè)階段的完成,可以進(jìn)入下一個(gè)階段。15軟件評審的作用發(fā)現(xiàn)通過測試無法發(fā)現(xiàn)的缺陷例如,評審可以發(fā)現(xiàn)下列通過測試無法發(fā)現(xiàn)的問題:對標(biāo)準(zhǔn)的符合、風(fēng)格的一致性、邏輯性問題、模塊化問題等。16軟件評審的作用通過評審學(xué)習(xí)和積累參加評審的人員可以通過評審互相交流和學(xué)習(xí),從評審發(fā)現(xiàn)的問題中吸取有益的教訓(xùn),通過分析問題和缺陷的原因,可以學(xué)到知識,并使人們在以后的工作和項(xiàng)目中避免出現(xiàn)類似的問題??梢詫⒃u審發(fā)現(xiàn)的典型缺陷和問題列成檢查表,用于以后的評審工作等。17軟件評審的作用軟件評審的實(shí)施
正式的軟件評審一般以評審會的形式進(jìn)行,成立一個(gè)評審組,召開評審會,經(jīng)過作品介紹、問答、評審員會商等環(huán)節(jié),給出評審結(jié)果。如果評審中發(fā)現(xiàn)了問題,還要對問題進(jìn)行分析和跟蹤。18一個(gè)軟件評審小組,一般會有以下人員:評審組長(Moderator)評審員(Reviewer、Inspector)宣讀員(Reader)記錄員(Recorder)作者(Author)19軟件評審小組軟件評審的技術(shù)
不同的軟件評審活動,可能會用到不同的評審技術(shù)和工具,基本的評審技術(shù)和工具有:缺陷檢查表或問題對照表事先把可能出現(xiàn)的缺陷列成一張缺陷檢查表,或者把常見的問題列成一張問題對照表,然后按照缺陷檢查表或問題對照表對軟件階段性產(chǎn)品進(jìn)行檢查,看是否存在這樣的缺陷和問題。20軟件評審的技術(shù)規(guī)則集把應(yīng)當(dāng)遵循的規(guī)則事先做成規(guī)則集,然后按照規(guī)則集去檢查軟件階段性產(chǎn)品,看是否都符合規(guī)則要求。場景分析技術(shù)分析軟件應(yīng)用的某一場景,明確其具體要求,再按照這些要求去檢查軟件,看是否能滿足要求。21軟件評審的技術(shù)多角度分析,權(quán)衡和折衷從不同的角度分析軟件,就會得出不同的目標(biāo)和要求,有時(shí)這些目標(biāo)和要求是互相制約的,甚至是互相矛盾的,這就需要綜合考慮目標(biāo)、要求、成本、技術(shù)等各種因素,并進(jìn)行必要的權(quán)衡和折衷。22軟件評審的技術(shù)評審工具的使用,如Gerrit:它是一種免費(fèi)、開放源代碼的代碼審查工具軟件,只需通過網(wǎng)頁瀏覽器,同一個(gè)軟件團(tuán)隊(duì)的程序員,可以相互審閱彼此的程序代碼,決定是否能夠提交。JupiterSourceMonitor23小結(jié)在軟件生存期的每個(gè)階段都可能引入缺陷。在某一階段中出現(xiàn)的缺陷,如果得不到及時(shí)的糾正,到后續(xù)階段就會放大和擴(kuò)散。實(shí)踐證明,提交給測試階段的產(chǎn)品中包含的缺陷越多,經(jīng)過同樣時(shí)間的測試之后,產(chǎn)品中仍然潛伏的缺陷也越多。必須將發(fā)現(xiàn)缺陷的工作提前,在軟件過程的每個(gè)階段,都要進(jìn)行嚴(yán)格的軟件評審,盡量不讓缺陷傳播到下一階段。24本節(jié)內(nèi)容就講到這里,謝謝,再見!軟件質(zhì)量保證與測試第8章軟件評審SoftwareQualityAssuranceandTesting8.2
軟件評審會議軟件評審會議
正式的軟件評審一般以評審會的形式進(jìn)行,成立一個(gè)評審組,召開評審會,經(jīng)過作品介紹、問答、評審員會商等環(huán)節(jié),給出評審結(jié)果。如果評審中發(fā)現(xiàn)了問題,還要對問題進(jìn)行分析和跟蹤。27
在評審會議開始之前,會議組織人員需要預(yù)約會場,準(zhǔn)備會議材料,發(fā)出評審?fù)ㄖ?。通知?yīng)包括評審內(nèi)容、會議時(shí)間地點(diǎn)、參加人員、會議議程等。如果有參會人員在會議時(shí)間段內(nèi)有其他緊急的事情,可以及早反饋,以便重新確定評委或者評審會議改期召開。一般還應(yīng)并將評審會相關(guān)資料等也發(fā)送給評審員,讓評審人員能提前熟悉評審材料,避免盲目的參加評審會議而影響評審的質(zhì)量。28軟件評審會前準(zhǔn)備
由于會議時(shí)間的限制,一次能夠評審的內(nèi)容是有限的。因此,需要事先選定需要進(jìn)行評審的材料,并明確評審的重點(diǎn)。DanielFreedman提出了一些評審材料篩選的原則:基礎(chǔ)性和早期的文檔,如需求說明和原型等;與重大決策有關(guān)的文檔,如體系結(jié)構(gòu)模型;對如何做沒有把握的部分,如一些挑戰(zhàn)性模塊,它們實(shí)現(xiàn)了不熟悉的或復(fù)雜的算法,或涉及復(fù)雜的商業(yè)規(guī)則和開發(fā)人員不了解的其他領(lǐng)域;將不斷被重復(fù)使用的部件??傊驹瓌t就是:選擇那些最復(fù)雜和最危險(xiǎn)的部分進(jìn)行評審。29軟件評審會前材料準(zhǔn)備召開評審會議評審會議的一般流程包括:評審預(yù)備參會人員介紹宣布會議議程作品介紹和問答作者進(jìn)行作品演示、介紹評審員就不清楚或有疑慮的地方與作者進(jìn)行問答溝通評審決議評審組會商,填寫評審意見需要注意的是,評審會議過程中記錄員應(yīng)做會議記錄30
評審會議結(jié)束后,應(yīng)當(dāng)整
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省龍巖市一級達(dá)標(biāo)校2026屆高一上數(shù)學(xué)期末綜合測試試題含解析
- 智能控制 課件 -第九章-智能控制展望
- 獸藥銷售團(tuán)隊(duì)培訓(xùn)課件
- 設(shè)備巡檢管理制度及流程(3篇)
- 防止誤操作安全管理制度(3篇)
- 獸醫(yī)診療技術(shù)分享
- 中學(xué)學(xué)生社團(tuán)活動對外合作制度
- 企業(yè)人力資源規(guī)劃與發(fā)展制度
- 企業(yè)財(cái)務(wù)報(bào)銷審批制度
- 2026湖北省定向電子科技大學(xué)選調(diào)生招錄備考題庫附答案
- 民用建筑熱工設(shè)計(jì)規(guī)范
- 學(xué)堂在線 雨課堂 學(xué)堂云 唐宋詞鑒賞 期末考試答案
- 2025至2030中國輻射監(jiān)測儀表市場投資效益與企業(yè)經(jīng)營發(fā)展分析報(bào)告
- 工程力學(xué)(本)2024國開機(jī)考答案
- 產(chǎn)品認(rèn)證標(biāo)志管理制度
- 廣州西關(guān)大屋介紹
- 基于機(jī)器視覺的SLM金屬3D打印設(shè)備視覺標(biāo)定技術(shù)研究
- CJ/T 192-2017內(nèi)襯不銹鋼復(fù)合鋼管
- GB/T 31907-2025服裝測量方法
- 消毒供應(yīng)中心清洗流程
- 買賣合同爭議仲裁應(yīng)訴答辯書范本
評論
0/150
提交評論