freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

清華大學(xué)殷仁昆教授講授軟件工程講義-08(完整版)

  

【正文】 工程 面向?qū)ο鬁y(cè)試模型 OO System Test OO Integration Test OO Unit Test OOA Test OOD Test OOP Test OOA OOD OOP 4 軟件工程 ? OOA Test和 OOD Test 是對(duì)分析結(jié)果和設(shè)計(jì)結(jié)果的測(cè)試,主要是對(duì)分析設(shè)計(jì)產(chǎn)生的文本進(jìn)行,是軟件開(kāi)發(fā)前期的關(guān)鍵性測(cè)試。在這個(gè)時(shí)期的測(cè)試工作主要是靜態(tài)測(cè)試。 ? 根據(jù) Coad和 Yourdon方法所提出的 OOA實(shí)現(xiàn)步驟,對(duì) OOA階段的測(cè)試劃分為以下五個(gè)方面: ?對(duì)認(rèn)定的 類(lèi) 的測(cè)試 ?對(duì)認(rèn)定的 結(jié)構(gòu) 的測(cè)試 ?對(duì)認(rèn)定的 主題 的測(cè)試 9 軟件工程 ? 對(duì)定義的 屬性 和 實(shí)例連接 的測(cè)試 ? 對(duì)定義的 服務(wù) 和 消息連接 的測(cè)試 1. 對(duì)認(rèn)定的類(lèi)的測(cè)試 ? OOA中認(rèn)定的類(lèi)是對(duì)問(wèn)題領(lǐng)域中的 結(jié)構(gòu) , 其他相關(guān)系統(tǒng) , 設(shè)備 , 被記憶的事件 , 系統(tǒng)涉及的人員 等實(shí)際對(duì)象的抽象。 2. 對(duì)認(rèn)定的結(jié)構(gòu)的測(cè)試 11 軟件工程 ? 在 Coad和 Yourdon方法中,認(rèn)定的結(jié)構(gòu)分為兩種: 泛化結(jié)構(gòu) 和 復(fù)合結(jié)構(gòu) 。 c) 整體類(lèi)中是否遺漏了在問(wèn)題領(lǐng)域中有用的局部類(lèi)。而實(shí)例連接則反映實(shí)例集合之間的映射關(guān)系。 h) 在問(wèn)題領(lǐng)域中實(shí)例連接的定義是否完整,特別需要注意一對(duì)多和多對(duì)多的實(shí)例連接。 18 軟件工程 面向?qū)ο笤O(shè)計(jì)的測(cè)試 ? 面向?qū)ο笤O(shè)計(jì)( OOD)從“建模的觀(guān)點(diǎn)”出發(fā),基于 OOA模型歸納出類(lèi),并建立類(lèi)的層次結(jié)構(gòu)或進(jìn)一步構(gòu)造成類(lèi)庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題領(lǐng)域的抽象。 20 軟件工程 e) 是否盡可能少地依賴(lài)其他類(lèi)。 e) 子類(lèi)之間的共同特性是否完全在父類(lèi)中得以體現(xiàn)。 ? 繼承 提高了代碼的復(fù)用率,同時(shí)也提高了錯(cuò)誤傳播的概率。 ? 值得注意,有時(shí)強(qiáng)制的類(lèi)型轉(zhuǎn)換會(huì)破壞數(shù)據(jù)的封裝特性。 27 軟件工程 2. 類(lèi)是否實(shí)現(xiàn)了要求的功能 ? 類(lèi)的功能都是通過(guò)類(lèi)的成員函數(shù)實(shí)現(xiàn)的。 開(kāi)發(fā)后期的面向?qū)ο鬁y(cè)試 面向?qū)ο蟮膯卧獪y(cè)試( Unit Test) 30 軟件工程 ? 面向?qū)ο蟮膯卧獪y(cè)試則是針對(duì)面向?qū)ο蟪绦虻幕締卧?- 對(duì)象類(lèi)。例如: 32 軟件工程 ? if ( 1 == write(fid, buffer, amount) ) error_out()。尤其是繼承特性和多態(tài)特性, Brian Marick 提出 了兩點(diǎn): 1) 繼承的成員函數(shù)可能需要重新測(cè)試 ? 對(duì)父類(lèi)中已經(jīng)測(cè)試過(guò)的成員函數(shù),兩種情況需要在子類(lèi)中重新測(cè)試: a) 繼承的成員函數(shù)在子類(lèi)中做了改動(dòng); b) 成員函數(shù)調(diào)用了改動(dòng)過(guò)的成員函數(shù)。 else message (more)。 ? 在測(cè)試對(duì)象時(shí),完全的覆蓋測(cè)試應(yīng)當(dāng)包括: ? 隔離對(duì)象中所有 操作 ,進(jìn)行獨(dú)立測(cè)試。 2) 對(duì)于一個(gè)單獨(dú)的操作 , 可通過(guò)該操作的 前置條件 選擇測(cè)試用例 , 產(chǎn)生輸出 , 讓測(cè)試者能夠判斷 后置條件 是否能夠得到滿(mǎn)足 。 2) 對(duì)于多數(shù)對(duì)象類(lèi),主要檢驗(yàn)在類(lèi)聲明的 public 域 中的那些操作。 3) 完全的單元應(yīng)當(dāng)保證類(lèi)的執(zhí)行必須 覆蓋它的一個(gè)有代表性的狀態(tài)集合 。 ? 面向?qū)ο笙到y(tǒng)的集成測(cè)試有 3 種可用的方法: 1) 用例或基于場(chǎng)景的測(cè)試 用例或場(chǎng)景描述了對(duì)系統(tǒng)的使用模式。中間層給出叫做 “方法 消息”路徑的對(duì)象交互序列。 47 軟件工程 ? 將“可逆性工程”得到的結(jié)果與 OOD的結(jié)果相比較,檢測(cè)程序結(jié)構(gòu)和實(shí)現(xiàn)上是否有缺陷。 d) 根據(jù)程序中類(lèi)的對(duì)象構(gòu)造測(cè)試用例,確認(rèn)使用什么輸入激發(fā)類(lèi)的狀態(tài)、使用類(lèi)的服務(wù)和期望產(chǎn)生什么行為等。主要著眼于用戶(hù)可見(jiàn)的動(dòng)作和用戶(hù)可識(shí)別的系統(tǒng)輸出。 b) 強(qiáng)度測(cè)試: 測(cè)試系統(tǒng)能力所能達(dá)到的最高實(shí)際限度,即軟件在一些超負(fù)荷情況下功能實(shí)現(xiàn)的情況。 ? 可用性測(cè)試: 測(cè)試用戶(hù)能否滿(mǎn)意地使用。 56 軟件工程 3) 對(duì)每一個(gè)測(cè)試建立一組測(cè)試步驟,要思考和確定的問(wèn)題包括: ? 被測(cè)試對(duì)象的一組特定狀態(tài); ? 一組消息和操作; ? 考慮在對(duì)象測(cè)試時(shí)可能產(chǎn)生的一組異常; ? 一組外部條件; ? 輔助理解和實(shí)現(xiàn)測(cè)試時(shí)的補(bǔ)充信息。 58 軟件工程 ? 在網(wǎng)絡(luò)環(huán)境中各個(gè)獨(dú)立的盒子連接到通信設(shè)施上,如何實(shí)現(xiàn)它們物理上的同步是網(wǎng)絡(luò)計(jì)算的問(wèn)題。 ? 在分布式系統(tǒng)中的路徑就是設(shè)計(jì)測(cè)試用例 覆蓋一個(gè)同步順序 。對(duì)于一個(gè)類(lèi)的實(shí)例,在它被撤銷(xiāo)后必須檢查它占用的資源是否已被釋放掉。 64 軟件工程 ? 這種結(jié)構(gòu)的核心是對(duì)象請(qǐng)求代理( ORB) ,一個(gè)對(duì)象通過(guò) ORB與系統(tǒng)中的另一個(gè)對(duì)象通信。 ? DCOM是低層次的技術(shù),支持構(gòu)件間最原始的聯(lián)系,它不作為應(yīng)用開(kāi)發(fā)的部分。 5) 一般分布式構(gòu)件模型 ? 分布式系統(tǒng)的基本體系如圖,主要活動(dòng)是服務(wù)請(qǐng)求方給服務(wù)提供方法送消息。 72 軟件工程 d) 設(shè)計(jì)交互式測(cè)試用例 :提供方應(yīng)與請(qǐng)求服務(wù)且具有代表性的請(qǐng)求方交互。 b) 設(shè)計(jì)基于說(shuō)明的測(cè)試用例 :在 API文檔中構(gòu)造每個(gè)方法的前置條件和后置條件。 75 軟件工程 ? 這類(lèi)測(cè)試重點(diǎn)在 Web服務(wù)器上和因特網(wǎng)應(yīng)用程序的生存周期上。是否是所期望的格式? b) 因特網(wǎng)應(yīng)用程序生存周期的測(cè)試 ? 跨越不同平臺(tái)的一系列用戶(hù)事務(wù)測(cè)試。 Web頁(yè)面和瀏覽器、應(yīng)用服務(wù)器協(xié)作產(chǎn)生應(yīng)用。 c) 設(shè)計(jì)基于實(shí)現(xiàn)的測(cè)試用例 :滿(mǎn)足一般的范圍標(biāo)準(zhǔn)。 e) 設(shè)計(jì)基于狀態(tài)的測(cè)試用例 :當(dāng)請(qǐng)求方發(fā)出請(qǐng)求時(shí),提供方可能只處于一種狀態(tài)。如果存在結(jié)果,則結(jié)果沿原路徑返回。 b) 每個(gè)構(gòu)件能否實(shí)現(xiàn)必要的接口?測(cè)試用例應(yīng)能利用各種構(gòu)件確保所有服務(wù)是可利用的并能實(shí)現(xiàn)期望的功能。 ? 測(cè)試要點(diǎn): 65 軟件工程 a) 不考慮基礎(chǔ)結(jié)構(gòu)的配置,系統(tǒng)能夠正確的工作?測(cè)試用例應(yīng)能產(chǎn)生被測(cè)試基礎(chǔ)結(jié)構(gòu)的各種預(yù)期的配置。 1) 基本的客戶(hù)機(jī) - 服務(wù)器模型 ? 客戶(hù)機(jī)-服務(wù)器模型是最簡(jiǎn)單的分布式模型。 60 軟件工程 ? 測(cè)試應(yīng)跟蹤一個(gè)事件到另一個(gè)事件的路徑。 ? 分布式系統(tǒng)使用多進(jìn)程來(lái)支持系統(tǒng)的靈活性一個(gè)對(duì)象既可以在同一臺(tái)機(jī)器上分布在多個(gè)進(jìn)程中,還可以分布在多個(gè)物理上的計(jì)算機(jī)上。 57 軟件工程 分布式系統(tǒng)的測(cè)試 ? 分布式處理中涉及的最基本單位是線(xiàn)程,線(xiàn)程是操作系統(tǒng)進(jìn)程內(nèi)部能夠獨(dú)立運(yùn)行的內(nèi)容,它擁有自己的程序計(jì)數(shù)器和本地?cái)?shù)據(jù)。 ? 安裝 /卸載測(cè)試( install/uninstall test),等。 c) 性能測(cè)試: 測(cè)試軟件的運(yùn)行績(jī)效。 ? 可以利用黑盒測(cè)試的方法來(lái)驅(qū)動(dòng)系統(tǒng)測(cè)試。根據(jù)具體情況,動(dòng)態(tài)的集成測(cè)試,有時(shí)也可以通過(guò)系統(tǒng)測(cè)試完成。 2) 動(dòng)態(tài) 測(cè)試 ? 動(dòng)態(tài)測(cè)試在設(shè)計(jì)測(cè)試用例時(shí),通常需要上述的功能調(diào)用結(jié)構(gòu)圖、類(lèi)關(guān)系圖或者實(shí)體關(guān)系圖為參考,確定不需要被重復(fù)測(cè)試的部分,從而優(yōu)化測(cè)試用例,減少測(cè)試工作量,使得進(jìn)行的測(cè)試能夠達(dá)到一定覆蓋標(biāo)準(zhǔn)。 ? 集成測(cè)試能夠檢測(cè)出相對(duì)獨(dú)立的單元測(cè)試無(wú)法檢測(cè)出的那些類(lèi)相互作用時(shí)才會(huì)產(chǎn)生的錯(cuò)誤。這種測(cè)試 著眼于系統(tǒng)結(jié)構(gòu),首先測(cè)試幾乎不使用服務(wù)器類(lèi)的獨(dú)立類(lèi),再測(cè)試那些使用了獨(dú)立類(lèi)的下一層次的(依賴(lài))類(lèi)。 43 軟件工程 面向?qū)ο蟮募蓽y(cè)試 (OO Integrate Test) ? 當(dāng)開(kāi)發(fā)面向?qū)ο笙到y(tǒng)時(shí),集成的層次并不明顯。 4) 檢查所有 public域 , protected域 及 private 域 中的操作以完全檢查對(duì)象中定義的操作。 39 軟件工程 4) 然后再把測(cè)試用例組擴(kuò)充 , 針對(duì)被測(cè)操作調(diào)用對(duì)象類(lèi)中其他操作的情況 , 設(shè)計(jì)操
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1