版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第14講 面向?qū)ο筌浖y(cè)試1結(jié)構(gòu)化測(cè)試自底向上的測(cè)試策略,從“小型測(cè)試”開(kāi)始,逐步走向“大型測(cè)試”從單元測(cè)試開(kāi)始,然后逐步進(jìn)入集成測(cè)試,最后是有效性和系統(tǒng)測(cè)試在傳統(tǒng)應(yīng)用中,單元測(cè)試集中在最小的可編譯程序單位子程序(如,模塊、子例程、進(jìn)程)一旦這些單元均被獨(dú)立測(cè)試后,它被集成在程序結(jié)構(gòu)中這時(shí)要進(jìn)行一系列的回歸測(cè)試以發(fā)現(xiàn)由于模塊的接口所帶來(lái)的錯(cuò)誤和新單元加入所導(dǎo)致的副作用系統(tǒng)被作為一個(gè)整體測(cè)試以保證發(fā)現(xiàn)在需求中的錯(cuò)誤2面向?qū)ο筌浖攸c(diǎn)面向?qū)ο蟪绦蚪Y(jié)構(gòu)不再是傳統(tǒng)的功能模塊結(jié)構(gòu)作為一個(gè)整體,原有集成測(cè)試所要求的逐步將開(kāi)發(fā)的模塊搭建在一起進(jìn)行測(cè)試的方法已成為不可能面向?qū)ο筌浖仐壛藗鹘y(tǒng)的開(kāi)發(fā)模式,對(duì)每個(gè)
2、開(kāi)發(fā)階段都有不同以往的要求和結(jié)果,已經(jīng)不可能用功能細(xì)化的觀點(diǎn)來(lái)檢測(cè)面向?qū)ο蠓治龊驮O(shè)計(jì)的結(jié)果傳統(tǒng)的測(cè)試模型對(duì)面向?qū)ο筌浖呀?jīng)不再適用3面向?qū)ο鬁y(cè)試模型面向?qū)ο蟮拈_(kāi)發(fā)模型突破了傳統(tǒng)的瀑布模型,將開(kāi)發(fā)分為面向?qū)ο蠓治觯∣OA),面向?qū)ο笤O(shè)計(jì)(OOD),和面向?qū)ο缶幊蹋∣OP)三個(gè)階段針對(duì)這種開(kāi)發(fā)模型,結(jié)合傳統(tǒng)的測(cè)試步驟的劃分,把面向?qū)ο蟮能浖y(cè)試分為:面向?qū)ο蠓治龅臏y(cè)試面向?qū)ο笤O(shè)計(jì)的測(cè)試面向?qū)ο缶幊痰臏y(cè)試面向?qū)ο髥卧獪y(cè)試面向?qū)ο蠹蓽y(cè)試面向?qū)ο笙到y(tǒng)測(cè)試面向?qū)ο蟮幕貧w測(cè)試4面向?qū)ο蠓治龅臏y(cè)試 面向?qū)ο蠓治?OOA):E-R圖和語(yǔ)義網(wǎng)絡(luò)模型信息造型中的概念,與面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的重要概念結(jié)合在一起而
3、形成的分析方法最后通常是得到問(wèn)題空間的圖表的形式描述5面向?qū)ο蠓治龅臏y(cè)試(續(xù))OOA直接映射問(wèn)題空間,全面的將問(wèn)題空間中實(shí)現(xiàn)功能的現(xiàn)實(shí)抽象化將問(wèn)題空間中的實(shí)例抽象為對(duì)象,用對(duì)象的結(jié)構(gòu)反映問(wèn)題空間的復(fù)雜實(shí)例和復(fù)雜關(guān)系,用屬性和操作表示實(shí)例的特性和行為對(duì)一個(gè)系統(tǒng)而言,與傳統(tǒng)分析方法產(chǎn)生的結(jié)果相反,行為是相對(duì)穩(wěn)定的,結(jié)構(gòu)是相對(duì)不穩(wěn)定的,這更充分反映了現(xiàn)實(shí)的特性O(shè)OA的結(jié)果是為后面階段類的選定和實(shí)現(xiàn),類層次結(jié)構(gòu)的組織和實(shí)現(xiàn)提供平臺(tái)。因此,對(duì)OOA的測(cè)試,應(yīng)從以下方面考慮:對(duì)認(rèn)定的對(duì)象的測(cè)試對(duì)認(rèn)定的結(jié)構(gòu)的測(cè)試對(duì)認(rèn)定的主題的測(cè)試對(duì)定義的屬性和實(shí)例關(guān)聯(lián)的測(cè)試對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試6面向?qū)ο笤O(shè)計(jì)的測(cè)試
4、面向?qū)ο笤O(shè)計(jì)(OOD)采用造型的觀點(diǎn),以O(shè)OA為基礎(chǔ)歸納出類,并建立類結(jié)構(gòu)或進(jìn)一步構(gòu)造成類庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題空間的抽象OOD是OOA的進(jìn)一步細(xì)化和更高層的抽象OOD確定類和類結(jié)構(gòu)不僅是滿足當(dāng)前需求分析的要求,更重要的是通過(guò)重新組合或加以適當(dāng)?shù)难a(bǔ)充,能方便實(shí)現(xiàn)功能的重用和擴(kuò)增,以不斷適應(yīng)用戶的要求對(duì)OOD的測(cè)試,應(yīng)從如下三方面考慮:對(duì)認(rèn)定的類的測(cè)試對(duì)構(gòu)造的類層次結(jié)構(gòu)的測(cè)試對(duì)類庫(kù)的支持的測(cè)試7面向?qū)ο缶幊痰臏y(cè)試 典型的面向?qū)ο蟪绦蚓哂欣^承、封裝和多態(tài)的新特性,這使得傳統(tǒng)的測(cè)試策略必須有所改變封裝是對(duì)數(shù)據(jù)的隱藏,外界只能通過(guò)被提供的操作來(lái)訪問(wèn)或修改數(shù)據(jù),這樣降低了數(shù)據(jù)被任意修改和讀寫的可能性,降
5、低了傳統(tǒng)程序中對(duì)數(shù)據(jù)非法操作的測(cè)試?yán)^承是面向?qū)ο蟪绦虻闹匾攸c(diǎn),繼承使得代碼的重用率提高,同時(shí)也使錯(cuò)誤傳播的概率提高多態(tài)使得面向?qū)ο蟪绦驅(qū)ν獬尸F(xiàn)出強(qiáng)大的處理能力,但同時(shí)卻使得程序內(nèi)同一函數(shù)的行為復(fù)雜化,測(cè)試時(shí)必須考慮不同類型具體執(zhí)行的代碼和產(chǎn)生的行為8面向?qū)ο缶幊痰臏y(cè)試(續(xù))面向?qū)ο蟪绦蚴前压δ艿膶?shí)現(xiàn)分布在類中能正確實(shí)現(xiàn)功能的類,通過(guò)消息傳遞來(lái)協(xié)同實(shí)現(xiàn)設(shè)計(jì)要求的功能因此,在面向?qū)ο缶幊?OOP)階段,忽略類功能實(shí)現(xiàn)的細(xì)則,將測(cè)試的目光集中在類功能的實(shí)現(xiàn)和相應(yīng)的面向?qū)ο蟪绦蝻L(fēng)格,主要體現(xiàn)為以下兩個(gè)方面數(shù)據(jù)成員是否滿足數(shù)據(jù)封裝的要求類是否實(shí)現(xiàn)了要求的功能9面向?qū)ο蟮膯卧獪y(cè)試類測(cè)試傳統(tǒng)的單元測(cè)試的對(duì)
6、象是軟件設(shè)計(jì)的最小單位模塊單元測(cè)試的依據(jù)是詳細(xì)設(shè)描述,單元測(cè)試應(yīng)對(duì)模塊內(nèi)所有重要的控制路徑設(shè)計(jì)測(cè)試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤單元測(cè)試多采用白盒測(cè)試技術(shù),系統(tǒng)內(nèi)多個(gè)模塊可并行地進(jìn)行測(cè)試當(dāng)考慮面向?qū)ο筌浖r(shí),單元的概念發(fā)生了變化封裝驅(qū)動(dòng)了類和對(duì)象的定義,這意味著每個(gè)類和類的實(shí)例(對(duì)象)包裝了屬性(數(shù)據(jù))和操縱這些數(shù)據(jù)的操作,而不是個(gè)體的模塊最小的可測(cè)試單位是封裝的類或?qū)ο?,類包含一組不同的操作,并且某特殊操作可能作為一組不同類的一部分存在一個(gè)對(duì)象有它自己的狀態(tài)和依賴于狀態(tài)的行為, 對(duì)象操作既與對(duì)象的狀態(tài)有關(guān), 但也可能改變對(duì)象的狀態(tài)。 單元測(cè)試的意義發(fā)生了較大變化,我們不再孤立地測(cè)試單個(gè)操作,而
7、是將操作作為類的一部分10面向?qū)ο蟮膯卧獪y(cè)試類測(cè)試(續(xù))類的測(cè)試按順序分為三個(gè)部分: 基于服務(wù)的測(cè)試: 測(cè)試類中的每一個(gè)方法; 基于狀態(tài)的測(cè)試: 考察類的實(shí)例在其生命周期各個(gè)狀態(tài)下的情況;基于響應(yīng)狀態(tài)的測(cè)試: 從類和對(duì)象的責(zé)任出發(fā),以外界向?qū)ο蟀l(fā)送特定的消息序列的方法來(lái)測(cè)試對(duì)象的各個(gè)響應(yīng)狀態(tài) 11面向?qū)ο蟮募蓽y(cè)試傳統(tǒng)的集成測(cè)試,有兩種方式通過(guò)集成完成的功能模塊進(jìn)行測(cè)自頂向下集成:自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,它從主控模塊開(kāi)始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或廣度優(yōu)先的策略,逐步把各個(gè)模塊集成在一起自底向上集成:自底向上測(cè)試是從“原子”模塊(即軟件結(jié)構(gòu)最低層的模塊)開(kāi)始組裝測(cè)
8、試12面向?qū)ο蟮募蓽y(cè)試(續(xù))因?yàn)槊嫦驅(qū)ο筌浖](méi)有層次的控制結(jié)構(gòu),傳統(tǒng)的自頂向下和自底向上集成策略就沒(méi)有意義此外,一次集成一個(gè)操作到類中(傳統(tǒng)的增量集成方法)經(jīng)常是不可能的,這是由于“構(gòu)成類的成分的直接和間接的交互”對(duì)OO軟件的集成測(cè)試有兩種不同策略基于線程的測(cè)試,集成對(duì)回應(yīng)系統(tǒng)的一個(gè)輸入或事件所需的一組類,每個(gè)線程被集成并分別測(cè)試,應(yīng)用回歸測(cè)試以保證沒(méi)有產(chǎn)生副作用基于使用的測(cè)試,通過(guò)測(cè)試那些幾乎不使用服務(wù)器類的類(稱為獨(dú)立類)而開(kāi)始構(gòu)造系統(tǒng),在獨(dú)立類測(cè)試完成后,下一層的使用獨(dú)立類的類,稱為依賴類,被測(cè)試。這個(gè)依賴類層次的測(cè)試序列一直持續(xù)到構(gòu)造完整個(gè)系統(tǒng)13面向?qū)ο蟮南到y(tǒng)測(cè)試通過(guò)單元測(cè)試和集成
9、測(cè)試,僅能保證軟件開(kāi)發(fā)的功能得以實(shí)現(xiàn)。但不能確認(rèn)在實(shí)際運(yùn)行時(shí),它是否滿足用戶的需要。為此,對(duì)完成開(kāi)發(fā)的軟件必須經(jīng)過(guò)規(guī)范的系統(tǒng)測(cè)試系統(tǒng)測(cè)試應(yīng)盡量搭建與用戶實(shí)際使用環(huán)境相同的測(cè)試平臺(tái),應(yīng)該保證被測(cè)系統(tǒng)的完整性,對(duì)臨時(shí)沒(méi)有的系統(tǒng)設(shè)備部件,也應(yīng)有相應(yīng)的模擬手段系統(tǒng)測(cè)試時(shí),應(yīng)該參考OOA分析的結(jié)果,對(duì)應(yīng)描述的對(duì)象、屬性和各種服務(wù),檢測(cè)軟件是否能夠完全再現(xiàn)問(wèn)題空間系統(tǒng)測(cè)試不僅是檢測(cè)軟件的整體行為表現(xiàn),從另一個(gè)側(cè)面看,也是對(duì)軟件開(kāi)發(fā)設(shè)計(jì)的再確認(rèn)14面向?qū)ο蟮南到y(tǒng)測(cè)試(續(xù))類簇(是一組相互合作的類)類簇測(cè)試主要考察一組協(xié)同操作的類之間的相互作用, 是系統(tǒng)集成測(cè)試的一個(gè)子階段在單個(gè)類分別進(jìn)行測(cè)試后, 根據(jù)系統(tǒng)中
10、類的層次關(guān)系圖, 將相互有影響的類作為一個(gè)整體, 檢查各相關(guān)類之間消息連接的合法性、子類的繼承性與父類的一致性、動(dòng)態(tài)綁定執(zhí)行的正確性、類簇協(xié)同完成系統(tǒng)功能的正確性等測(cè)試用例可由多種方案結(jié)合生成如根據(jù)類的繼承關(guān)系圖來(lái)縱向檢查類, 根據(jù)對(duì)象之間方法的相互作用來(lái)橫向檢查類的關(guān)系圖15面向?qū)ο蟮南到y(tǒng)測(cè)試(續(xù))系統(tǒng)測(cè)試: 系統(tǒng)測(cè)試是對(duì)所有類和主程序構(gòu)成的整個(gè)系統(tǒng)進(jìn)行整體測(cè)試, 以驗(yàn)證軟件系統(tǒng)的正確性和性能指標(biāo)等滿足需求規(guī)格說(shuō)明書和任務(wù)書所指定的要求它與傳統(tǒng)的系統(tǒng)測(cè)試一樣, 包括功能測(cè)試、性能測(cè)試、余量測(cè)試等, 可套用傳統(tǒng)的系統(tǒng)測(cè)試方法測(cè)試用例可從對(duì)象行為模型和作為面向?qū)ο蠓治龅氖录鲌D中導(dǎo)出16面向?qū)ο?/p>
11、軟件回歸測(cè)試面向?qū)ο筌浖械幕貧w測(cè)試不再作為測(cè)試的一個(gè)獨(dú)立的階段, 而是以增量方式進(jìn)行的對(duì)象系統(tǒng)中的交互, 既發(fā)生在類內(nèi)的方法間又發(fā)生在多個(gè)類之間類A與類B的交互是通過(guò):(1) B的實(shí)例變量作為參數(shù)傳給類A 的某方法 這時(shí), 類B的改變必然導(dǎo)致對(duì)類A 的方法的回歸測(cè)試, 如果類A的方法又與其它方法發(fā)生交互, 這些方法及其類必須都進(jìn)行回歸測(cè)試(2) 類A的實(shí)例是類B表示的一部分 這時(shí),B的所有對(duì)類A中變量進(jìn)行引用的方法必須進(jìn)行回歸測(cè)試 在這兩種情況下, 測(cè)試依賴集可用來(lái)確定情況(1) 中所有與方法A的交互集; 對(duì)象的數(shù)據(jù)依賴集可用來(lái)確定情況(1)和(2)中所有必須重新測(cè)試的類和方法對(duì)面向?qū)ο筌浖?/p>
12、的修改主要有: 不修改對(duì)象屬性, 只對(duì)方法進(jìn)行修改該對(duì)象以及系統(tǒng)中所有與該對(duì)象發(fā)生交互的對(duì)象都要進(jìn)行完全新的測(cè)試。通常, 這種測(cè)試代價(jià)是很高的 修改對(duì)象屬性 17面向?qū)ο筌浖y(cè)試總結(jié)面向?qū)ο鬁y(cè)試的整體目標(biāo)以最小的工作量發(fā)現(xiàn)最多的錯(cuò)誤和傳統(tǒng)軟件測(cè)試的目標(biāo)是一致的,但是OO測(cè)試的策略和戰(zhàn)術(shù)有很大不同測(cè)試的視角擴(kuò)大到包括復(fù)審分析和設(shè)計(jì)模型,此外,測(cè)試的焦點(diǎn)從過(guò)程構(gòu)件(模塊)移向了類不論是傳統(tǒng)的測(cè)試方法還是面向?qū)ο蟮臏y(cè)試方法,都應(yīng)該遵循下列的原則: 應(yīng)當(dāng)把“盡早和不斷地測(cè)試”作為開(kāi)發(fā)者的座右銘程序員應(yīng)該避免檢查自己的程序,測(cè)試工作應(yīng)由獨(dú)立的專業(yè)的軟件測(cè)試機(jī)構(gòu)來(lái)完成設(shè)計(jì)測(cè)試用例時(shí),應(yīng)該考慮到合法的輸入和不合法的輸入,以及各種邊界條件,特殊情況下要制造極端狀態(tài)和意外狀態(tài),比如網(wǎng)絡(luò)異常中斷、電源斷電等情況一定要注意測(cè)試中的錯(cuò)誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習(xí)慣有很大關(guān)系對(duì)測(cè)試錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過(guò)程。一般有A測(cè)試出來(lái)的錯(cuò)誤,一定要有一個(gè)B來(lái)確認(rèn),嚴(yán)重的錯(cuò)誤可以召開(kāi)評(píng)審會(huì)進(jìn)行討論和分析制定嚴(yán)格的測(cè)試計(jì)劃,并把測(cè)試時(shí)間安排得盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試回歸測(cè)試的關(guān)聯(lián)性一定要引起充分的注意,修改一個(gè)錯(cuò)誤而引起更多錯(cuò)誤出現(xiàn)的現(xiàn)象并不少見(jiàn)妥善保存一切測(cè)試過(guò)程文檔,意義是不言而喻的,測(cè)試的重現(xiàn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 豬的飼養(yǎng)飼養(yǎng)管理規(guī)范制定考核試卷
- 2024年版?zhèn)€人高額貸款合同合同樣本版B版
- 環(huán)戊烷精致塔課程設(shè)計(jì)
- 森林改培技術(shù)在城市生態(tài)規(guī)劃中的應(yīng)用考核試卷
- 2024年照明燈具售后服務(wù)與技術(shù)支持合同3篇
- 地質(zhì)勘探設(shè)備紫外光固化技術(shù)考核試卷
- 電機(jī)課程設(shè)計(jì)模板
- 社區(qū)服務(wù)類課程設(shè)計(jì)
- 移動(dòng)商務(wù)課程設(shè)計(jì)模板
- 物品采購(gòu)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 2023風(fēng)電機(jī)組預(yù)應(yīng)力混凝土塔筒與基礎(chǔ)結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)
- 3D打印技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用
- 2024年輔警考試公基常識(shí)300題(附解析)
- 倉(cāng)庫(kù)班長(zhǎng)年終總結(jié)
- 北京市海淀區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末英語(yǔ)試題
- LNG液化天然氣項(xiàng)目事故后果模擬分析評(píng)價(jià)
- 2024年湖北省漢江國(guó)有資本投資集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 脂肪肝健康教育-課件
- 廣州市九區(qū)聯(lián)考2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測(cè)數(shù)學(xué)試卷(原卷版)
- 體育與健康(水平二)《花樣跳繩一級(jí)動(dòng)作(18課時(shí))》大單元教學(xué)計(jì)劃
- 游戲方案模板
評(píng)論
0/150
提交評(píng)論