軟件工程導(dǎo)論第八章-軟件質(zhì)量與質(zhì)量保證_第1頁
軟件工程導(dǎo)論第八章-軟件質(zhì)量與質(zhì)量保證_第2頁
軟件工程導(dǎo)論第八章-軟件質(zhì)量與質(zhì)量保證_第3頁
軟件工程導(dǎo)論第八章-軟件質(zhì)量與質(zhì)量保證_第4頁
軟件工程導(dǎo)論第八章-軟件質(zhì)量與質(zhì)量保證_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第八章軟件質(zhì)量與質(zhì)量保證8.1軟件質(zhì)量的定義8.2影響軟件質(zhì)量的因素8.3軟件質(zhì)量保證策略8.4軟件質(zhì)量保證活動(dòng)8.5軟件評(píng)審 8.6軟件質(zhì)量保證的標(biāo)準(zhǔn)8.7結(jié)構(gòu)化程序的測(cè)試8.8面向?qū)ο蟮能浖y(cè)試8.9測(cè)試計(jì)劃與測(cè)試分析報(bào)告8.10軟件維護(hù) 8.1軟件質(zhì)量的定義8.1軟件質(zhì)量的定義軟件質(zhì)量為“與軟件產(chǎn)品滿足規(guī)定的和隱含的需求的能力有關(guān)的特征或特性的全體”。

軟件質(zhì)量是各種特性的復(fù)雜組合,隨著應(yīng)用的不同而異,隨著用戶提出的質(zhì)量要求不同而不同。

8.2影響軟件質(zhì)量的因素8.2影響軟件質(zhì)量的因素1.影響軟件質(zhì)量的主要因素(1)正確性:系統(tǒng)滿足規(guī)格說明和用戶目標(biāo)的程度,即在預(yù)定環(huán)境下能正確地完成預(yù)期功能的程度。(2)健壯性:在硬件發(fā)生故障、輸入的數(shù)據(jù)無效或操作錯(cuò)誤等意外環(huán)境下,系統(tǒng)能做出適當(dāng)響應(yīng)的程度。(3)效率:為了完成預(yù)定的功能,系統(tǒng)需要的計(jì)算資源的多少。(4)安全性:對(duì)未經(jīng)授權(quán)的人使用軟件或數(shù)據(jù)的企圖,系統(tǒng)能夠控制的程度。8.2影響軟件質(zhì)量的因素1.影響軟件質(zhì)量的主要因素(5)可用性:系統(tǒng)在完成預(yù)定應(yīng)該完成的功能時(shí)令人滿意的程度。(6)風(fēng)險(xiǎn):按預(yù)定的成本和進(jìn)度把系統(tǒng)開發(fā)出來,并且受用戶所滿意的概率。(7)可理解性:理解和使用該系統(tǒng)的容易程度。(8)可維修性:診斷和改正在運(yùn)行現(xiàn)場(chǎng)發(fā)現(xiàn)的錯(cuò)誤所需要的工作量的大小。(9)適應(yīng)性:修改或改進(jìn)正在運(yùn)行的系統(tǒng)需要的工作量的多少。8.2影響軟件質(zhì)量的因素1.影響軟件質(zhì)量的主要因素(10)可測(cè)試性:軟件容易測(cè)試的程度。(11)可移植性:把程序從一種硬件配置和軟件系統(tǒng)環(huán)境轉(zhuǎn)移到另一種配置和環(huán)境時(shí),需要的工作量的多少。有一種定量度量的方法是:用原來程序設(shè)計(jì)和調(diào)試的成本除移植時(shí)需用的費(fèi)用。(12)可再用性:在其他應(yīng)用中該程序可以被再次使用的程度。(13)互運(yùn)行性:把該系統(tǒng)和另一個(gè)系統(tǒng)結(jié)合起來的工作量的多少。8.2影響軟件質(zhì)量的因素2.軟件質(zhì)量評(píng)價(jià)應(yīng)遵守的原則(1)應(yīng)強(qiáng)調(diào)軟件總體質(zhì)量(低成本高質(zhì)量),而不應(yīng)片面強(qiáng)調(diào)軟件正確性,忽略其可維護(hù)性與可靠性、可用性與效率等。(2)應(yīng)在軟件工程化生產(chǎn)的整個(gè)周期的各個(gè)階段都注意軟件的質(zhì)量,而不能只在軟件最終產(chǎn)品驗(yàn)收時(shí)注意質(zhì)量。(3)應(yīng)制定軟件質(zhì)量標(biāo)準(zhǔn),定量地評(píng)價(jià)軟件質(zhì)量,使軟件產(chǎn)品評(píng)價(jià)執(zhí)行評(píng)測(cè)結(jié)合,以測(cè)為主的科學(xué)方法。

8.3軟件質(zhì)量保證策略8.3軟件質(zhì)量保證策略1.審查 審查就是在軟件生命周期每個(gè)階段結(jié)束之前,都正式使用結(jié)束標(biāo)準(zhǔn)對(duì)該階段生產(chǎn)出的軟件配置成分進(jìn)行嚴(yán)格的技術(shù)審查。8.3軟件質(zhì)量保證策略審查過程的步驟如下:(1)計(jì)劃:組織審查組,分發(fā)材料,安排日程等。(2)概貌介紹:當(dāng)項(xiàng)目復(fù)雜龐大時(shí),可由作者介紹概況。(3)準(zhǔn)備:評(píng)審員閱讀材料取得有關(guān)項(xiàng)目的知識(shí)。(4)評(píng)審會(huì):目的是發(fā)現(xiàn)和記錄錯(cuò)誤。(5)返工:作者修正已經(jīng)發(fā)現(xiàn)的問題。(6)復(fù)查:判斷返工是否真正解決了問題。8.3軟件質(zhì)量保證策略2.復(fù)查和管理復(fù)審復(fù)查即是檢查已有的材料,以確定某階段的工作是否能夠開始或繼續(xù)。每個(gè)階段開始時(shí)的復(fù)查,是為了肯定前一個(gè)階段結(jié)束時(shí)的審查,已經(jīng)具備了開始當(dāng)前階段工作所必需的材料。管理復(fù)審?fù)ǔV赶蜷_發(fā)組織或使用部門的管理人員,提供有關(guān)項(xiàng)目的總體狀況、成本和進(jìn)度等方面的情況,以便從管理角度對(duì)開發(fā)工作進(jìn)行審查。8.3軟件質(zhì)量保證策略3.測(cè)試 測(cè)試就是用已知的輸入在已知環(huán)境中動(dòng)態(tài)地運(yùn)行系統(tǒng)或系統(tǒng)的部件。如果測(cè)試結(jié)果和預(yù)期的結(jié)果不一致,則表明系統(tǒng)中可能出現(xiàn)了錯(cuò)誤。8.3軟件質(zhì)量保證策略測(cè)試過程中產(chǎn)生的基本文檔如下:(1)測(cè)試計(jì)劃:通常包括單元測(cè)試和集成測(cè)試,確定測(cè)試范圍、方法和需要的資源等。(2)測(cè)試過程:詳細(xì)描述和每個(gè)測(cè)試方案有關(guān)的測(cè)試步驟和數(shù)據(jù),包括測(cè)試數(shù)據(jù)及預(yù)期的結(jié)果。(3)測(cè)試結(jié)果:把每次測(cè)試運(yùn)行的結(jié)果歸入文檔,如果運(yùn)行出錯(cuò),則應(yīng)產(chǎn)生問題報(bào)告,并且通過調(diào)試解決所發(fā)現(xiàn)的問題。8.4軟件質(zhì)量保證活動(dòng)8.4軟件質(zhì)量保證活動(dòng)1.驗(yàn)證與確認(rèn) 驗(yàn)證是為了確定開發(fā)時(shí)期中某一階段的產(chǎn)品是否達(dá)到了階段對(duì)它的需求,確認(rèn)則是在整個(gè)開發(fā)結(jié)束時(shí)對(duì)所開發(fā)的軟件能否滿足軟件需求的總評(píng)價(jià)。

8.4軟件質(zhì)量保證活動(dòng)2.開發(fā)時(shí)期的配置管理雖然維護(hù)時(shí)期堅(jiān)持配置管理十分重要。但事實(shí)上,對(duì)配置的控制從計(jì)劃時(shí)期就開始了,一直延續(xù)到生存周期結(jié)束、軟件停止使用后才終止。軟件配置包括生存期中各個(gè)階段產(chǎn)生的文檔和程序。這些文檔或程序是隨著軟件的開發(fā)進(jìn)程逐步產(chǎn)生的,所以也稱為階段產(chǎn)品

8.5軟件評(píng)審

8.5.1設(shè)計(jì)質(zhì)量的評(píng)審內(nèi)容

8.5.2程序質(zhì)量的評(píng)審內(nèi)容8.5軟件評(píng)審

8.5.1設(shè)計(jì)質(zhì)量的評(píng)審內(nèi)容 設(shè)計(jì)質(zhì)量的評(píng)審對(duì)象是在需求分析階段產(chǎn)生的軟件需求規(guī)格說明、數(shù)據(jù)要求規(guī)格說明,在軟件概要設(shè)計(jì)階段產(chǎn)生的軟件概要設(shè)計(jì)說明等。8.5軟件評(píng)審

8.5.1設(shè)計(jì)質(zhì)量的評(píng)審內(nèi)容1.軟件的規(guī)格說明2.可靠性 可靠性措施應(yīng)能失效發(fā)生

3保密措施實(shí)現(xiàn)4.操作特性實(shí)施5.性能實(shí)現(xiàn)6.可修改性7.可擴(kuò)充性8.互換性 互換性是指當(dāng)軟件功能擴(kuò)充之后,其已有功能還能照原樣使用的特性。8.5軟件評(píng)審

8.5.1設(shè)計(jì)質(zhì)量的評(píng)審內(nèi)容9.可移植性 可移植性是指當(dāng)把軟件移植到不同的運(yùn)行環(huán)境時(shí),不需改變其規(guī)格就能照原樣工作的特性。10.可測(cè)試性 可測(cè)試性是為保證軟件質(zhì)量,有效地進(jìn)行充分、全面的測(cè)試的特性。

11.復(fù)用性 復(fù)用性包含可移植性及功能上通用性等

12.互連性 與其他軟件有共同的接口及該接口部分是模塊化的,容易改變的。8.5軟件評(píng)審

8.5.2程序質(zhì)量的評(píng)審內(nèi)容1.軟件的結(jié)構(gòu)(1)功能結(jié)構(gòu)(2)功能的通用性(3)模塊的層次(4)模塊結(jié)構(gòu)(5)處理過程的結(jié)構(gòu)8.5軟件評(píng)審

8.5.2程序質(zhì)量的評(píng)審內(nèi)容2.與運(yùn)行環(huán)境的接口(1)與其他軟件的接口(2)與硬件的接口(3)與用戶的接口(4)運(yùn)行環(huán)境變更時(shí)的影響范圍8.6軟件質(zhì)量保證的標(biāo)準(zhǔn)8.6軟件質(zhì)量保證的標(biāo)準(zhǔn)1.ISO對(duì)質(zhì)量保證系統(tǒng)的方法ISO9000質(zhì)量保證模型將一個(gè)企業(yè)視為一個(gè)互聯(lián)過程的網(wǎng)絡(luò)。為了使質(zhì)量系統(tǒng)符合ISO標(biāo)準(zhǔn),這些過程必須與標(biāo)準(zhǔn)中給出的區(qū)域?qū)?yīng),并且必須按照描述進(jìn)行文檔化和實(shí)現(xiàn)。ISO9000以一般術(shù)語描述了一個(gè)質(zhì)量保證系統(tǒng)的要素。這些要素包括用于實(shí)現(xiàn)質(zhì)量計(jì)劃、質(zhì)量控制、質(zhì)量保證和質(zhì)量改進(jìn)所需的組織結(jié)構(gòu)、規(guī)程、過程和資源。8.6軟件質(zhì)量保證的標(biāo)準(zhǔn)2.ISO9001標(biāo)準(zhǔn)(1)管理責(zé)任(2)質(zhì)量系統(tǒng)(3)合同復(fù)審(4)設(shè)計(jì)控制(5)文檔和數(shù)據(jù)控制(6)采購(gòu)(7)對(duì)客戶提供的產(chǎn)品的控制8.6軟件質(zhì)量保證的標(biāo)準(zhǔn)2.ISO9001標(biāo)準(zhǔn)(8)產(chǎn)品標(biāo)識(shí)和可跟蹤性(9)過程控制(10)審查和測(cè)試(11)審查、度量和測(cè)試設(shè)備的控制(12)審查和測(cè)試狀態(tài)(13)對(duì)不符合標(biāo)準(zhǔn)產(chǎn)品的控制(14)改正和預(yù)防行動(dòng)8.6軟件質(zhì)量保證的標(biāo)準(zhǔn)2.ISO9001標(biāo)準(zhǔn)(15)處理、存儲(chǔ)、包裝、保存和交付(16)質(zhì)量記錄的控制(17)內(nèi)部質(zhì)量審計(jì)(18)培訓(xùn)(19)服務(wù)(20)統(tǒng)計(jì)技術(shù)8.7結(jié)構(gòu)化程序的測(cè)試

8.7.1軟件測(cè)試的目的

8.7.2軟件測(cè)試的原則

8.7.3軟件測(cè)試的對(duì)象

8.7.4軟件測(cè)試的基本過程8.7結(jié)構(gòu)化程序的測(cè)試

8.7.1軟件測(cè)試的目的1.軟件測(cè)試的目的(1)軟件測(cè)試是確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了所期望的事情,另一方面是確認(rèn)軟件以正確的方式來做了這個(gè)事件。(2)軟件測(cè)試是提供信息,比如提供給開發(fā)人員或項(xiàng)目經(jīng)理的反饋信息,為風(fēng)險(xiǎn)評(píng)估所準(zhǔn)備的信息。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.1軟件測(cè)試的目的1.軟件測(cè)試的目的(3)軟件測(cè)試不僅是在測(cè)試軟件產(chǎn)品本身,而且還包括軟件開發(fā)的過程。如果一個(gè)軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,則說明此軟件開發(fā)過程很可能是有缺陷的。因此這個(gè)目的是保證整個(gè)軟件開發(fā)過程的高質(zhì)量。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.1軟件測(cè)試的目的2.軟件質(zhì)量(1)在正確的時(shí)間用正確的的方法把一個(gè)工作做正確。(2)符合一些應(yīng)用標(biāo)準(zhǔn)的要求,比如不同國(guó)家的用戶不同的操作習(xí)慣和要求,項(xiàng)目工程中的可維護(hù)性、可測(cè)試性等要求。(3)質(zhì)量本身就是軟件達(dá)到了最開始所設(shè)定的要求,而代碼設(shè)計(jì)的技巧并不代表軟件的高質(zhì)量。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.1軟件測(cè)試的目的2.軟件質(zhì)量(4)質(zhì)量也代表著它符合客戶的需要。作為軟件測(cè)試這個(gè)行業(yè),最重要的一件事就是從客戶的需求出發(fā),從客戶的角度去看產(chǎn)品,客戶如何使用這個(gè)產(chǎn)品,使用過程中將遇到什么樣的問題。只有這些問題都解決了,軟件產(chǎn)品的質(zhì)量才可以說是上去了。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.2軟件測(cè)試的原則從用戶的角度出發(fā),就是希望通過軟件測(cè)試能充分暴露軟件中存在的問題和缺陷,從而考慮是否可以接受該產(chǎn)品;從開發(fā)者的角度出發(fā),就是希望測(cè)試能表明軟件產(chǎn)品不存在錯(cuò)誤,已經(jīng)正確地實(shí)現(xiàn)了用戶的需求。

8.7結(jié)構(gòu)化程序的測(cè)試

8.7.2軟件測(cè)試的原則1.應(yīng)當(dāng)盡早測(cè)試和不斷的測(cè)試。2.程序員應(yīng)該避免檢查自己的程序,測(cè)試工作應(yīng)該由獨(dú)立的專業(yè)的軟件測(cè)試機(jī)構(gòu)來完成。

3.設(shè)計(jì)測(cè)試用例時(shí)應(yīng)該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況要制造極端狀態(tài)和意外狀態(tài),例如網(wǎng)絡(luò)異常中斷、電源斷電等情況。

4.一定要注意測(cè)試中的錯(cuò)誤集中發(fā)生現(xiàn)象,這與程序員的編程水平和習(xí)慣有很大的關(guān)系。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.2軟件測(cè)試的原則

5.對(duì)測(cè)試錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過程,一般有A測(cè)試出來的錯(cuò)誤,一定要有一個(gè)B來確認(rèn),嚴(yán)重的錯(cuò)誤可以召開評(píng)審會(huì)進(jìn)行討論和分析。

6.制定嚴(yán)格的測(cè)試計(jì)劃,并把測(cè)試時(shí)間安排的盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。

7.回歸測(cè)試的關(guān)聯(lián)性一定要引起充分的注意,修改一個(gè)錯(cuò)誤而引起更多的錯(cuò)誤出現(xiàn)。

8.妥善保存測(cè)試過程文檔有重要意義,因?yàn)闇y(cè)試的重現(xiàn)性往往要靠測(cè)試文檔。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.3軟件測(cè)試的對(duì)象

軟件測(cè)試并不等同程序測(cè)試。軟件測(cè)試應(yīng)該貫穿于軟件定義與開發(fā)的整個(gè)期間。因此需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說明、概要設(shè)計(jì)規(guī)格說明、詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序,都應(yīng)該是軟件測(cè)試的對(duì)象。

8.7結(jié)構(gòu)化程序的測(cè)試

8.7.4軟件測(cè)試的基本過程軟件測(cè)試過程通常包括以下基本的測(cè)試活動(dòng)

:1.?dāng)M定軟件測(cè)試計(jì)劃。2.編制軟件測(cè)試大綱。3.設(shè)計(jì)和生成測(cè)試用例。4.實(shí)施測(cè)試。5.生成軟件問題報(bào)告。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.5軟件測(cè)試技術(shù)

1.靜態(tài)分析技術(shù) 不執(zhí)行被測(cè)軟件,可對(duì)需求分析說明書、軟件設(shè)計(jì)說明書、源程序做結(jié)構(gòu)檢查、流程分析、符號(hào)執(zhí)行來找出軟件錯(cuò)誤。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.5軟件測(cè)試技術(shù)

1.靜態(tài)分析技術(shù)(1)結(jié)構(gòu)檢查是手工分析技術(shù),由一組人員對(duì)程序設(shè)計(jì),需求分析,編碼,測(cè)試工作進(jìn)行評(píng)議,虛擬執(zhí)行程序,評(píng)議中作錯(cuò)誤檢驗(yàn)。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.5軟件測(cè)試技術(shù)

1.靜態(tài)分析技術(shù)(2)流圖分析是通過分析程序流程圖的代碼結(jié)構(gòu),來查程序的語法錯(cuò)誤信息,語句中標(biāo)識(shí)符引用狀況,予程序和函數(shù)調(diào)用狀況,變量是否賦初值,定義而未使用的變量,未說明或無用的標(biāo)號(hào),無法執(zhí)行到的代碼段。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.5軟件測(cè)試技術(shù)

1.靜態(tài)分析技術(shù)(3)符號(hào)執(zhí)行是一種符號(hào)化定義數(shù)據(jù),并為程序每條路徑給出符號(hào)表達(dá)式,對(duì)特定路徑輸入符號(hào),經(jīng)處理輸出符號(hào),從而判斷程序行為是否錯(cuò)誤,達(dá)到分析錯(cuò)誤的目的。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.5軟件測(cè)試技術(shù)2.動(dòng)態(tài)測(cè)試技術(shù) 當(dāng)把程序作為一個(gè)函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。

8.7結(jié)構(gòu)化程序的測(cè)試

8.7.5軟件測(cè)試技術(shù)2.動(dòng)態(tài)測(cè)試技術(shù)動(dòng)態(tài)測(cè)試的過程為:

(1)選取定義域中的有效值,或定義域外無效值。(2)對(duì)已選取值決定預(yù)期的結(jié)果。(3)用選取值執(zhí)行程序。(4)觀察程序行為,記錄執(zhí)行結(jié)果。(5)將(4)的結(jié)果與(2)的結(jié)果相比較,不相同則表明程序有錯(cuò)。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.5軟件測(cè)試技術(shù)

3.黑盒測(cè)試和白盒測(cè)試(1)黑盒測(cè)試法:又稱為功能測(cè)試。它把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。(2)白盒測(cè)試法:它的前提是可以把程序看成裝在一個(gè)透明的白盒子里,也就是完全了解程序的結(jié)構(gòu)和處理過程。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.6設(shè)計(jì)測(cè)試方案概述設(shè)計(jì)測(cè)試方案是測(cè)試階段的關(guān)鍵技術(shù)問題。測(cè)試方案包括預(yù)定要測(cè)試的功能、應(yīng)該輸入的測(cè)試數(shù)據(jù)和預(yù)期的結(jié)果,其中最困難的問題是設(shè)計(jì)測(cè)試用的輸入數(shù)據(jù),即測(cè)試用例。設(shè)計(jì)測(cè)試方案的基本目標(biāo)是確定一組最可能發(fā)現(xiàn)某個(gè)錯(cuò)誤或某類錯(cuò)誤的測(cè)試數(shù)據(jù)。

8.7結(jié)構(gòu)化程序的測(cè)試

8.7.6設(shè)計(jì)測(cè)試方案

1.白盒法(1)語句覆蓋(2)判定覆蓋(3)條件覆蓋(4)判定/條件覆蓋(5)條件組合覆蓋(6)路徑覆蓋8.7結(jié)構(gòu)化程序的測(cè)試

8.7.6設(shè)計(jì)測(cè)試方案

2.黑盒法(1)等價(jià)劃分 使用等價(jià)劃分法設(shè)計(jì)測(cè)試方案首先需要?jiǎng)澐州斎霐?shù)據(jù)的等價(jià)類,為此需要研究程序的功能說明,從而確定輸入數(shù)據(jù)的有效等價(jià)類和無效等價(jià)類。8.7結(jié)構(gòu)化程序的測(cè)試

8.7.6設(shè)計(jì)測(cè)試方案

2.黑盒法(2)邊界值分析 使用邊界值分析方法設(shè)計(jì)測(cè)試方案首先應(yīng)該確定邊界情況,這需要經(jīng)驗(yàn)和創(chuàng)造性,對(duì)于輸入等價(jià)類和輸出等價(jià)類的邊界確定,就是應(yīng)該著重測(cè)試的程序邊界情況。

8.7結(jié)構(gòu)化程序的測(cè)試

8.7.7測(cè)試的步驟

軟件測(cè)試的步驟:(1)單元測(cè)試(2)集成測(cè)試(3)確認(rèn)測(cè)試(4)系統(tǒng)測(cè)試(5)驗(yàn)收測(cè)試8.7結(jié)構(gòu)化程序的測(cè)試

8.7.8軟件糾錯(cuò)技術(shù) 根據(jù)測(cè)試出錯(cuò)誤的外因分析找到內(nèi)部原因并加以改正的代碼執(zhí)行與人工活動(dòng)稱為糾錯(cuò)。

8.7結(jié)構(gòu)化程序的測(cè)試

8.7.8軟件糾錯(cuò)技術(shù)1.糾錯(cuò)策略方法(1)強(qiáng)力法(2)跟蹤法(3)演繹法(4)歸納法 (5)測(cè)試糾錯(cuò)法(6)試湊法(7)回歸測(cè)試(8)對(duì)分查找法8.8面向?qū)ο蟮能浖y(cè)試

8.8.1面向?qū)ο蠓治?/p>

和面向?qū)ο笤O(shè)計(jì)的模型測(cè)試

8.8.2面向?qū)ο蟮臏y(cè)試策略

8.8.3面向?qū)ο筌浖y(cè)試集設(shè)計(jì)8.8面向?qū)ο蟮能浖y(cè)試

8.8.1面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計(jì) 的模型測(cè)試1.面向?qū)ο蠓治龊驮O(shè)計(jì)模型的正確性 用于表示分析和設(shè)計(jì)模型的符號(hào)體系和語法將是與為項(xiàng)目選定的特定分析和設(shè)計(jì)方法聯(lián)系的。因此,不僅考慮語法正確性和符號(hào)體系是否合適使用,而且對(duì)每個(gè)模型復(fù)審以保證保持合適的建模約定。8.8面向?qū)ο蟮能浖y(cè)試

8.8.1面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計(jì) 的模型測(cè)試2.面向?qū)ο蠓治龊驮O(shè)計(jì)模型的一致性 對(duì)OOA和OOD模型的一致性判斷可以通過考慮模型中實(shí)體間的關(guān)系,不一致的模型在某一部分有表示,但未在模型的其他部分正確地反映。8.8面向?qū)ο蟮能浖y(cè)試

8.8.2面向?qū)ο蟮臏y(cè)試策略1.面向?qū)ο蟮膯卧獪y(cè)試 對(duì)OO軟件的類測(cè)試等價(jià)于傳統(tǒng)軟件的單元測(cè)試。和傳統(tǒng)軟件的單元測(cè)試不一樣,OO軟件的類測(cè)試是由封裝在類中的操作和類的狀態(tài)行為所驅(qū)動(dòng)的

8.8面向?qū)ο蟮能浖y(cè)試

8.8.2面向?qū)ο蟮臏y(cè)試策略2.面向?qū)ο蟮慕M裝測(cè)試 對(duì)OO軟件的集成測(cè)試有兩種不同策略,第一種稱為基于線程的測(cè)試,集成對(duì)回應(yīng)系統(tǒng)的一個(gè)輸入或事件所需的一組類,每個(gè)線程被集成并分別測(cè)試,應(yīng)用回歸測(cè)試以保證沒有產(chǎn)生副作用。8.8面向?qū)ο蟮能浖y(cè)試

8.8.2面向?qū)ο蟮臏y(cè)試策略2.面向?qū)ο蟮慕M裝測(cè)試 第二種稱為基于使用的測(cè)試,通過測(cè)試那些幾乎不使用服務(wù)器類的類(稱為獨(dú)立類)而開始構(gòu)造系統(tǒng),在獨(dú)立類測(cè)試完成后,下一層使用獨(dú)立類的類(稱為依賴類)被測(cè)試。這個(gè)依賴類層次的測(cè)試序列一直持續(xù)到構(gòu)造完整系統(tǒng)。8.8面向?qū)ο蟮能浖y(cè)試

8.8.2面向?qū)ο蟮臏y(cè)試策略3.面向?qū)ο蟮拇_認(rèn)測(cè)試傳統(tǒng)的黑盒測(cè)試方法可被用于有效性測(cè)試,此外,測(cè)試集可以從對(duì)象/行為模型和作為OOA的一部分的事件流圖中導(dǎo)出。傳統(tǒng)的黑盒測(cè)試方法可被用于有效性測(cè)試,此外,測(cè)試集可以從對(duì)象/行為模型和作為OOA的一部分的事件流圖中導(dǎo)出。8.8面向?qū)ο蟮能浖y(cè)試

8.8.3面向?qū)ο筌浖y(cè)試集設(shè)計(jì)1.面向?qū)ο鬁y(cè)試集設(shè)計(jì)的概念 OO測(cè)試集設(shè)計(jì)的方法如下:(1)每個(gè)測(cè)試集應(yīng)該被惟一標(biāo)識(shí),并且和將被測(cè)試的類顯式地相關(guān)聯(lián);(2)應(yīng)該陳述測(cè)試的目的;(3)對(duì)每個(gè)測(cè)試應(yīng)該開發(fā)一組測(cè)試步驟

8.8面向?qū)ο蟮能浖y(cè)試

8.8.3面向?qū)ο筌浖y(cè)試集設(shè)計(jì)2.傳統(tǒng)測(cè)試集設(shè)計(jì)方法的適用性白盒測(cè)試方法可用于對(duì)為類定義的操作的測(cè)試,基本路徑、循環(huán)測(cè)試或數(shù)據(jù)流技術(shù)可以幫助保證已經(jīng)測(cè)試了操作中的每一條語句,然而,很多類操作的簡(jiǎn)潔結(jié)構(gòu)導(dǎo)致把用白盒測(cè)試的工作量用于類級(jí)別的測(cè)試會(huì)更好。黑盒測(cè)試方法就像對(duì)傳統(tǒng)軟件工程方法開發(fā)的系統(tǒng)和對(duì)OO系統(tǒng)同樣適用的,測(cè)試集可以為黑盒及基于狀態(tài)的測(cè)試設(shè)計(jì)提供有用的輸入。8.8面向?qū)ο蟮能浖y(cè)試

8.8.3面向?qū)ο筌浖y(cè)試集設(shè)計(jì)3.基于故障的測(cè)試 在OO系統(tǒng)中基于故障的測(cè)試的目標(biāo)是設(shè)計(jì)最有可能發(fā)現(xiàn)似乎可能的故障的測(cè)試。由于產(chǎn)品或系統(tǒng)必須符合客戶需求,因此,完成基于故障的測(cè)試所需的初步計(jì)劃是從分析模型開始。測(cè)試員查找似乎可能的故障,為了確定是否存在這些故障,設(shè)計(jì)測(cè)試集以測(cè)試設(shè)計(jì)或代碼。8.8面向?qū)ο蟮能浖y(cè)試

8.8.3面向?qū)ο筌浖y(cè)試集設(shè)計(jì)4.面向?qū)ο缶幊虒?duì)測(cè)試的影響(1)某些類型的故障變得幾乎不可能(不值得去測(cè)試)(2)某些類型的故障變得更加可能(值得進(jìn)行測(cè)試)(3)出現(xiàn)某些新的故障類型(4)當(dāng)調(diào)用一個(gè)操作時(shí),很難確切知道執(zhí)行什么代碼,即可能屬于很多類之一。

8.8面向?qū)ο蟮能浖y(cè)試

8.8.3面向?qū)ο筌浖y(cè)試集設(shè)計(jì)5.測(cè)試外部結(jié)構(gòu)和內(nèi)部結(jié)構(gòu)(1)外部結(jié)構(gòu) 外部結(jié)構(gòu)指OO程序的外部可觀察的結(jié)構(gòu),即對(duì)終端用戶立即可見的結(jié)構(gòu)。

(2)內(nèi)部結(jié)構(gòu) 內(nèi)部結(jié)構(gòu)指OO程序的內(nèi)部技術(shù)細(xì)節(jié),即通過檢查設(shè)計(jì)和/或代碼而理解的結(jié)構(gòu)。

8.9測(cè)試計(jì)劃與測(cè)試分析報(bào)告8.9測(cè)試計(jì)劃與測(cè)試分析報(bào)告測(cè)試計(jì)劃可細(xì)化為測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)說明、測(cè)試用例說明和測(cè)試規(guī)格說明;測(cè)試分析報(bào)告可細(xì)化為測(cè)試項(xiàng)傳遞報(bào)告、測(cè)試日志、測(cè)試事件報(bào)告和測(cè)試總結(jié)報(bào)告。8.10軟件維護(hù)

8.10.1軟件維護(hù)分類與特點(diǎn)

8.10.2軟件維護(hù)步驟

8.10.3軟件的可維護(hù)性

8.10.4軟件維護(hù)的副作用

8.10.5逆向工程和再生工程8.10軟件維護(hù)

8.10.1軟件維護(hù)分類與特點(diǎn)1.軟件維護(hù)的原因(1)改正在特定的使用條件下暴露出來的一些潛在程序錯(cuò)誤或設(shè)計(jì)缺陷。(2)在軟件使用過程中因數(shù)據(jù)環(huán)境發(fā)生變化或處理環(huán)境發(fā)生變化,需要修改軟件以適應(yīng)這種變化。(3)用戶和數(shù)據(jù)處理人員在使用時(shí)常提出改進(jìn)現(xiàn)有功能、增加新的功能及改善總體性能的要求,為了滿足這些要求,就需要修改軟件并把這些要求納入到軟件之中。8.10軟件維護(hù)

8.10.1軟件維護(hù)分類與特點(diǎn)2.維護(hù)的分類按維護(hù)性質(zhì)不同,軟件維護(hù)可分為:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)等。8.10軟件維護(hù)

8.10.1軟件維護(hù)分類與特點(diǎn)3.維護(hù)的特點(diǎn)(1)結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)(2)維護(hù)的代價(jià)(3)維護(hù)的問題 與軟件維護(hù)有關(guān)的絕大多數(shù)問題,都可歸因于軟件定義和軟件開發(fā)的方法的缺點(diǎn)。

8.10軟件維護(hù)

8.10.2軟件維護(hù)步驟1.維護(hù)步驟(1)分析和理解程序(2)修改程序(3)詳細(xì)地分析要修改的模塊和數(shù)據(jù)結(jié) 構(gòu)的內(nèi)部細(xì)節(jié),設(shè)計(jì)修改計(jì)劃,標(biāo) 明新邏輯及要改動(dòng)的現(xiàn)有邏輯。(4)向用戶提供回避措施。

(5)修改代碼以適應(yīng)變化

(6)重新驗(yàn)證程序8.10軟件維護(hù)

8.10.2軟件維護(hù)步驟2.維護(hù)組織 每個(gè)維護(hù)申請(qǐng)通過維護(hù)管理員轉(zhuǎn)告給系統(tǒng)管理員,系統(tǒng)管理員一般都是對(duì)程序特別熟悉的技術(shù)人員,他們對(duì)維護(hù)申請(qǐng)及可能引起的軟件修改進(jìn)行評(píng)估,并向修改控制決策機(jī)構(gòu)(一個(gè)或一組管理者)報(bào)告,由它最后確定是否采取行動(dòng)。

8.10軟件維護(hù)

8.10.3軟件的可維護(hù)性

1.影響可維護(hù)性的因素(1)是否擁有一組訓(xùn)練有素的軟件人員;(2)系統(tǒng)結(jié)構(gòu)是否可理解;(3)是否使用標(biāo)準(zhǔn)的程序設(shè)計(jì)語言;(4)是否使用標(biāo)準(zhǔn)的操作系統(tǒng);(5)文檔的結(jié)構(gòu)是否標(biāo)準(zhǔn)化;(6)測(cè)試用例是否合適;(7)是否已有嵌入系統(tǒng)的調(diào)試工具;(8)是否有一臺(tái)計(jì)算機(jī)可用于維護(hù)。8.10軟件維護(hù)

8.10.3軟件的可維護(hù)性

2.量化的測(cè)度(1)發(fā)現(xiàn)問題所用的時(shí)間;(2)收集維護(hù)工具使用的時(shí)間;(3)分析問題所需時(shí)間;(4)形成修改說明書所用時(shí)間;(5)糾錯(cuò)(或修改)所用時(shí)間;(6)局部測(cè)試所用時(shí)間;(7)整體測(cè)試所用時(shí)間;(8)維護(hù)復(fù)審所用時(shí)間;(9)完全恢復(fù)所用時(shí)間。8.10軟件維護(hù)

8.10.3軟件的可維護(hù)性

3.保證可維護(hù)性的復(fù)審 在軟件工程每一階段的復(fù)審中,可維護(hù)性都是重要的指標(biāo)。需求分析階段的復(fù)審設(shè)計(jì)階段的復(fù)審代碼復(fù)審配置復(fù)審8.10軟件維護(hù)

8.10.4軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論