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

正文內(nèi)容

清華大學(xué)殷仁昆教授講授軟件工程講義-08(已修改)

2025-01-18 03:28 本頁(yè)面
 

【正文】 軟件工程 第八章 面向?qū)ο蟮臏y(cè)試 面向?qū)ο鬁y(cè)試的概念 開(kāi)發(fā)前期的面向?qū)ο鬁y(cè)試 開(kāi)發(fā)后期的面向?qū)ο鬁y(cè)試 分布式系統(tǒng)的測(cè)試 1 軟件工程 面向?qū)ο鬁y(cè)試的概念 ? 面向?qū)ο笙到y(tǒng)的測(cè)試與傳統(tǒng)的基于功能的系統(tǒng)的測(cè)試之間存在很大差別: 1) 對(duì)象作為一個(gè)單獨(dú)的構(gòu)件一般比一個(gè)功能模塊大。 2) 由對(duì)象到子系統(tǒng)的集成通常是松散耦合的,沒(méi)有一個(gè)明顯的“頂層”。 3) 如果對(duì)象被復(fù)用,測(cè)試者無(wú)權(quán)進(jìn)入構(gòu)件內(nèi)部來(lái)分析其代碼。 2 軟件工程 ? 面向?qū)ο蟮拈_(kāi)發(fā)模型將系統(tǒng)開(kāi)發(fā)分為面向?qū)ο蠓治觯?OOA),面向?qū)ο笤O(shè)計(jì)( OOD)和面向?qū)ο缶幊蹋?OOP)三個(gè)階段。 ? 分析階段產(chǎn)生整個(gè)問(wèn)題領(lǐng)域的抽象描述,在此基礎(chǔ)上,進(jìn)一步歸納出適用于面向?qū)ο缶幊陶Z(yǔ)言的類(lèi)和類(lèi)結(jié)構(gòu),最后形成代碼。 ? 針對(duì)這種開(kāi)發(fā)模型,結(jié)合傳統(tǒng)測(cè)試步驟的劃分,本著在整個(gè)開(kāi)發(fā)過(guò)程中不斷測(cè)試的原則,應(yīng)將開(kāi)發(fā)階段的測(cè)試與編碼完成后的單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試用一個(gè)測(cè)試模型描述。 3 軟件工程 面向?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è)試。 ? OOP Test主要針對(duì)編程風(fēng)格和程序代碼實(shí)現(xiàn)進(jìn)行測(cè)試,其主要的測(cè)試內(nèi)容在面向?qū)ο髥卧獪y(cè)試和面向?qū)ο蠹蓽y(cè)試中體現(xiàn)。 ? 面向?qū)ο髥卧獪y(cè)試是對(duì)程序內(nèi)部具體單一的功能模塊的測(cè)試,如果程序是用 C++語(yǔ)言 實(shí)現(xiàn),主要就是對(duì)類(lèi)成員函數(shù)的測(cè)試。面向?qū)ο髥卧獪y(cè)試是進(jìn)行面向?qū)ο蠹蓽y(cè)試的基礎(chǔ)。 5 軟件工程 ? 面向?qū)ο蠹蓽y(cè)試主要對(duì)系統(tǒng)內(nèi)部的相互服務(wù)進(jìn)行測(cè)試,如成員函數(shù)間的相互作用,類(lèi)間的消息傳遞等。 ? 面向?qū)ο蠹蓽y(cè)試不但要基于面向?qū)ο髥卧獪y(cè)試,更要參見(jiàn) OOD或 OOD Test結(jié)果。 ? 面向?qū)ο笙到y(tǒng)測(cè)試是基于面向?qū)ο蠹蓽y(cè)試的最后階段的測(cè)試,主要以用戶(hù)需求為測(cè)試標(biāo)準(zhǔn),也需要借鑒 OOA或 OOA Test結(jié)果。 6 軟件工程 開(kāi)發(fā)前期的面向?qū)ο鬁y(cè)試 ? 面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)經(jīng)歷 ? 面向?qū)ο蠓治觯?OOA) ? 面向?qū)ο笤O(shè)計(jì)( OOD) ? 面向?qū)ο缶幊蹋?OOP) ? 等三個(gè)階段。在這個(gè)時(shí)期的測(cè)試工作主要是靜態(tài)測(cè)試。通過(guò)各種評(píng)審和質(zhì)量分析活動(dòng),完成必須的測(cè)試工作,及時(shí)檢測(cè)和克服各種缺陷。 7 軟件工程 面向?qū)ο蠓治龅臏y(cè)試 ? 傳統(tǒng)的面向過(guò)程分析是一個(gè)功能分解的過(guò)程,是把一個(gè)系統(tǒng)看成可以分解的功能的集合。這種傳統(tǒng)的功能分解分析法的著眼點(diǎn)在于 一個(gè)系統(tǒng)需要什么樣的信息處理方法和過(guò)程,以過(guò)程的抽象來(lái)對(duì)待系統(tǒng)的需要 。 ? 面向?qū)ο蠓治觯?OOA)是“把 E- R圖和語(yǔ)義網(wǎng)絡(luò)模型,即信息模型中的概念,與面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中的重要概念結(jié)合在一起而形成的分析方法”,最后 得到問(wèn)題領(lǐng)域的可視的形式描述 。 ? OOA的結(jié)果是為后續(xù)階段中類(lèi)的選定和實(shí)現(xiàn),類(lèi)層 8 軟件工程 層次結(jié)構(gòu)的組織和實(shí)現(xiàn)提供平臺(tái)。 ? OOA對(duì)問(wèn)題領(lǐng)域分析抽象的不完整,最終會(huì)影響軟件的功能實(shí)現(xiàn),導(dǎo)致軟件開(kāi)發(fā)后期大量可避免的修補(bǔ)工作;而一些冗余的對(duì)象或結(jié)構(gòu)會(huì)影響類(lèi)的選定、程序的整體結(jié)構(gòu)或增加程序員不必要的工作量。因此, OOA測(cè)試的重點(diǎn)在其完整性和冗余性。 ? 根據(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ì)象的抽象。對(duì)它的測(cè)試可以從如下方面考慮: a) 認(rèn)定的類(lèi)是否 全面 ,是否問(wèn)題領(lǐng)域中所有涉及到的對(duì)象都反映在認(rèn)定的類(lèi)中。 b) 認(rèn)定的類(lèi)是否具有 多個(gè)屬性 。只有一個(gè)屬性的類(lèi)通常應(yīng)看成其他類(lèi)的屬性,而不是抽象 10 軟件工程 為獨(dú)立的類(lèi)。 c) 認(rèn)定為同一個(gè)類(lèi)的對(duì)象是否有共同的,區(qū)別于其他類(lèi)對(duì)象的共同屬性。 d) 對(duì)認(rèn)定為同一類(lèi)的對(duì)象是否 提供或需要相同的服務(wù) ,如果服務(wù)隨著不同的對(duì)象而變化,認(rèn)定的對(duì)象就需要分解或利用繼承性來(lái)分類(lèi)表示。 e) 如果系統(tǒng)不需要始終保持類(lèi)所代表的對(duì)象的信息,認(rèn)定的類(lèi)也無(wú)必要存在。 f) 認(rèn)定的類(lèi)的名稱(chēng)應(yīng)該盡量準(zhǔn)確,適用。 2. 對(duì)認(rèn)定的結(jié)構(gòu)的測(cè)試 11 軟件工程 ? 在 Coad和 Yourdon方法中,認(rèn)定的結(jié)構(gòu)分為兩種: 泛化結(jié)構(gòu) 和 復(fù)合結(jié)構(gòu) 。 泛化 結(jié)構(gòu)體現(xiàn)了問(wèn)題領(lǐng)域中對(duì)象的一般與特殊的關(guān)系, 復(fù)合 結(jié)構(gòu)體現(xiàn)了問(wèn)題領(lǐng)域中對(duì)象的整體與局部的關(guān)系。 1) 對(duì) 泛化 結(jié)構(gòu) 的測(cè)試可從如下方面著手: a) 對(duì)于結(jié)構(gòu)中的一個(gè)類(lèi),尤其是處于高層的類(lèi),看是否能在問(wèn)題領(lǐng)域中派生出其下一層的類(lèi)。 b) 對(duì)于結(jié)構(gòu)中的一個(gè)類(lèi),尤其是處于同一低層的類(lèi),看是否能抽象出在現(xiàn)實(shí)世界中有意義的更一般的上層的類(lèi)。 12 軟件工程 c) 高層的類(lèi)的屬性和服務(wù)是否完全體現(xiàn)下層的共性。 d) 低層的類(lèi)是否基于其上層類(lèi)的屬性和服務(wù)并具有自己的特殊性。 2) 對(duì) 復(fù)合結(jié)構(gòu) 的測(cè)試從如下方面入手: a) 整體類(lèi)和局部類(lèi)的復(fù)合(聚合)關(guān)系是否符合現(xiàn)實(shí)的關(guān)系。 b) 整體類(lèi)的局部類(lèi)是否在問(wèn)題領(lǐng)域中有實(shí)際應(yīng)用。 c) 整體類(lèi)中是否遺漏了在問(wèn)題領(lǐng)域中有用的局部類(lèi)。 13 軟件工程 d) 局部類(lèi)是否能夠在問(wèn)題領(lǐng)域中組合出新的有現(xiàn)實(shí)意義的整體類(lèi)。 3. 對(duì)認(rèn)定的主題的測(cè)試 ? 主題是在對(duì)象和結(jié)構(gòu)的基礎(chǔ)上更高一層的抽象,是為了提供 OOA分析結(jié)果的可見(jiàn)性,如同文章對(duì)各部分內(nèi)容的概要。 ? 對(duì)主題的測(cè)試應(yīng)該考慮以下方面: a) 貫徹 Gee Miller 的“ 7+2”原則,如果主題個(gè)數(shù)超過(guò) 7 個(gè),就要求對(duì)有較密切屬性和服務(wù)的主題進(jìn)行歸并。 14 軟件工程 b) 主題所反映的一組類(lèi)和結(jié)構(gòu)是否具有相同和相近的屬性和服務(wù)。 c) 認(rèn)定的主題是否是類(lèi)和結(jié)構(gòu)更高層的抽象,是否便于理解 OOA結(jié)果的概貌(尤其是對(duì)非技術(shù)人員的 OOA 結(jié)果讀者)。 d) 主題間的消息連接(抽象)是否代表了主題所反映的類(lèi)和結(jié)構(gòu)之間的所有關(guān)聯(lián)。 4. 對(duì)定義的屬性和實(shí)例連接的測(cè)試 ? 屬性描述類(lèi)或結(jié)構(gòu)中實(shí)例(對(duì)象)的特性。而實(shí)例連接則反映實(shí)例集合之間的映射關(guān)系。 15 軟件工程 ? 對(duì)屬性和實(shí)例連接的測(cè)試從如下方面考慮: a) 定義的屬性是否對(duì)相應(yīng)的類(lèi)和泛化結(jié)構(gòu)的每個(gè)實(shí)例都適用。 b) 定義的屬性在現(xiàn)實(shí)世界中是否與這種實(shí)例關(guān)系密切。 c) 定義的屬性在問(wèn)題領(lǐng)域中是否與這種實(shí)例關(guān)系密切。 d) 定義的屬性是否能夠不依賴(lài)于其他屬性被獨(dú)立理解。 e) 定義的屬性在泛化結(jié)構(gòu)中的位置是否恰當(dāng),低層類(lèi)的共有屬性是否在其上層類(lèi)的屬性中 16 軟件工程 有定義。 f) 問(wèn)題領(lǐng)域中每個(gè)類(lèi)的屬性是否定義完整。 g) 定義的實(shí)例連接是否符合實(shí)際。 h) 在問(wèn)題領(lǐng)域中實(shí)例連接的定義是否完整,特別需要注意一對(duì)多和多對(duì)多的實(shí)例連接。 5. 對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試 ? 定義服務(wù)就是定義每一個(gè)類(lèi)和結(jié)構(gòu)在問(wèn)題領(lǐng)域中的行為。由于問(wèn)題領(lǐng)域中的實(shí)例
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1