第十二章 面向?qū)ο髮?shí)現(xiàn)_第1頁(yè)
第十二章 面向?qū)ο髮?shí)現(xiàn)_第2頁(yè)
第十二章 面向?qū)ο髮?shí)現(xiàn)_第3頁(yè)
第十二章 面向?qū)ο髮?shí)現(xiàn)_第4頁(yè)
第十二章 面向?qū)ο髮?shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第十二章面向?qū)ο髮?shí)現(xiàn)第一頁(yè),共二十頁(yè),編輯于2023年,星期五第十二章面向?qū)ο髮?shí)現(xiàn)12.1程序設(shè)計(jì)語(yǔ)言12.2程序設(shè)計(jì)風(fēng)格12.3測(cè)試策略12.4設(shè)計(jì)測(cè)試用例第二頁(yè),共二十頁(yè),編輯于2023年,星期五概述所謂面向?qū)ο髮?shí)現(xiàn),主要包括下述兩項(xiàng)工作:把面向?qū)ο笤O(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的面向?qū)ο蟪绦驕y(cè)試并調(diào)試面向?qū)ο蟪绦蛎嫦驅(qū)ο蟪绦虻馁|(zhì)量基本上由面向?qū)ο笤O(shè)計(jì)的質(zhì)量決定,但是,所采用的編程語(yǔ)言的特點(diǎn)和程序設(shè)計(jì)風(fēng)格也將對(duì)程序的可靠性、可重用性和可維護(hù)性產(chǎn)生深遠(yuǎn)影響。目前,測(cè)試仍然是保證軟件可靠性的主要措施,對(duì)于面向?qū)ο蟮能浖?lái)說(shuō),情況也是如此:面向?qū)ο鬁y(cè)試的目標(biāo),也是用盡可能低的測(cè)試成本發(fā)現(xiàn)盡可能多的軟件錯(cuò)誤。但是,面向?qū)ο蟪绦蛑刑赜械姆庋b、繼承和多態(tài)等機(jī)制,也給面向?qū)ο鬁y(cè)試帶來(lái)一些新特點(diǎn)。12.1程序設(shè)計(jì)語(yǔ)言第三頁(yè),共二十頁(yè),編輯于2023年,星期五12.1程序設(shè)計(jì)語(yǔ)言12.1.1面向?qū)ο笳Z(yǔ)言的優(yōu)點(diǎn)一致的表示方法可重用性可維護(hù)性12.1.2面向?qū)ο笳Z(yǔ)言的技術(shù)特點(diǎn)支持類(lèi)與對(duì)象概念的機(jī)制實(shí)現(xiàn)聚集結(jié)構(gòu)的機(jī)制實(shí)現(xiàn)泛化結(jié)構(gòu)的機(jī)制實(shí)現(xiàn)屬性和服務(wù)的機(jī)制類(lèi)型檢查機(jī)制類(lèi)庫(kù)效率持久保持對(duì)象的機(jī)制參數(shù)化類(lèi)的機(jī)制開(kāi)發(fā)環(huán)境第四頁(yè),共二十頁(yè),編輯于2023年,星期五12.2程序設(shè)計(jì)風(fēng)格12.1.3選擇面向?qū)ο笳Z(yǔ)言的實(shí)際因素將來(lái)能否占主導(dǎo)地位可重用性類(lèi)庫(kù)和開(kāi)發(fā)環(huán)境售后服務(wù)對(duì)運(yùn)行環(huán)境的需求集成已有軟件的難易程度1.提高可重用性為提高軟件的可重用性,應(yīng)該遵守下述準(zhǔn)則:提高方法的內(nèi)聚減少方法的規(guī)模保持方法的一致性把策略與實(shí)現(xiàn)分開(kāi)全面覆蓋輸入條件的各種可能組合盡量不使用全局信息充分利用繼承機(jī)制通過(guò)調(diào)用公用方法實(shí)現(xiàn)代碼重用第五頁(yè),共二十頁(yè),編輯于2023年,星期五12.1程序設(shè)計(jì)風(fēng)格2.提高可擴(kuò)充性提高可重用性的準(zhǔn)則同樣也能提高程序的可擴(kuò)充性。此外,下述的面向?qū)ο蟪绦蛟O(shè)計(jì)準(zhǔn)則也有助于提高程序的可擴(kuò)充性:封裝類(lèi)的實(shí)現(xiàn)細(xì)節(jié)不要用一個(gè)方法遍歷多條聯(lián)鏈避免使用多分支語(yǔ)句精心選擇和定義公有方法通過(guò)因子分解實(shí)現(xiàn)代碼重用第六頁(yè),共二十頁(yè),編輯于2023年,星期五提高健壯性健壯性:在硬件故障、輸入的數(shù)據(jù)無(wú)效或操作錯(cuò)誤等意外環(huán)境下,系統(tǒng)能做出適當(dāng)響應(yīng)的程度。通常需要在健壯性和效率之間做出適當(dāng)?shù)恼壑?。為提高健壯性?yīng)該遵守下述準(zhǔn)則:預(yù)防用戶(hù)的錯(cuò)誤操作檢查參數(shù)的合法性不要預(yù)先設(shè)定數(shù)據(jù)結(jié)構(gòu)的限制條件先測(cè)試后優(yōu)化第七頁(yè),共二十頁(yè),編輯于2023年,星期五12.3面向?qū)ο蟮臏y(cè)試策略測(cè)試軟件的基本策略是,從“小型測(cè)試”開(kāi)始,逐步過(guò)渡到“大型測(cè)試”,即從單元測(cè)試開(kāi)始,逐步進(jìn)入集成測(cè)試,最后進(jìn)行確認(rèn)測(cè)試和系統(tǒng)測(cè)試。1.面向?qū)ο蟮膯卧獪y(cè)試對(duì)于面向?qū)ο蟮能浖?lái)說(shuō),單元測(cè)試的含義發(fā)生了很大變化現(xiàn)在,最小的可測(cè)試單元是封裝起來(lái)的類(lèi)和對(duì)象。一個(gè)類(lèi)通常包含一組不同的操作,而一個(gè)特定的操作也可能存在于一組不同的類(lèi)中。因此,測(cè)試面向?qū)ο蟮能浖r(shí),不能再孤立地測(cè)試單個(gè)操作,而應(yīng)該把操作作為類(lèi)的一部分來(lái)測(cè)試。第八頁(yè),共二十頁(yè),編輯于2023年,星期五12.3面向?qū)ο蟮臏y(cè)試策略2.面向?qū)ο蟮募蓽y(cè)試因?yàn)樵诿嫦驅(qū)ο蟮能浖胁淮嬖趯哟蔚目刂平Y(jié)構(gòu),傳統(tǒng)的自頂向下和自底向上的集成策略就沒(méi)有意義了。此外,由于構(gòu)成類(lèi)成分彼此間存在或直接的交互,因此一次集成一個(gè)操作到類(lèi)中(傳統(tǒng)的漸增式集成方法),通常是不可能的。面向?qū)ο筌浖募蓽y(cè)試主要有下述兩種策略:基于線(xiàn)程的測(cè)試基于使用的測(cè)試第九頁(yè),共二十頁(yè),編輯于2023年,星期五12.3面向?qū)ο蟮臏y(cè)試策略3.面向?qū)ο蟮拇_認(rèn)測(cè)試在確認(rèn)測(cè)試或系統(tǒng)測(cè)試層次,不再考慮類(lèi)之間互相連接的細(xì)節(jié)。和傳統(tǒng)的確認(rèn)測(cè)試一樣,面向?qū)ο筌浖拇_認(rèn)測(cè)試也集中檢查用戶(hù)可見(jiàn)的動(dòng)作和用戶(hù)可識(shí)別的輸出。為了導(dǎo)出確認(rèn)測(cè)試用例,測(cè)試人員應(yīng)該認(rèn)真研究動(dòng)態(tài)模型和描述系統(tǒng)行為的腳本,以確定最可能發(fā)現(xiàn)用戶(hù)交互需求錯(cuò)誤的情景。第十頁(yè),共二十頁(yè),編輯于2023年,星期五12.4設(shè)計(jì)測(cè)試用例與傳統(tǒng)軟件測(cè)試(由軟件的輸入—處理—輸出視圖或?qū)崿F(xiàn)模塊的算法驅(qū)動(dòng)測(cè)試用例的設(shè)計(jì))不同,面向?qū)ο鬁y(cè)試關(guān)注于設(shè)計(jì)適當(dāng)?shù)牟僮餍蛄幸詸z查類(lèi)的狀態(tài)。4.1測(cè)試類(lèi)的技術(shù)設(shè)計(jì)測(cè)試用例以測(cè)試、單個(gè)類(lèi)的技術(shù),主要有隨機(jī)測(cè)試、劃分測(cè)試和基于故障的測(cè)試等3種。1.隨機(jī)測(cè)試讓類(lèi)實(shí)例隨機(jī)地執(zhí)行一些類(lèi)內(nèi)定義的操作,以測(cè)試類(lèi)狀態(tài)。如果應(yīng)用系統(tǒng)的性質(zhì)對(duì)操作的應(yīng)用施加了一些限制,則可在最小操作序列的基礎(chǔ)上隨機(jī)增加一些操作,作為測(cè)試該類(lèi)的測(cè)試用例。第十一頁(yè),共二十頁(yè),編輯于2023年,星期五12.4設(shè)計(jì)測(cè)試用例2.劃分測(cè)試與測(cè)試傳統(tǒng)軟件時(shí)采用等價(jià)劃分方法類(lèi)似,測(cè)試類(lèi)時(shí)采用劃分測(cè)試方法也可以減少所需要的測(cè)試用例的數(shù)量。首先,把輸入和輸出分類(lèi),然后設(shè)計(jì)測(cè)試用例以測(cè)試劃分出的每個(gè)類(lèi)別。劃分類(lèi)別的方法主要有下述3種:基于狀態(tài)劃分——這種方法根據(jù)類(lèi)操作改變類(lèi)狀態(tài)的能力來(lái)劃分類(lèi)操作,然后設(shè)計(jì)測(cè)試用例,分別測(cè)試改變狀態(tài)的操作和不改變狀態(tài)的操作?;趯傩詣澐帧@種方法根據(jù)類(lèi)操作使用某個(gè)關(guān)鍵屬性的情況來(lái)劃分類(lèi)操作。通常,把類(lèi)操作劃分成使用屬性、修改屬性、不使用也不修改屬性等3類(lèi),然后設(shè)計(jì)測(cè)試用例,分別測(cè)試每類(lèi)操作?;诠δ軇澐帧@種方法根據(jù)類(lèi)操作完成的功能來(lái)劃分類(lèi)操作,然后為每個(gè)類(lèi)別的操作設(shè)計(jì)測(cè)試序列。第十二頁(yè),共二十頁(yè),編輯于2023年,星期五12.4設(shè)計(jì)測(cè)試用例3.基于故障的測(cè)試這種方法與傳統(tǒng)的錯(cuò)誤推測(cè)法類(lèi)似,也是首先推測(cè)軟件中可能有的錯(cuò)誤,然后設(shè)計(jì)出最可能發(fā)現(xiàn)這些錯(cuò)誤的測(cè)試用例為了推測(cè)出軟件中可能有的錯(cuò)誤,應(yīng)該仔細(xì)研究分析模型和設(shè)計(jì)模型,而且在很大程度上要依靠測(cè)試人員的經(jīng)驗(yàn)和直覺(jué)。如果推測(cè)得比較準(zhǔn)確,則使用基于故障的測(cè)試方法能夠用相當(dāng)?shù)偷墓ぷ髁堪l(fā)現(xiàn)大量錯(cuò)誤;反之,如果推測(cè)不準(zhǔn),這種方法的效果并不比隨機(jī)測(cè)試技術(shù)的效果好。4.2集成測(cè)試技術(shù)開(kāi)始集成面向?qū)ο蟮能浖?,測(cè)試用例的設(shè)計(jì)變得更加復(fù)雜。在這個(gè)測(cè)試階段,必須對(duì)類(lèi)間協(xié)作進(jìn)行測(cè)試。和測(cè)試單個(gè)類(lèi)相似,測(cè)試類(lèi)協(xié)作可以使用隨機(jī)測(cè)試方法和劃分測(cè)試方法,以及基于情景的測(cè)試和行為測(cè)試來(lái)完成。第十三頁(yè),共二十頁(yè),編輯于2023年,星期五12.4設(shè)計(jì)測(cè)試用例1.多類(lèi)測(cè)試對(duì)每個(gè)客戶(hù)類(lèi),使用類(lèi)操作符列表來(lái)生成一系列隨機(jī)測(cè)試序列。這些操作符向服務(wù)類(lèi)實(shí)例發(fā)送消息。對(duì)所生成的每個(gè)消息,確定協(xié)作類(lèi)和在服務(wù)器對(duì)象中的對(duì)應(yīng)操作符。對(duì)服務(wù)器對(duì)象中的每個(gè)操作符(已經(jīng)被來(lái)自客戶(hù)對(duì)象的消息調(diào)用),確定傳遞的消息。對(duì)每個(gè)消息,確定下一層被調(diào)用的操作符,并把這些操作符結(jié)合進(jìn)測(cè)試序列中。第十四頁(yè),共二十頁(yè),編輯于2023年,星期五銀行系統(tǒng)的類(lèi)-協(xié)作圖12.4設(shè)計(jì)測(cè)試用例第十五頁(yè),共二十頁(yè),編輯于2023年,星期五12.4設(shè)計(jì)測(cè)試用例2.從動(dòng)態(tài)模型導(dǎo)出測(cè)試用例類(lèi)的狀態(tài)圖有助于導(dǎo)出測(cè)試該類(lèi)(及與其協(xié)作的那些類(lèi))的動(dòng)態(tài)行為的測(cè)試用例。設(shè)計(jì)出的測(cè)試用例應(yīng)該覆蓋該類(lèi)的所有狀態(tài),也就是說(shuō),操作序列應(yīng)該使得該類(lèi)實(shí)例遍歷所有允許的狀態(tài)轉(zhuǎn)換。在類(lèi)的行為導(dǎo)致與一個(gè)或多個(gè)類(lèi)協(xié)作的情況下,應(yīng)

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論