軟件工程與開發(fā)技術(shù)(西電第二版)第14章面向?qū)ο鬁y(cè)試基礎(chǔ)

上傳人:xiao****017 文檔編號(hào):22141183 上傳時(shí)間:2021-05-21 格式:PPT 頁(yè)數(shù):30 大?。?05KB
收藏 版權(quán)申訴 舉報(bào) 下載
軟件工程與開發(fā)技術(shù)(西電第二版)第14章面向?qū)ο鬁y(cè)試基礎(chǔ)_第1頁(yè)
第1頁(yè) / 共30頁(yè)
軟件工程與開發(fā)技術(shù)(西電第二版)第14章面向?qū)ο鬁y(cè)試基礎(chǔ)_第2頁(yè)
第2頁(yè) / 共30頁(yè)
軟件工程與開發(fā)技術(shù)(西電第二版)第14章面向?qū)ο鬁y(cè)試基礎(chǔ)_第3頁(yè)
第3頁(yè) / 共30頁(yè)

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《軟件工程與開發(fā)技術(shù)(西電第二版)第14章面向?qū)ο鬁y(cè)試基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件工程與開發(fā)技術(shù)(西電第二版)第14章面向?qū)ο鬁y(cè)試基礎(chǔ)(30頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 第14章 面向?qū)ο鬁y(cè)試基礎(chǔ) 14.1 面向?qū)ο蟮膯卧獪y(cè)試 14.2 面向?qū)ο蟮募蓽y(cè)試 14.3 面向?qū)ο蟮拇_認(rèn)測(cè)試與系統(tǒng)測(cè)試 14.4 設(shè)計(jì)測(cè)試用例 14.5小結(jié) 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 14.1 面向?qū)ο蟮膯卧獪y(cè)試在面向?qū)ο蟮能浖_發(fā)中,“封裝”導(dǎo)致了類和對(duì)象的定義特點(diǎn),這意味著類和類的實(shí)例(對(duì)象)包裝了屬性(數(shù)據(jù))和處理這些數(shù)據(jù)的操作(也稱為方法或服務(wù))。軟件的核心是“對(duì)象”,不像傳統(tǒng)軟件開發(fā)中的“單元”(或者說單元的概念改變了)。也就是說,封裝起來的類和對(duì)象是最小的可測(cè)試單元。一個(gè)類可以包含一組不同的操作,而一個(gè)特定的操作

2、也可能定義在一組不同的類中。因此,面向?qū)ο蟮能浖卧獪y(cè)試與傳統(tǒng)測(cè)試方法不一樣,它的含義發(fā)生了很大變化。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 面向?qū)ο筌浖膯卧獪y(cè)試不是獨(dú)立地測(cè)試單個(gè)操作,而是把所有操作都看成類的一部分,全面地測(cè)試類和對(duì)象所封裝的屬性和操縱這些屬性的操作整體。具體地說,在面向?qū)ο蟮膯卧獪y(cè)試中不僅要發(fā)現(xiàn)類的所有操作中存在的問題,還要考查一個(gè)類與其他的類協(xié)同工作時(shí)可能出現(xiàn)的錯(cuò)誤?,F(xiàn)以實(shí)例說明:在一個(gè)類層次中,操作A在超類中定義并被一組子類繼承,每個(gè)子類都可使用操作A,但是A要調(diào)用子類中定義的操作并處理子類的私有屬性。由于在不同的子類中使用操作A的環(huán)境有所不同,因此有必要在每個(gè)

3、子類的語境中測(cè)試操作A。這就是說,當(dāng)測(cè)試面向?qū)ο筌浖r(shí),傳統(tǒng)的單元測(cè)試方法是不完備的,我們不能再獨(dú)立地對(duì)操作A進(jìn)行測(cè) 試。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 14.2 面向?qū)ο蟮募蓽y(cè)試 1基于線程的測(cè)試(Thread_based Testing)基于線程的測(cè)試把響應(yīng)系統(tǒng)的一個(gè)輸入或一個(gè)事件所需要的一組類集成起來進(jìn)行測(cè)試。應(yīng)當(dāng)分別集成并測(cè)試每個(gè)線程,同時(shí)為了避免產(chǎn)生副作用再進(jìn)行回歸測(cè)試。該測(cè)試需要基于系統(tǒng)的動(dòng)態(tài)模型。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 2基于使用的測(cè)試(Use_based Testing)基于使用的測(cè)試首先測(cè)試幾乎不使用服務(wù)器類的那些類(稱為獨(dú)立類);接著測(cè)

4、試使用獨(dú)立類的最下層的類(稱為依賴類);然后,對(duì)根據(jù)依賴類的使用關(guān)系,從下到上一個(gè)層次一個(gè)層次地持續(xù)進(jìn)行測(cè)試,直至把整個(gè)軟件系統(tǒng)測(cè)試完為止。除了上述兩種測(cè)試方法,還有一種集群測(cè)試法,是面向?qū)ο筌浖蓽y(cè)試的一個(gè)步驟。為了檢查一群相互協(xié)作的類,用精心設(shè)計(jì)的測(cè)試用例,力圖發(fā)現(xiàn)協(xié)作錯(cuò)誤,即集群測(cè)試。通過研究對(duì)象模型可以確定協(xié)作類。為減少測(cè)試工作的工作量,在進(jìn)行集成測(cè)試時(shí),可參考類關(guān)系圖或?qū)嶓w關(guān)系圖,確定不需要被重復(fù)測(cè)試的部分,從而優(yōu)化測(cè) 試用例,使測(cè)試能夠達(dá)到一定的標(biāo)準(zhǔn)。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 14.3 面向?qū)ο蟮拇_認(rèn)測(cè)試與系統(tǒng)測(cè)試通過對(duì)軟件的單元測(cè)試和集成測(cè)試,僅能確認(rèn)軟件開

5、發(fā)的功能是正確的,不能確認(rèn)在實(shí)際運(yùn)行時(shí),它是否滿足用戶要求,是否大量存在與實(shí)際使用條件下的各種應(yīng)用相矛盾的錯(cuò)誤。為此在完成上述測(cè)試活動(dòng)后,還必須經(jīng)過規(guī)范的確認(rèn)測(cè)試和系統(tǒng)測(cè)試。面向?qū)ο筌浖拇_認(rèn)測(cè)試或系統(tǒng)測(cè)試與傳統(tǒng)的確認(rèn)測(cè)試一樣,通過設(shè)計(jì)測(cè)試用例,主要檢查用戶界面和用戶可識(shí)別的輸出,不再考慮類之間相互連接的細(xì)節(jié)。測(cè)試人員應(yīng)該認(rèn)真研究動(dòng)態(tài)模型和描述系統(tǒng)行為的腳本,為系統(tǒng)的輸入信息 設(shè)計(jì)出錯(cuò)處理的通路,模擬錯(cuò)誤的數(shù)據(jù)和軟件界面可能發(fā)生的錯(cuò)誤,設(shè)計(jì)出合理的測(cè)試用例。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 14.4 設(shè)計(jì)測(cè)試用例14.4.1 測(cè)試用例概述類似于用例(Use Case)的定義,測(cè)試用

6、例(Test Case)是為實(shí)現(xiàn)某個(gè)特殊目標(biāo)(驗(yàn)證或者找錯(cuò))而執(zhí)行系統(tǒng)的過程。它包括精心設(shè)計(jì)的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測(cè)試某個(gè)程序功能或者路徑是否滿足特定需求。測(cè)試用例包括對(duì)特定的軟件產(chǎn)品進(jìn)行測(cè)試的任務(wù)描述,體現(xiàn)測(cè)試方案、方法、技術(shù)和策略,其內(nèi)容包括測(cè)試目標(biāo)、測(cè)試環(huán)境、輸入數(shù)據(jù)、測(cè)試步驟、預(yù)期結(jié)果、測(cè)試腳本等, 并形成文檔。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 測(cè)試用例是針對(duì)軟件產(chǎn)品的功能、業(yè)務(wù)規(guī)則和業(yè)務(wù)處理所設(shè)計(jì)的測(cè)試方案。對(duì)軟件的每個(gè)特定功能或運(yùn)行操作路徑的測(cè)試構(gòu)成了一個(gè)個(gè)測(cè)試用例。不同類別的軟件,測(cè)試用例的策略、方法和側(cè)重點(diǎn)都是不同的。例如,企業(yè)信息管理類軟件,其

7、需求不確定或者變化較為頻繁,通常的策略是把測(cè)試數(shù)據(jù)和測(cè)試腳本從測(cè)試用例中劃分出來,以供重用。目前,面向?qū)ο筌浖臏y(cè)試用例的設(shè)計(jì)方法還處于研究、發(fā)展階段。1993年,Berard提出了指導(dǎo)面向?qū)ο蟮能浖y(cè)試用例設(shè)計(jì)的方法,要點(diǎn)如下: 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) (1) 每一個(gè)測(cè)試用例都要有一個(gè)唯一的標(biāo)識(shí),并與被測(cè)試的一個(gè)或幾個(gè)類相關(guān)聯(lián)起來。(2) 每個(gè)測(cè)試用例都要陳述測(cè)試目的。(3) 對(duì)每個(gè)測(cè)試用例要有相應(yīng)的測(cè)試步驟,包括被測(cè)對(duì)象的特定狀態(tài)、所使用的消息和操作、可能產(chǎn)生的錯(cuò)誤及測(cè)試需要的外部環(huán)境。(4) 與傳統(tǒng)軟件測(cè)試(測(cè)試用例的設(shè)計(jì)由軟件的輸入處理輸出或單個(gè)模塊的算法細(xì)節(jié)驅(qū)動(dòng))

8、不同,面向?qū)ο鬁y(cè)試關(guān)注于設(shè)計(jì)適當(dāng)?shù)牟僮餍蛄幸詸z查類的狀態(tài)。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 測(cè)試用例分為基于黑盒的測(cè)試用例和基于白盒的測(cè)試用例。前者也叫做基于系統(tǒng)外部需求的測(cè)試用例,主要根據(jù)需求分析階段的用例規(guī)格描述和其他需求進(jìn)行設(shè)計(jì),只觀察系統(tǒng)的外觀表現(xiàn)是否滿足預(yù)期要求;后者又稱為基于系統(tǒng)內(nèi)部結(jié)構(gòu)的測(cè)試用例,主要依據(jù)分析設(shè)計(jì)階段的邏輯和物理模型,如類圖和順序圖以及代碼設(shè)計(jì)測(cè)試用例,旨在測(cè)試軟件功能執(zhí)行過程中對(duì)象的交互過程,包括消息、響應(yīng)以及各個(gè)程序路徑等。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 14.4.2 面向?qū)ο蟾拍顚?duì)測(cè)試用例設(shè)計(jì)的影響封裝性和繼承性是類的重要特性,這為

9、面向?qū)ο蟮能浖_發(fā)帶來很多好處,同時(shí)它又為面向?qū)ο蟮能浖y(cè)試帶來負(fù)面影響。類的屬性和操作是被封裝的,而測(cè)試需要了解對(duì)象的詳細(xì)狀態(tài)。同時(shí),當(dāng)改變數(shù)據(jù)成員的結(jié)構(gòu)時(shí),要測(cè)試是否影響了類的對(duì)外接口,是否導(dǎo)致相應(yīng)的外界必須改動(dòng)。例如,強(qiáng)制的類型轉(zhuǎn)換會(huì)破壞數(shù)據(jù)的封裝性。請(qǐng)看下面的這段程序: 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) class Hd int a=1; char *h=“Hd”;class Vb public:int b=2; char *v=Vb;Hd p;Vb *q=(Vb *)這樣,p的私有數(shù)據(jù)成員a可以通過q被隨意訪問,破壞了類Vb的封裝性。 第 14章 面 向 對(duì) 象 測(cè) 試 基

10、 礎(chǔ) 此外,繼承不會(huì)減少對(duì)子類的測(cè)試,相反,會(huì)使測(cè)試過程更加復(fù)雜化。因此,繼承也給測(cè)試用例的設(shè)計(jì)帶來負(fù)面影響。當(dāng)父類與子類的環(huán)境不同時(shí),父類的測(cè)試用例對(duì)子類沒有什么使用價(jià)值,必須為子類設(shè)計(jì)新的測(cè)試用例。在設(shè)計(jì)面向?qū)ο蟮臏y(cè)試用例時(shí)應(yīng)注意以下三點(diǎn):(1) 繼承的成員函數(shù)需要測(cè)試。對(duì)于在父類中已經(jīng)測(cè)試過的成員函數(shù),根據(jù)具體情況仍需在子類中重新測(cè)試。一般在下述兩種情況下要對(duì)成員函數(shù)重新進(jìn)行測(cè)試: 繼承的成員函數(shù)在子類中有所改動(dòng)。 成員函數(shù)調(diào)用了改動(dòng)過的成員函數(shù)。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) (2) 子類的測(cè)試用例可以參照父類。例如,有兩個(gè)不同的成員函數(shù)的定義如下:father:B()中

11、定義為if (value0) message(less);else if (value=0) message(equal);else message(more);son:B()中定義為if (value 賬戶余額 在步驟 2 處重新加入基本流 TC y 場(chǎng)景4 步驟 2 - 提款金額 賬戶余額 不執(zhí)行備選流 3,執(zhí)行基本流 TC z 場(chǎng)景4 步驟 2 - 提款金額 = 賬戶余額 不執(zhí)行備選流 3,執(zhí)行基本流 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 2基于白盒技術(shù)的單元測(cè)試的測(cè)試用例設(shè)計(jì)從理論上來講,白盒測(cè)試應(yīng)該測(cè)試程序每一條可能的路徑。在所有簡(jiǎn)單的單元內(nèi)實(shí)現(xiàn)這樣的目標(biāo)是不切實(shí)際的。作為最基

12、本的測(cè)試,應(yīng)將每個(gè)決策(Decision)到?jīng)Q策路徑(DD 路徑)測(cè)試至少一次,這樣可確保將所有語句至少執(zhí)行一次。決策通常是指 if 語句,而 DD 路徑是兩個(gè)決策之間的路徑。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 要達(dá)到這種程度的測(cè)試覆蓋,測(cè)試用例應(yīng)確保:(1) 每個(gè)if語言的布爾表達(dá)式的求值結(jié)果為true和false。例如,表達(dá)式(a4)的求值結(jié)果為true/false 的四種組合,即滿足條件覆蓋。(2) 每一個(gè)循環(huán)至少要執(zhí)行零次、一次和一次以上。 (3) 可使用代碼覆蓋工具來確定白盒測(cè)試未測(cè)試到的代碼,另外在進(jìn)行白盒測(cè)試的同時(shí)應(yīng)進(jìn)行可靠性測(cè)試。例如,假設(shè)對(duì)類SetofPrime中的

13、isPrime函數(shù)執(zhí)行結(jié)構(gòu)測(cè)試。該函數(shù)檢查集合是否包含了某個(gè)指定的整數(shù)。isPrime函數(shù)的代碼和相應(yīng)的流程圖如圖14.2所示。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 圖14.2 基于白盒技術(shù)的測(cè)試用例設(shè)計(jì) 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 理論上,測(cè)試用例應(yīng)遍歷代碼內(nèi)路徑的所有組合情況。在 isPrime函數(shù)的for循環(huán)中存在兩個(gè)可選擇的路徑。測(cè)試用例可以一次、多次遍歷該循環(huán),或是根本就不遍歷。如果測(cè)試用例根本就沒有遍歷循環(huán),則在代碼中只能找到一條路徑。如果遍歷一次,將有三條路徑;如果遍歷兩次,將存在六條路徑。如此類推。因此路徑組合總數(shù)根本無法完全測(cè)試,必須選擇所有這些路徑的

14、子集。本例中,可以采用三個(gè)測(cè)試用例來執(zhí)行所有的語句,測(cè)試數(shù)據(jù)m分別為2、3、4,這和基于黑盒的等價(jià)類劃分方法得到的結(jié)果是一致的。 第 14章 面 向 對(duì) 象 測(cè) 試 基 礎(chǔ) 14.5 小 結(jié)面向?qū)ο鬁y(cè)試和傳統(tǒng)測(cè)試方法有很多類似的地方,主要區(qū)別在于面向?qū)ο鬁y(cè)試中的單元測(cè)試是以類作為基本單元的,必須針對(duì)類單元設(shè)計(jì)單元測(cè)試用例。除了類單元測(cè)試之外,還有類協(xié)作測(cè)試。面向?qū)ο蠓椒ㄔ谲浖y(cè)試中的應(yīng)用之一就是測(cè)試用例或測(cè)試案例(Test Case)概念的提出,這也是用例思想在軟件測(cè)試中的應(yīng)用即通過設(shè)計(jì)合適的測(cè)試案例來發(fā)現(xiàn)軟件設(shè)計(jì)中存在的問題。此時(shí)可根據(jù)用例的使用或者實(shí)現(xiàn)過程來設(shè)計(jì)測(cè)試用例,前者可以參照用例規(guī)格說明,后者可以根據(jù)參與實(shí)現(xiàn)的類之間的關(guān)系來設(shè)計(jì)用例,以便更好地發(fā)現(xiàn)類協(xié)作之間的問題。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!