《現(xiàn)代軟件工程應(yīng)用技術(shù)》項(xiàng)目八 軟件項(xiàng)目的測(cè)試和維護(hù)_第1頁(yè)
《現(xiàn)代軟件工程應(yīng)用技術(shù)》項(xiàng)目八 軟件項(xiàng)目的測(cè)試和維護(hù)_第2頁(yè)
《現(xiàn)代軟件工程應(yīng)用技術(shù)》項(xiàng)目八 軟件項(xiàng)目的測(cè)試和維護(hù)_第3頁(yè)
《現(xiàn)代軟件工程應(yīng)用技術(shù)》項(xiàng)目八 軟件項(xiàng)目的測(cè)試和維護(hù)_第4頁(yè)
《現(xiàn)代軟件工程應(yīng)用技術(shù)》項(xiàng)目八 軟件項(xiàng)目的測(cè)試和維護(hù)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目八

軟件項(xiàng)目的測(cè)試和維護(hù)【本章概要】·軟件測(cè)試的基本概念·白盒和黑盒測(cè)試技術(shù)·軟件測(cè)試的步驟與策略·面向?qū)ο筌浖y(cè)試原則及策略·軟件的調(diào)試軟件維護(hù)

任務(wù)8.1軟件項(xiàng)目測(cè)試的概念1979年,GlenfordJ.Myers在其經(jīng)典著作《軟件測(cè)試的技巧》中給出了軟件測(cè)試的定義:程序測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。8.1.1軟件測(cè)試的目標(biāo)軟件測(cè)試的目的包括以下幾點(diǎn):(1)測(cè)試是程序的執(zhí)行過(guò)程,目的在于發(fā)現(xiàn)錯(cuò)誤。(2)測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)。(3)—個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。4)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)錯(cuò)誤的測(cè)試。任務(wù)8.1軟件項(xiàng)目測(cè)試的概念8.1.2軟件測(cè)試的內(nèi)容1.軟件測(cè)試的分類(1)按是否需要執(zhí)行被測(cè)軟件的角度,可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。(2)按階段劃分:任務(wù)8.1軟件項(xiàng)目測(cè)試的概念表8-1按階段劃分測(cè)試表階段名稱作用單元測(cè)試單元測(cè)試是對(duì)軟件中的基本組成單位進(jìn)行的測(cè)試,如一個(gè)模塊、一個(gè)過(guò)程等等。單元測(cè)試的主要方法有控制流測(cè)試、數(shù)據(jù)流測(cè)試、排錯(cuò)測(cè)試、分域測(cè)試等等。集成測(cè)試集成測(cè)試是在軟件系統(tǒng)集成過(guò)程中所進(jìn)行的測(cè)試,其主要目的是檢查軟件單位之間的接口是否正確。集成測(cè)試的策略主要有自頂向下和自底向上兩種。系統(tǒng)測(cè)試系統(tǒng)測(cè)試是對(duì)已經(jīng)集成好的軟件系統(tǒng)進(jìn)行徹底的測(cè)試,以驗(yàn)證軟件系統(tǒng)的正確性和性能等滿足其規(guī)約所指定的要求,檢查軟件的行為和輸出是否正確并非一項(xiàng)簡(jiǎn)單的任務(wù),它被稱為測(cè)試的“先知者問(wèn)題”。軟件系統(tǒng)測(cè)試方法很多,主要有功能測(cè)試、性能測(cè)試、隨機(jī)測(cè)試等等。驗(yàn)收測(cè)試驗(yàn)收測(cè)試旨在向軟件的購(gòu)買者展示該軟件系統(tǒng)滿足其用戶的需求。這是軟件在投入使用之前的最后測(cè)試。回歸測(cè)試回歸測(cè)試是在軟件維護(hù)階段,對(duì)軟件進(jìn)行修改之后進(jìn)行的測(cè)試。其目的是檢驗(yàn)對(duì)軟件進(jìn)行的修改是否正確。Alpha測(cè)試在系統(tǒng)開(kāi)發(fā)接近完成時(shí)對(duì)應(yīng)用系統(tǒng)的測(cè)試;測(cè)試后,仍然會(huì)有少量的設(shè)計(jì)變更。Beta測(cè)試當(dāng)開(kāi)發(fā)和測(cè)試完成時(shí)所做的測(cè)試,而最終的錯(cuò)誤和問(wèn)題需要在最終發(fā)行前找到。這種測(cè)試一般由最終用戶或其他人員完成,不能由程序員或測(cè)試員完成。任務(wù)8.1軟件項(xiàng)目測(cè)試的概念(3)按測(cè)試方法劃分:測(cè)試方法名作用白盒測(cè)試“白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。黑盒測(cè)試“黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。表8-2按測(cè)試方法劃分表2.軟件測(cè)試用例內(nèi)容摘要

3.軟件測(cè)試文檔(1)測(cè)試計(jì)劃:測(cè)試方案、測(cè)試執(zhí)行策略、測(cè)試用例、BUG描述報(bào)告,包括測(cè)試環(huán)境的介紹,預(yù)置條件,測(cè)試人員,問(wèn)題重現(xiàn)的操作步驟和當(dāng)時(shí)測(cè)試的現(xiàn)場(chǎng)信息;(2)測(cè)試報(bào)告:從分析中總結(jié)此次設(shè)計(jì)和執(zhí)行做的好的地方和需要努力的地方和對(duì)此項(xiàng)目的一個(gè)質(zhì)量評(píng)價(jià)。任務(wù)8.1軟件項(xiàng)目測(cè)試的概念4、軟件測(cè)試的原則(1)堅(jiān)持在軟件開(kāi)發(fā)的各個(gè)階段進(jìn)行技術(shù)評(píng)審,盡早地和不斷地進(jìn)行軟件測(cè)試,才能在開(kāi)發(fā)過(guò)程中盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤,杜絕某些隱患,提高軟件質(zhì)量。(2)自己總認(rèn)為自己是正確的,所以,程序員應(yīng)避免檢查自己的程序。(3)在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。(4)對(duì)于測(cè)試計(jì)劃,要明確規(guī)定,不要隨意解釋。測(cè)試人員要嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。(5)測(cè)試人員要妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)工作提供方便。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法軟件測(cè)試的方法很多,根據(jù)程序是否運(yùn)行可以把軟件測(cè)試方法分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試,按照測(cè)試數(shù)據(jù)的設(shè)計(jì)依據(jù)可分為黑盒測(cè)試和白盒測(cè)試。8.2.1靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試1.靜態(tài)測(cè)試靜態(tài)測(cè)試不需要執(zhí)行所測(cè)試的程序,而只是通過(guò)掃描程序正文。2.動(dòng)態(tài)測(cè)試一般意義上的測(cè)試多是指動(dòng)態(tài)測(cè)試,把以發(fā)現(xiàn)錯(cuò)誤為目標(biāo)的用于軟件測(cè)試的輸入數(shù)據(jù)及與之對(duì)應(yīng)的預(yù)期輸出結(jié)果稱為測(cè)試用例。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法動(dòng)態(tài)測(cè)試可分為以下幾個(gè)步驟。(1)單元測(cè)試。(2)集成測(cè)試。(3)組裝測(cè)試。(4)確認(rèn)測(cè)試。(5)系統(tǒng)測(cè)試。(6)驗(yàn)收測(cè)試。(7)回歸測(cè)試。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法8.2.2黑盒測(cè)試與白盒測(cè)試1.白盒測(cè)試白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,白盒測(cè)試法把測(cè)試對(duì)象看做一個(gè)打開(kāi)的盒子,測(cè)試人員必須了解程序的內(nèi)部結(jié)構(gòu)和工作過(guò)程,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作,而不考慮程序的外在功能,以此來(lái)檢測(cè)產(chǎn)品內(nèi)部程序是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行。白盒測(cè)試主要有兩種方法,即邏輯覆蓋法和路徑覆蓋法。1)邏輯覆蓋法邏輯覆蓋法是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試技術(shù),它考慮的是測(cè)試數(shù)據(jù)執(zhí)行程序的邏輯覆蓋程度。使用這一方法要求測(cè)試人員對(duì)程序的邏輯結(jié)構(gòu)有清楚的了解,甚至要能掌握源程序的所有細(xì)節(jié)。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法按照覆蓋源程序語(yǔ)句詳盡程度的不同,邏輯覆蓋可以分為語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋和多條件覆蓋。(1)語(yǔ)句覆蓋。(2)判定覆蓋。(3)條件覆蓋。(4)判定/條件覆蓋。(5)條件組合覆蓋。該方法的測(cè)試用例使每個(gè)判定中所有可能的條件取值組合至少執(zhí)行一次。下面以圖8-1所示的程序段為例,分別予以說(shuō)明。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法圖8-1測(cè)試程序段任務(wù)8.2軟件項(xiàng)目測(cè)試的方法示例程序如下。voidjisuan(){intA,B,X;if(A>3&&B==2)X=X+A;if(A==7||X>3)X=X+1;}其中,輸人數(shù)據(jù)為A、B和X,輸出數(shù)據(jù)為X。滿足上述覆蓋程度的測(cè)試用例如表8-3所示。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法表8-3邏輯覆蓋測(cè)試用例X測(cè)試路徑測(cè)試用例ABX語(yǔ)句覆蓋acef(語(yǔ)句c和語(yǔ)句e均執(zhí)行)524判定覆蓋abef(判定條件1為假,條件2為真)711acdf(判定條件1為真,條件2為假)52-5條件覆蓋abef(滿足A>3,B≠2;A=7,X≤3;即判定條件1為假,條件2為真711abef(滿足A≤3,B=2;A≤7,X>3;即判定條件1為假,條件2為真)124判定/條件覆蓋acef(滿足A>3,B=2;A=7,X>3;即判定條件1、條件2均取真值)724abdf(滿足A≤3,B≠2;A≠7,X≤3;即判定條件1、條件2均取假值)111條件組合覆蓋acef(滿足A>3,B=2;A=7,X>3)724abef(滿足A>3,B≠2;A=7,X≤3)711abef(滿足A≤3,B=2;A≠7,X>3)324abdf(滿足A≤3,B≠2,A≠7,X≤3111任務(wù)8.2軟件項(xiàng)目測(cè)試的方法2)路徑覆蓋法下面以圖8-1所舉示例為例,說(shuō)明其測(cè)試用例的設(shè)計(jì)過(guò)程。第一步,畫(huà)出程序控制流程圖。圖8-1所示的流程圖對(duì)應(yīng)的控制流程圖如圖8-2所示。其中,由源程序if(A>3&&B==2)的“與”條件可以導(dǎo)出三個(gè)單條件的判斷①②③,由源程序if(A==7||X>3)的“或”條件可以導(dǎo)出兩個(gè)單條件⑤⑥。第二步,計(jì)算環(huán)路復(fù)雜性V(G)。環(huán)路復(fù)雜性的計(jì)算方法有以下3種。程序的環(huán)形復(fù)雜度計(jì)算公式為V(G)=m-n+2。其中,m是程序流程圖中邊的數(shù)量,n是結(jié)點(diǎn)的數(shù)量。如果P是程序流圖中判定結(jié)點(diǎn)的個(gè)數(shù),那么V(G)=P+1。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法?如果A是程序流圖中封閉區(qū)域的數(shù)目,區(qū)域的個(gè)數(shù)定義為邊和結(jié)點(diǎn)圈定的封閉區(qū)域數(shù)加上圖形外的區(qū)域數(shù)1,那么V(G)=A+1。注意:源代碼IF語(yǔ)句及WHILE、FOR或REPEAT循環(huán)語(yǔ)句的判定結(jié)點(diǎn)數(shù)為1,而CASE型等多分支語(yǔ)句的判定結(jié)點(diǎn)數(shù)等于可能的分支數(shù)減1。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法圖8-2被測(cè)程序控制流程圖任務(wù)8.2軟件項(xiàng)目測(cè)試的方法例如,根據(jù)圖8-2中的控制流圖,可以很快算出V(G)=m-n+2=10-7+2=5。第三步,確定獨(dú)立路徑集合。環(huán)路復(fù)雜性就是該圖已有的獨(dú)立路徑數(shù),5條路徑分別如下。路徑1:①—②一③一④一⑤一⑦(A—B—C—F—J)。路徑2:①一②一③一④一⑤一⑥一⑦(A—B—C—F—G—H)。路徑3:①一②一③一④一⑥一⑦(A—B—C—I—H)。路徑4:①一②一④一⑤一⑦(A—D—F—J)。路徑5:①一④一⑤一⑦(E—F—J)。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法第四步.生成測(cè)試用例,確保基本路徑集中每一條路徑的執(zhí)行。路徑1:A=4,B=2,X=3。路徑2:A=4,B=2,X=4。路徑3:A=7,B=2,X=3或4。路徑4:A=4,B=1,X=4。路徑5:A=3,B=2或1,X=3。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法2、黑盒測(cè)試黑盒測(cè)試是指不基于內(nèi)部設(shè)計(jì)和代碼的任何知識(shí),而基于需求和功能性的測(cè)試.1)黑盒測(cè)試的特點(diǎn)黑盒測(cè)試也稱功能測(cè)試,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法2)黑盒測(cè)試用例設(shè)計(jì)法(1)等價(jià)類劃分法。劃分等價(jià)類需要經(jīng)驗(yàn),下面結(jié)合具體事例給出幾條確定等價(jià)類的原則。如果規(guī)定了輸入條件的范圍,那么可以劃分出一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。例如,在程序的規(guī)格說(shuō)明中,輸人條件為“1?100的整數(shù)”,則有效等價(jià)類是“1<=輸入數(shù)值<=100“,兩個(gè)無(wú)效等價(jià)類是“輸入數(shù)值<1”和“輸入數(shù)值>100”。如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)定了“必須如何”的條件,這時(shí)可以確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。例如,輸人條件為“x=100”,則有效等價(jià)類為“x=a”;無(wú)效等價(jià)類為“x≠100”。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法如果輸入條件是布爾值,那么可以確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)Σ煌斎胫颠M(jìn)行不同的處理,則每個(gè)允許的輸入值是一個(gè)有效等價(jià)類,此外還有一個(gè)無(wú)效等價(jià)類(任何一個(gè)不允許的輸入值)。例如,在學(xué)生的評(píng)定獎(jiǎng)學(xué)金中規(guī)定對(duì)三科優(yōu)、兩科優(yōu)、一科優(yōu)分別給于一等獎(jiǎng)學(xué)金、二等獎(jiǎng)學(xué)金、三等獎(jiǎng)學(xué)金,進(jìn)行相應(yīng)處理。因此可以確定3個(gè)有效等價(jià)類,分別三科優(yōu)、兩科優(yōu)、一科優(yōu),以及一個(gè)無(wú)效等價(jià)類,即所有沒(méi)有得到優(yōu)的學(xué)生輸入值的集合。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,那么可以確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干無(wú)效等價(jià)類。例如,選擇“舞蹈選修課”規(guī)定“必須性別為女的信息工程系學(xué)生”,有效等價(jià)類就是滿足條件的輸入的集合,若干無(wú)效等價(jià)類包括男生、其他系的女生等。如果確定已劃分的等價(jià)類中各個(gè)元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類進(jìn)一步劃分成更小的等價(jià)類。

在確立了等價(jià)類之后,建立等價(jià)類表,列出所劃分出的等價(jià)類,如表8-4所示。輸入條件有效等價(jià)類無(wú)效等價(jià)類(具體內(nèi)容)(具體內(nèi)容)(具體內(nèi)容)表8-4等價(jià)類表任務(wù)8.2軟件項(xiàng)目測(cè)試的方法根據(jù)已列出的等價(jià)類表,按以下3步確立測(cè)試用例。為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)。設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的無(wú)效等價(jià)類。重復(fù)這一步,直到所有有效等價(jià)類都被覆蓋為止。設(shè)計(jì)一個(gè)測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步,直到所有無(wú)效等價(jià)類都被覆蓋為止。【例8-1】小學(xué)生入學(xué),要求檢查兒童的出生日期,2016年入學(xué)的學(xué)生生日限定在2010年8月31日之前出生。如果兒童的出生日期不在此范圍內(nèi),則顯示輸入錯(cuò)誤信息。該系統(tǒng)規(guī)定有效日期由8位數(shù)字組成,前4位代表年,再兩位代表月,后兩位代表日。現(xiàn)用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,測(cè)試程序的日期檢査功能。如表8-5所示。任務(wù)8.2軟件項(xiàng)目測(cè)試的方法首先,劃分等價(jià)類并編號(hào),其次,為合理等價(jià)類設(shè)汁測(cè)試用例。為表中3個(gè)合理等價(jià)類的編號(hào)1,5,7,10設(shè)計(jì)一個(gè)測(cè)試用例(數(shù)據(jù))覆蓋,如20100629。最后,為每個(gè)不合理等價(jià)類至少設(shè)計(jì)一個(gè)測(cè)試用例,見(jiàn)表8-6所示:

輸入數(shù)據(jù)

合理等價(jià)類

不合理的等價(jià)類出生日期

1.8位數(shù)字字符2.有非數(shù)字字符3.少于8個(gè)數(shù)字字符4.多于8個(gè)數(shù)字字符年份范圍5.小于、等于20106.大于2010月份范圍7.在1?8之間

8.等于09.大于12日期范圍10.在1?31之間11.等于012.大于31表8-5日期等價(jià)類表任務(wù)8.2軟件項(xiàng)目測(cè)試的方法注意:在8種不合理的測(cè)試用例中,不能出現(xiàn)相同的測(cè)試用例,否則相當(dāng)于一個(gè)測(cè)試用例覆蓋了一個(gè)以上不合理等價(jià)類,從而使程序測(cè)試不完全。等價(jià)類劃分法的優(yōu)點(diǎn)是比隨機(jī)選擇測(cè)試用例要好得多,但缺點(diǎn)是沒(méi)有注意選擇某些高效的,且能夠發(fā)現(xiàn)更多錯(cuò)誤的測(cè)試用例。輸入無(wú)效覆蓋編號(hào)10month22009073200907031420110629620100001820101301920100800112010083212表8-6測(cè)試用例表任務(wù)8.2軟件項(xiàng)目測(cè)試的方法(2)邊界值分析法。(3)錯(cuò)誤推測(cè)法。(4)因果圖法。(5)綜合策略。以上介紹的每種軟件測(cè)試方法都能設(shè)計(jì)出一組有用的例子,但是,用其中一組例子發(fā)現(xiàn)某種類型的錯(cuò)誤,但不易發(fā)現(xiàn)另一種類型的錯(cuò)誤。因此,在實(shí)際測(cè)試中,可以綜合使用各種測(cè)試方法,形成綜合策略。通常先用黑盒法設(shè)計(jì)基本的測(cè)試用例,再用白盒法補(bǔ)充一些必要的測(cè)試用例。任務(wù)8.3軟件測(cè)試的步驟與策略8.3.1項(xiàng)目測(cè)試用例的設(shè)計(jì)測(cè)試用例就是預(yù)先編制的一組系統(tǒng)操作步驟和輸入數(shù)據(jù)、執(zhí)行條件以及預(yù)期結(jié)果,用以驗(yàn)證某個(gè)程序是否滿足某個(gè)特定需求的文字。1.測(cè)試用例的設(shè)計(jì)原則測(cè)試用例的設(shè)計(jì)原則如下。(1)遵守測(cè)試需求的原則。(2)選擇測(cè)試方法的原則。2.測(cè)試用例要素測(cè)試用例要素主要包括如下幾方面。(1)名稱和標(biāo)識(shí)。(2)測(cè)試追蹤。(3)用例說(shuō)明。(4)測(cè)試的初始化要求。任務(wù)8.3軟件測(cè)試的步驟與策略(5)測(cè)試的輸入。(6)期望的測(cè)試結(jié)果。(7)評(píng)價(jià)測(cè)試結(jié)果的準(zhǔn)則。(8)操作過(guò)程。(9)前提和約束。(10)測(cè)試終止條件。3.測(cè)試用例的設(shè)計(jì)步驟測(cè)試用例設(shè)計(jì)一般包括以下幾個(gè)步驟。(1)測(cè)試需求分析。(2)業(yè)務(wù)流程分析。(3)測(cè)試用例設(shè)計(jì)。(4)測(cè)試用例評(píng)審。任務(wù)8.3軟件測(cè)試的步驟與策略8.3.2制定測(cè)試計(jì)劃

具體軟件測(cè)試計(jì)劃中應(yīng)主要包括以下幾方面的內(nèi)容。(1)項(xiàng)目基本情況。(2)測(cè)試任務(wù)。(3)測(cè)試策略。(4)測(cè)試組織。(5)測(cè)試評(píng)價(jià)。8.3.3軟件測(cè)試流程簡(jiǎn)介設(shè)計(jì)名稱測(cè)試名稱編碼單元測(cè)試詳細(xì)設(shè)計(jì)集成測(cè)試概要設(shè)計(jì)確認(rèn)測(cè)試與系統(tǒng)測(cè)試需求分析驗(yàn)收測(cè)試表8-7測(cè)試階段對(duì)應(yīng)表任務(wù)8.3軟件測(cè)試的步驟與策略1.單元測(cè)試

單元測(cè)試任務(wù)包括:1)模塊接口測(cè)試;2)模塊局部數(shù)據(jù)結(jié)構(gòu)測(cè)試;3)模塊邊界條件測(cè)試;4)模塊中所有獨(dú)立執(zhí)行通路測(cè)試;5)模塊的各條錯(cuò)誤處理通路測(cè)試。2.集成測(cè)試

分兩種方法:第一:先深度:按照結(jié)構(gòu),用一條主控制路徑將所有模塊組合起來(lái);第二:先寬度:逐層組合所有下屬模塊,在每一層水平地集成測(cè)試沿著移動(dòng)。任務(wù)8.3軟件測(cè)試的步驟與策略3.確認(rèn)測(cè)試確認(rèn)測(cè)試又稱有效性測(cè)試。4.系統(tǒng)測(cè)試

主要內(nèi)容包括:1)功能測(cè)試。即測(cè)試軟件系統(tǒng)的功能是否正確,其依據(jù)是需求文檔,如《產(chǎn)品需求規(guī)格說(shuō)明書(shū)》。由于正確性是軟件最重要的質(zhì)量因素,所以功能測(cè)試必不可少。2)健壯性測(cè)試。即測(cè)試軟件系統(tǒng)在異常情況下能否正常運(yùn)行的能力。健壯性有兩層含義:一是容錯(cuò)能力,二是恢復(fù)能力。

主要目標(biāo)是:1)確保系統(tǒng)測(cè)試的活動(dòng)是按計(jì)劃進(jìn)行的;2)驗(yàn)證軟件產(chǎn)品是否與系統(tǒng)需求用例不相符合或與之矛盾;3)建立完善的系統(tǒng)測(cè)試缺陷記錄跟蹤庫(kù);4)確保軟件系統(tǒng)測(cè)試活動(dòng)及其結(jié)果及時(shí)通知相關(guān)小組和個(gè)人;任務(wù)8.3軟件測(cè)試的步驟與策略5.驗(yàn)收測(cè)試實(shí)施驗(yàn)收測(cè)試的常用策略有三種,它們分別是:1)正式驗(yàn)收2)非正式驗(yàn)收或Alpha測(cè)試3)Beta測(cè)試6.書(shū)寫(xiě)軟件測(cè)試報(bào)告任務(wù)8.4面向?qū)ο筌浖y(cè)試測(cè)試被分成類測(cè)試、組裝測(cè)試、系統(tǒng)測(cè)試等不同級(jí)別。8.4.1類測(cè)試類必須是可靠的并可實(shí)現(xiàn)復(fù)用,因此類要盡可能的獨(dú)立測(cè)試。類測(cè)試主要有基于規(guī)格說(shuō)明的測(cè)試和基于程序的測(cè)試兩種形式,它們與結(jié)構(gòu)測(cè)試中的黑盒測(cè)試和白盒測(cè)試相對(duì)應(yīng)。8.4.2集成測(cè)試集成測(cè)試在兩個(gè)級(jí)別上發(fā)生。第一級(jí)的集成測(cè)試是新類和類簇的測(cè)試,他要求在不編寫(xiě)代碼的情況下將軟件開(kāi)發(fā)中的元素結(jié)合起來(lái),主要對(duì)類間的關(guān)系進(jìn)行測(cè)試。第二級(jí)集成測(cè)試是把各子系統(tǒng)組裝成完整的軟件系統(tǒng)過(guò)程中的測(cè)試,他主要測(cè)試對(duì)象之間的通信。在進(jìn)行測(cè)試之前制定測(cè)試計(jì)劃是非常重要和必要的,好的測(cè)試計(jì)劃不僅可以節(jié)省測(cè)試的時(shí)間,對(duì)軟件質(zhì)量的提高也起到了及其重要的作用。8.4.3系統(tǒng)測(cè)試系統(tǒng)測(cè)試與傳統(tǒng)測(cè)試基本相同,通過(guò)單元測(cè)試和集成測(cè)試,僅能保證軟件開(kāi)發(fā)的功能得以實(shí)現(xiàn),不能確認(rèn)在實(shí)際運(yùn)行時(shí),它是否滿足用戶的需要,是否大量存在實(shí)際使用條件下會(huì)被誘發(fā)產(chǎn)生錯(cuò)誤的隱患。任務(wù)8.5軟件項(xiàng)目的調(diào)試8.5.1軟件調(diào)試過(guò)程軟件調(diào)試過(guò)程分為兩個(gè)步驟:第一步確定錯(cuò)誤的位置,找出引起錯(cuò)誤的模塊或接口;第二步確定產(chǎn)生錯(cuò)誤的原因,同時(shí)設(shè)法改正錯(cuò)誤。8.5.2調(diào)試策略1.單步執(zhí)行2.設(shè)置斷點(diǎn)

3.日志4.觀察和修改數(shù)據(jù)任務(wù)8.5軟件項(xiàng)目的維護(hù)4種類型:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。4種維護(hù)工作量所占比例如圖8-3所示:任務(wù)8.5軟件項(xiàng)目的調(diào)試圖8-3維護(hù)工作量比例圖任務(wù)8.5軟件項(xiàng)目的調(diào)試8.5.1維護(hù)的分類1.改正性維護(hù)軟件開(kāi)發(fā)結(jié)束后,軟件測(cè)試所進(jìn)行的工作不一定都是完全的、徹底的,測(cè)試工作不可能發(fā)現(xiàn)所有錯(cuò)誤,所以,有一些潛伏的錯(cuò)誤在使用時(shí)才會(huì)被發(fā)現(xiàn)。2.適應(yīng)性維護(hù)計(jì)算機(jī)軟件、硬件各個(gè)方面發(fā)展變化十分迅速,軟件不斷升級(jí),例如:操作系統(tǒng)不斷升級(jí),硬件的發(fā)展也是非常迅速。3.完善性維護(hù)在使用軟件的過(guò)程中,用戶往往要擴(kuò)充原有的系統(tǒng)需求,增加一些在系統(tǒng)需求說(shuō)明書(shū)中沒(méi)有的功能要求,還可能提出提高程序性能的要求。4.預(yù)防性維護(hù)為了適應(yīng)未來(lái)軟硬件環(huán)境的變化,改進(jìn)應(yīng)用軟件的可靠性和可維護(hù)性,同時(shí)應(yīng)主動(dòng)增加新的預(yù)防性功能,以使應(yīng)用系統(tǒng)適應(yīng)各類變化而不被淘汰。任務(wù)8.5軟件項(xiàng)目的調(diào)試8.5.2軟件維護(hù)報(bào)告1.維護(hù)申請(qǐng)報(bào)告維護(hù)申請(qǐng)報(bào)告是一個(gè)外部產(chǎn)生的文件,它是計(jì)劃維護(hù)活動(dòng)的基礎(chǔ)。軟件組織內(nèi)部應(yīng)該制定出一個(gè)軟件修改報(bào)告。2.軟件修改報(bào)告軟件修改報(bào)告

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論