版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,第8章 軟件測(cè)試,本章主要內(nèi)容 軟件測(cè)試的概念軟件測(cè)試的方法軟件測(cè)試的步驟傳統(tǒng)軟件和面向?qū)ο筌浖臏y(cè)試問(wèn)題,2,第8章 軟件測(cè)試,本章結(jié)構(gòu):8.1 軟件測(cè)試概述 8.2 軟件測(cè)試方法8.3 測(cè)試用例設(shè)計(jì) 8.4 軟件測(cè)試的步驟 8.5 軟件測(cè)試工具簡(jiǎn)介 8.6 調(diào)試8.7 面向?qū)ο筌浖y(cè)試簡(jiǎn)述,3,8.1 軟件測(cè)試概述,8.1.1 軟件測(cè)試的目標(biāo)測(cè)試階段的根本目標(biāo)是以最少的人力、物力和時(shí)間,
2、盡可能多地發(fā)現(xiàn)并排除軟件中潛在的錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶(hù)使用。Grenford J.Myers在《The Art of Software Testing》一書(shū)中就軟件測(cè)試的目的提出了以下觀點(diǎn):1.軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。2.一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例。3.一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。,4,8.1 軟件測(cè)試概述,8.1.2 軟件測(cè)試的原則(1)所
3、有測(cè)試都應(yīng)追溯到需求。(2)堅(jiān)持“盡早地和不斷地進(jìn)行軟件測(cè)試”。(3)測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成。 (4)程序員應(yīng)避免測(cè)試自己的程序。(5)在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。(6)充分注意測(cè)試中的群集現(xiàn)象。 (7)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。 (8)應(yīng)當(dāng)對(duì)每個(gè)測(cè)試結(jié)果做全面檢查。 (9)在測(cè)試程序時(shí),不僅要檢驗(yàn)程序是否做了該做的事,還要檢驗(yàn)程序是否做了不
4、該做的事 。(10)長(zhǎng)期妥善地保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告 。,5,8.1 軟件測(cè)試概述,8.1.2 軟件測(cè)試的過(guò)程和策略1.軟件測(cè)試的流程軟件測(cè)試是一系列測(cè)試活動(dòng)的集合,必須按照一定的測(cè)試流程,才能發(fā)現(xiàn)更多的錯(cuò)誤。軟件測(cè)試流程包括設(shè)計(jì)測(cè)試方案、實(shí)施測(cè)試、糾正錯(cuò)誤、分析測(cè)試數(shù)據(jù)、建立可靠性模型等幾個(gè)步驟,如圖8.1所示。,6,8.1 軟件測(cè)試概述,圖8.1 軟件測(cè)試的流程,7,8.1 軟件測(cè)試概述,2.軟件測(cè)試
5、的信息流軟件測(cè)試時(shí)需要3類(lèi)測(cè)試信息流,如圖8.2所示。,圖8.2 軟件測(cè)試的信息流,8,8.1 軟件測(cè)試概述,3.測(cè)試的過(guò)程圖8.3描述了測(cè)試的過(guò)程。從圖中可知,測(cè)試過(guò)程分為4個(gè)步驟,即單元測(cè)試、組裝測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。,圖8.3 軟件測(cè)試的過(guò)程,9,8.1 軟件測(cè)試概述,圖8.4列出了軟件測(cè)試各階段與軟件開(kāi)發(fā)各階段之間的關(guān)系。,圖8.4 軟件測(cè)試與軟件開(kāi)發(fā)各階段的關(guān)系,10,8.2 軟件測(cè)試方法,軟件測(cè)試方法很多,按照測(cè)試過(guò)
6、程是否執(zhí)行程序來(lái)分,一般分為靜態(tài)測(cè)試方法和動(dòng)態(tài)測(cè)試方法。動(dòng)態(tài)測(cè)試方法又根據(jù)測(cè)試用例的設(shè)計(jì)方法不同,分為黑盒測(cè)試和白盒測(cè)試兩類(lèi)。8.2.1靜態(tài)測(cè)試靜態(tài)測(cè)試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。是指不在計(jì)算機(jī)上執(zhí)行被測(cè)試軟件,而是采用人工檢測(cè)和計(jì)算機(jī)輔助靜態(tài)分析的手段對(duì)程序進(jìn)行檢測(cè)。1.人工測(cè)試2.計(jì)算機(jī)輔助靜態(tài)分析,11,8.2 軟件測(cè)試方法,8.2.2動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試是基于計(jì)算機(jī)的測(cè)試,是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。同
7、測(cè)試任何產(chǎn)品一樣,動(dòng)態(tài)測(cè)試一般有黑盒測(cè)試法與白盒測(cè)試法兩種,前者是測(cè)試產(chǎn)品的功能,后者是測(cè)試產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過(guò)程。1.黑盒測(cè)試法黑盒法又稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,該方法把被測(cè)試對(duì)象看成一個(gè)不透明的“黑盒子”,測(cè)試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,只在軟件的接口(界面)處進(jìn)行測(cè)試,依據(jù)需求說(shuō)明書(shū),檢查程序是否滿(mǎn)足功能要求,是否能很好地接收數(shù)據(jù),并產(chǎn)生正確的輸出。通過(guò)黑盒測(cè)試主要發(fā)現(xiàn)以下錯(cuò)誤:(1)是否有不正確或遺漏了的功
8、能。(2)界面是否有錯(cuò),能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確的輸出信息。(3)是否有數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)錯(cuò)誤。(4)性能是否滿(mǎn)足要求。(5)是否有初始化或終止性錯(cuò)誤。黑盒測(cè)試法是一種宏觀功能上的測(cè)試,該方法適合測(cè)試部門(mén)的測(cè)試人員或用戶(hù)。,12,8.2 軟件測(cè)試方法,2.白盒測(cè)試法白盒法又稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,該方法把被測(cè)試對(duì)象看成一個(gè)透明的盒子,測(cè)試人員可以了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,以檢查處理過(guò)程為目的,對(duì)程序
9、中盡可能多的邏輯路徑進(jìn)行測(cè)試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò),實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒測(cè)試法是一種程序級(jí)的微觀上的測(cè)試,不適合于大單元、大系統(tǒng)的測(cè)試,主要用于很小單元的測(cè)試,以及從事軟件底層工作、生產(chǎn)構(gòu)件的測(cè)試人員使用。,13,8.3 測(cè)試用例設(shè)計(jì),8.3.1黑盒技術(shù)常用的黑盒測(cè)試技術(shù)有等價(jià)類(lèi)劃分、邊界值分析、錯(cuò)誤推測(cè)法、因果圖等。 8.3.1.1等價(jià)類(lèi)劃分法1. 等價(jià)類(lèi)劃分法的基本思想2.等價(jià)類(lèi)劃分的一
10、般規(guī)則 劃分等價(jià)類(lèi)需要一定的經(jīng)驗(yàn),下述幾條啟發(fā)式規(guī)則有助于等價(jià)類(lèi)的劃分: (1)如果輸入條件是一個(gè)布爾量,則可定義一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。 (2)如果輸入條件規(guī)定了確切的取值范圍,可定義一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。(3)如果規(guī)定了輸入數(shù)據(jù)的個(gè)數(shù),則可定義一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。 (4)如規(guī)定了輸入數(shù)據(jù)的一組值,且程序?qū)Σ煌斎胫底霾煌幚?,則每個(gè)允許的輸入值是一個(gè)有效等價(jià)類(lèi),并有一個(gè)無(wú)效等價(jià)類(lèi) (所
11、有不允許的輸入值的集合)。,14,8.3 測(cè)試用例設(shè)計(jì),(5)如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,可確定一個(gè)有效等價(jià)類(lèi)(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則)。 (6)如已劃分的等價(jià)類(lèi)各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類(lèi)進(jìn)一步劃分成更小的等價(jià)類(lèi)。 (7)如果處理對(duì)象是表格,則應(yīng)使用空表、只含1項(xiàng)的表,包含多項(xiàng)的表。,15,8.3 測(cè)試用例設(shè)計(jì),3.用等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試用例的步驟(1)劃分等價(jià)類(lèi),形成等價(jià)類(lèi)表,為
12、每一等價(jià)類(lèi)規(guī)定一個(gè)唯一的編號(hào);(2)根據(jù)等價(jià)類(lèi)選取相應(yīng)的測(cè)試用例。設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi),重復(fù)這一步驟,直到所有有效等價(jià)類(lèi)均被覆蓋;設(shè)計(jì)一個(gè)新的測(cè)試用例,使其覆蓋一個(gè)而且只覆蓋一個(gè)尚未覆蓋的無(wú)效等價(jià)類(lèi),重復(fù)這一步驟,直到所有無(wú)效等價(jià)類(lèi)均被覆蓋。,16,8.3 測(cè)試用例設(shè)計(jì),8.3.1.2 邊界值分析法 邊界值分析方法是對(duì)各種輸入、輸出范圍的邊界情況設(shè)計(jì)測(cè)試用例的方法。邊界值分析法選取測(cè)
13、試數(shù)據(jù)應(yīng)遵循的原則如下:(1)如果輸入條件規(guī)定了取值范圍,則應(yīng)以范圍的邊界值以及剛剛超過(guò)范圍邊界外的值作為測(cè)試數(shù)據(jù)。(2)如果規(guī)定了輸入值的個(gè)數(shù),分別以滿(mǎn)足條件的個(gè)數(shù)及稍少于、稍多于當(dāng)前個(gè)數(shù)值作為測(cè)試數(shù)據(jù)。(3)針對(duì)每個(gè)輸出條件使用上述(1)、(2)條規(guī)則。(4)如果程序規(guī)格說(shuō)明中提到的輸入或輸出域是個(gè)有序的集合(如順序文件、線(xiàn)性表、鏈表等),則應(yīng)選取有序集中的第一個(gè)和最后一個(gè)作為測(cè)試數(shù)據(jù)。設(shè)計(jì)測(cè)試方案時(shí)總是結(jié)合使用等價(jià)類(lèi)劃分
14、和邊界值分析兩種技術(shù)。,17,8.3 測(cè)試用例設(shè)計(jì),8.3.1.3 錯(cuò)誤推測(cè)法人們可以靠經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地設(shè)計(jì)檢查這些錯(cuò)誤的例子,這就是錯(cuò)誤推測(cè)法。錯(cuò)誤推測(cè)法的基本思想是:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并且根據(jù)這些情況選擇測(cè)試用例。錯(cuò)誤推測(cè)法針對(duì)性強(qiáng),可以直接切入可能的錯(cuò)誤,直接定位,是一種非常實(shí)用、有效的方法。但是它需要豐富的經(jīng)驗(yàn)和專(zhuān)業(yè)知識(shí)。錯(cuò)誤推測(cè)法的實(shí)施步驟是,對(duì)被
15、測(cè)軟件首先列出所有可能有的錯(cuò)誤和易錯(cuò)情況表,然后基于該表設(shè)計(jì)測(cè)試用例。,18,8.3 測(cè)試用例設(shè)計(jì),8.3.1.4 因果圖法 因果圖的基本原理是通過(guò)畫(huà)因果圖,把用自然語(yǔ)言描述的功能說(shuō)明轉(zhuǎn)換為判定表,列出輸入數(shù)據(jù)各種組合與程序應(yīng)做的動(dòng)作(即相應(yīng)的輸出結(jié)果)之間的對(duì)應(yīng)關(guān)系,最后為判定表的每一列至少設(shè)計(jì)一個(gè)測(cè)試用例。,19,8.3 測(cè)試用例設(shè)計(jì),8.3.2白盒技術(shù) 白盒測(cè)試常用的技術(shù)是邏輯覆蓋,即考察用測(cè)試數(shù)據(jù)運(yùn)行被測(cè)程序時(shí)對(duì)程序
16、邏輯的覆蓋程度。主要的覆蓋標(biāo)準(zhǔn)有6種:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。,20,8.3 測(cè)試用例設(shè)計(jì),1.語(yǔ)句覆蓋以圖8.4所示的程序流程圖為例。為了使每個(gè)語(yǔ)句都執(zhí)行一次,程序的執(zhí)行路徑應(yīng)該是①②④,為此只需要輸入下面的測(cè)試數(shù)據(jù):A=2,B=0,X=3,圖8.5 被測(cè)模塊流程圖,21,8.3 測(cè)試用例設(shè)計(jì),2.判定覆蓋判定覆蓋又叫分支覆蓋,它的含義是指設(shè)計(jì)足夠的測(cè)試用例,使得被測(cè)程序中每個(gè)判定表
17、達(dá)式至少獲得一次“真”值和一次“假”值,從而使程序的每個(gè)分支至少都通過(guò)一次。設(shè)計(jì)測(cè)試用例,只要通過(guò)路徑①②④,①③⑤或者①②⑤,①③④就可達(dá)到判定覆蓋標(biāo)準(zhǔn)。例如,選擇下面的兩組測(cè)試數(shù)據(jù):(1)A=3,B=0,X=1(覆蓋①②⑤)(2)A=2,B=1,X=2(覆蓋①③④),22,8.3 測(cè)試用例設(shè)計(jì),3.條件覆蓋條件覆蓋的含義是設(shè)計(jì)足夠的測(cè)試用例,使得判定表達(dá)式中每個(gè)條件的各種可能的值至少出現(xiàn)一次。經(jīng)分析,選擇下面兩組測(cè)試數(shù)據(jù)
18、:(1)A=2,B=0,X=3(執(zhí)行路徑①②④)(2)A=1,B=1,X=1(執(zhí)行路徑①③⑤),23,8.3 測(cè)試用例設(shè)計(jì),4.判定/條件覆蓋判定/條件覆蓋是指選取足夠多的測(cè)試數(shù)據(jù),使得判定表達(dá)式中的每個(gè)條件都取到各種可能的值,而且每個(gè)判定表達(dá)式也都取到各種可能的結(jié)果。選擇以下兩組測(cè)試數(shù)據(jù)即可滿(mǎn)足判定/條件覆蓋標(biāo)準(zhǔn):(1)A=2,B=0,X=3(2)A=1,B=1,X=1,24,8.3 測(cè)試用例設(shè)計(jì),5.條件組合覆蓋 條
19、件組合覆蓋是比較強(qiáng)的邏輯覆蓋標(biāo)準(zhǔn),它是指設(shè)計(jì)足夠的測(cè)試數(shù)據(jù),使得每個(gè)判定表達(dá)式中條件的各種可能的值的組合都至少出現(xiàn)一次。下面的4組測(cè)試數(shù)據(jù)可以滿(mǎn)足條件組合覆蓋標(biāo)準(zhǔn):(1)A=2,B=0,X=2(針對(duì)(1)、(5)兩種組合,執(zhí)行路徑①②④)(2)A=2,B=1,X=1(針對(duì)(2)、(6)兩種組合,執(zhí)行路徑①③④)(3)A=1,B=0,X=2(針對(duì)(3)、(7)兩種組合,執(zhí)行路徑①③④)(4)A=1,B=1,X=1(針對(duì)(4)、(
20、8)兩種組合,執(zhí)行路徑①③⑤),25,8.3 測(cè)試用例設(shè)計(jì),6.路徑覆蓋路徑覆蓋的含義是指選取足夠的測(cè)試數(shù)據(jù),使程序的每條可能路徑都至少執(zhí)行一次。選擇以下測(cè)試數(shù)據(jù),覆蓋程序中的4條路徑:(1)A=2,B=0,X=2(執(zhí)行路徑①②④,覆蓋條件組合①和⑤)(2)A=2,B=1,X=1(執(zhí)行路徑①③④,覆蓋條件組合②和⑥)(3)A=1,B=1,X=1(執(zhí)行路徑①③⑤,覆蓋條件組合④和⑧)(4)A=3,B=0,X=1(執(zhí)行路徑①②⑤
21、,覆蓋條件組合①和⑧),26,8.3 測(cè)試用例設(shè)計(jì),8.3.3綜合測(cè)試策略前面介紹的軟件測(cè)試方法,各有所長(zhǎng)。每種方法都能設(shè)計(jì)出一組有用的測(cè)試用例,用這組用例可能容易發(fā)現(xiàn)某種類(lèi)型的錯(cuò)誤,但可能不易發(fā)現(xiàn)另一種類(lèi)型的錯(cuò)誤。因此,對(duì)軟件系統(tǒng)進(jìn)行實(shí)際測(cè)試時(shí),應(yīng)該聯(lián)合使用各種測(cè)試方法,形成綜合策略。通常是先用黑盒法設(shè)計(jì)基本的測(cè)試用例,再用白盒法補(bǔ)充一些必要的測(cè)試用例。具體方法如下:(1)在任何情況下都應(yīng)該使用邊界值分析方法。經(jīng)驗(yàn)表明,用這種方
22、法設(shè)計(jì)出的測(cè)試用例暴露程序錯(cuò)誤的能力最強(qiáng)。注意,應(yīng)該既包括輸入數(shù)據(jù)的邊界情況又包括輸出數(shù)據(jù)的邊界情況。(2)用等價(jià)類(lèi)劃分法補(bǔ)充測(cè)試用例。(3)用錯(cuò)誤推測(cè)法補(bǔ)充測(cè)試用例。(4)對(duì)照程序邏輯,檢查已經(jīng)設(shè)計(jì)出的測(cè)試用例的邏輯覆蓋程度,如果沒(méi)有達(dá)到所要求的覆蓋標(biāo)準(zhǔn),則應(yīng)當(dāng)再補(bǔ)充一些測(cè)試用例。(5)如果程序的功能說(shuō)明中含有輸入條件的組合情況,則一開(kāi)始就可選用因果圖法。,27,8.3 測(cè)試用例設(shè)計(jì),8.3.4 測(cè)試實(shí)例分析 下面給出一個(gè)
23、三角形分類(lèi)程序的測(cè)試方案的設(shè)計(jì)。程序的功能是,讀入三個(gè)整數(shù)值代表三角形的三條邊的長(zhǎng)度,程序判斷這三個(gè)值能否構(gòu)成三角形,如果能夠,則輸出三角形是等邊、等腰或任意三角形的分類(lèi)信息。 綜合使用邊界值分析、等價(jià)類(lèi)劃分和錯(cuò)誤推測(cè)等技術(shù)為此程序設(shè)計(jì)測(cè)試用例。,28,8.4 軟件測(cè)試步驟,8.4.1 單元測(cè)試 單元測(cè)試也稱(chēng)為模塊測(cè)試,是對(duì)軟件最小單元的測(cè)試,也是對(duì)程序模塊進(jìn)行正確性檢驗(yàn)的測(cè)試,其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò)。
24、 1.單元測(cè)試的步驟“測(cè)試環(huán)境”,如圖8.6所示 。,圖8.6 單元測(cè)試的測(cè)試環(huán)境,29,8.4 軟件測(cè)試步驟,2.單元測(cè)試的內(nèi)容單元測(cè)試主要從以下5個(gè)方面進(jìn)行:(1)模塊接口測(cè)試 (2)局部數(shù)據(jù)結(jié)構(gòu)測(cè)試(3)重要路徑測(cè)試(4)錯(cuò)誤處理測(cè)試(5)邊界測(cè)試,30,8.4 軟件測(cè)試步驟,8.4.2 組裝測(cè)試 組裝測(cè)試也稱(chēng)集成測(cè)試或聯(lián)調(diào),是在單元測(cè)試的基礎(chǔ)上,將所有模塊按照軟件設(shè)計(jì)要求組裝成系統(tǒng)并進(jìn)行測(cè)試的過(guò)程。
25、組裝測(cè)試主要通過(guò)檢查模塊間的結(jié)構(gòu)和通信發(fā)現(xiàn)軟件設(shè)計(jì)階段產(chǎn)生的錯(cuò)誤,通常采用黑盒測(cè)試方法。在組裝測(cè)試過(guò)程中,需要考慮如下幾個(gè)問(wèn)題: 在把各個(gè)模塊連接起來(lái)的時(shí)候,穿越模塊接口的數(shù)據(jù)是否會(huì)丟失。 一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響。 各個(gè)子功能組合起來(lái),能否達(dá)到預(yù)期要求的父功能。 全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問(wèn)題。 單個(gè)模塊的誤差累積起來(lái),是否會(huì)放大,以至于達(dá)到不能接受的程度。 單個(gè)模塊
26、的錯(cuò)誤是否會(huì)導(dǎo)致數(shù)據(jù)庫(kù)錯(cuò)誤。,31,8.4 軟件測(cè)試步驟,通常有兩種模塊組裝方式。 1.非漸增式組裝方式 2.漸增式組裝方式 (1)自頂向下的增殖組裝方式 自頂向下的組裝過(guò)程如圖8.7。,圖8.7 自頂向下的組裝過(guò)程,32,8.4 軟件測(cè)試步驟,(2)自底向上的增殖組裝方式自底向上的組裝過(guò)程如圖8.8。,圖8.8 自底向上的組裝過(guò)程,33,8.4 軟件測(cè)試步驟,(3)混合增殖式測(cè)試通常是把以上兩種
27、方式結(jié)合起來(lái)進(jìn)行組裝和測(cè)試。 ①衍變和自頂向下的增殖測(cè)試:它的基本思想是強(qiáng)化對(duì)輸入/輸出模塊和引入新算法模塊的測(cè)試,并自底向上組裝成為功能相當(dāng)完整且相對(duì)獨(dú)立的子系統(tǒng),然后由父模塊開(kāi)始自頂向下進(jìn)行增殖測(cè)試。 ②自底向上、自頂向下的增殖測(cè)試:它首先對(duì)含讀操作的子系統(tǒng)做自底向上的組裝和測(cè)試,然后對(duì)含寫(xiě)操作的子系統(tǒng)做自頂向下的組裝與測(cè)試。 ③回歸測(cè)試:這種方式采取自頂向下的方式測(cè)試被修改的模塊及其子模塊,然后將這一部分視
28、為子系統(tǒng),再自底向上測(cè)試,以檢查該子系統(tǒng)與其上級(jí)模塊的接口是否適配。,34,8.4 軟件測(cè)試步驟,8.4.3 確認(rèn)測(cè)試 確認(rèn)測(cè)試也稱(chēng)有效性測(cè)試,目的是驗(yàn)證軟件的有效性,即驗(yàn)證軟件的功能、性能及其他特性是否與用戶(hù)的要求一致。軟件需求規(guī)格說(shuō)明書(shū)明確規(guī)定了軟件的功能和性能要求,是確認(rèn)測(cè)試的基礎(chǔ)。 1.有效性測(cè)試 2.軟件配置審查 3.α測(cè)試和β測(cè)試 4.驗(yàn)收測(cè)試 5.確認(rèn)測(cè)試結(jié)果,35,8.4 軟件測(cè)試步驟
29、,8.4.4 系統(tǒng)測(cè)試 所謂系統(tǒng)測(cè)試就是將通過(guò)驗(yàn)收測(cè)試的軟件作為基于整個(gè)計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外部設(shè)備、網(wǎng)絡(luò)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際使用環(huán)境下運(yùn)行,測(cè)試其能否協(xié)調(diào)工作。系統(tǒng)測(cè)試的目的是充分運(yùn)行系統(tǒng),驗(yàn)證系統(tǒng)各部件是否都能正常工作并完成所賦予的任務(wù)。系統(tǒng)測(cè)試的測(cè)試用例應(yīng)根據(jù)需求說(shuō)明書(shū)來(lái)設(shè)計(jì)。常見(jiàn)的系統(tǒng)測(cè)試主要有以下幾方面。(1)恢復(fù)測(cè)試(2)安全測(cè)試(3)強(qiáng)度測(cè)試(4)性
30、能測(cè)試,36,8.5 軟件測(cè)試工具簡(jiǎn)介,1.靜態(tài)分析程序 2.動(dòng)態(tài)分析程序 3.?dāng)嘌蕴幚沓绦?4.測(cè)試數(shù)據(jù)生成程序 5.文件比較程序 6.性能測(cè)試工具,37,8.6 調(diào)試,8.6.1調(diào)試的目的和步驟 軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤,而調(diào)試則是在進(jìn)行了成功的測(cè)試后才開(kāi)始的工作。調(diào)試的目的是根據(jù)測(cè)試時(shí)發(fā)現(xiàn)的錯(cuò)誤,找出錯(cuò)誤的原因和具體位置,并改正錯(cuò)誤,因此,調(diào)試也稱(chēng)為糾錯(cuò)或排錯(cuò)。 8.6.2調(diào)試技術(shù)1.強(qiáng)行
31、排錯(cuò)(1)在程序中插入打印語(yǔ)句(2)運(yùn)行部分程序(3)借助于調(diào)試工具,38,8.6 調(diào)試,2.回溯法 3.歸納法 4.演繹法 5.對(duì)分法8.6.3調(diào)試原則1.查錯(cuò)原則(1)注重用頭腦去分析思考與錯(cuò)誤征兆有關(guān)的信息。(2)避免用試探法,最多只能把它當(dāng)做最后手段。(3)只能把調(diào)試工具當(dāng)做輔助手段來(lái)使用。,39,8.6 調(diào)試,2.回溯法 3.歸納法 4.演繹法 5.對(duì)分法8.6.3調(diào)試原則
32、1.查錯(cuò)原則(1)注重用頭腦去分析思考與錯(cuò)誤征兆有關(guān)的信息。(2)避免用試探法,最多只能把它當(dāng)做最后手段。(3)只能把調(diào)試工具當(dāng)做輔助手段來(lái)使用。(4)避開(kāi)死胡同。,40,8.6 調(diào)試,2.排錯(cuò)原則(1)注意錯(cuò)誤群集現(xiàn)象。(2)注意修改的副作用。(3)修改錯(cuò)誤的一個(gè)常見(jiàn)失誤是只修改了這個(gè)錯(cuò)誤的征兆或表現(xiàn),而沒(méi)有修改錯(cuò)誤本身。如果提出的修改不能解釋與這個(gè)錯(cuò)誤有關(guān)的全部現(xiàn)象,那就表明只修改了錯(cuò)誤的一部分。(4)修改錯(cuò)誤的過(guò)
33、程將迫使人們暫時(shí)回到程序設(shè)計(jì)階段。(5)要修改源代碼,而不要改變目標(biāo)代碼。,41,8.7 面向?qū)ο筌浖y(cè)試概述,面向?qū)ο筌浖臏y(cè)試可分為四個(gè)層次進(jìn)行:1.算法層:測(cè)試類(lèi)的每個(gè)服務(wù)。2.類(lèi)層:測(cè)試封裝在同一個(gè)類(lèi)中的所有服務(wù)與屬性之間的相互作用。3.模板層:測(cè)試協(xié)同工作的類(lèi)之間的相互作用。4.系統(tǒng)層:把各個(gè)子系統(tǒng)組裝成完整的面向?qū)ο筌浖到y(tǒng),組裝的同時(shí)進(jìn)行測(cè)試。,42,8.7 面向?qū)ο筌浖y(cè)試概述,8.7.1 面向?qū)ο蟮臏y(cè)試模型
34、面向?qū)ο蟮臏y(cè)試模型是一種在整個(gè)軟件開(kāi)發(fā)過(guò)程中不斷測(cè)試的測(cè)試模型,使開(kāi)發(fā)階段的測(cè)試與編碼完成后的單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試成為一個(gè)整體。測(cè)試模型如下圖所示。,43,8.7 面向?qū)ο筌浖y(cè)試概述,8.7.2 面向?qū)ο蟮臏y(cè)試策略面向?qū)ο筌浖y(cè)試和傳統(tǒng)軟件測(cè)試一樣,也是從單元測(cè)試開(kāi)始,然后經(jīng)集成測(cè)試,最后進(jìn)入確認(rèn)測(cè)試和系統(tǒng)測(cè)試。但是在具體做法上,面向?qū)ο筌浖y(cè)試和傳統(tǒng)測(cè)試策略有許多不同。1.面向?qū)ο蟮膯卧獪y(cè)試2.面向?qū)ο蟮募?/p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程(第10版)讀書(shū)筆記——軟件工程導(dǎo)論
- 軟件工程 ( 第3次 ).doc
- 2016年軟件工程 ( 第3次 )作業(yè)
- 軟件工程第3章習(xí)題解答
- 軟件工程第4章
- 軟件工程第在線(xiàn)作業(yè)
- 軟件工程第3階段測(cè)試題
- 重大2015年軟件工程 ( 第3次作業(yè) )
- 福建農(nóng)林大學(xué)軟件工程軟件工程期末復(fù)習(xí)無(wú)答案版
- 2018年6月軟件工程 ( 第3次 )作業(yè)
- 第1章軟件工程與軟件測(cè)試
- 軟件工程 ( 第2次 ).doc
- 軟件工程_第6章編碼-
- 軟件工程 ( 第1次 ).doc
- 軟件工程
- 軟件工程文檔模板(完整規(guī)范版)
- a3軟件工程簡(jiǎn)答題
- a3軟件工程簡(jiǎn)答題
- 2016年軟件工程(第1次)作業(yè)
- 軟件工程基礎(chǔ)
評(píng)論
0/150
提交評(píng)論