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

正文內(nèi)容

軟件測試教案ppt課件(編輯修改稿)

2025-05-31 13:15 本頁面
 

【文章內(nèi)容簡介】 類的延伸測試 RCIIP Software Testing 42 面向?qū)ο蟮幕靖拍? ?對象 ?類 ?消息 ?接口 ?繼承 ?多態(tài)和動態(tài)綁定 RCIIP Software Testing 43 對象 ? 對象 ——是指包含了一組屬性以及對這些屬性的操作的封裝體。屬性可以是數(shù)據(jù),也可以是另一個對象;每個對象都有它自己的屬性值,表示該對象的狀態(tài);對象中的屬性只能通過該對象所提供的操作來存取或修改。對象所具有的狀態(tài)、行為、標識三個基本特征,分別對應(yīng)于對象的屬性、方法和對象名。 ? 對象是軟件開發(fā)期間測試的直接目標。 ? 面向?qū)ο筌浖y試所關(guān)注的焦點: ( 1)對象的行為是否符合它的規(guī)定說明; ( 2)該對象與和它相關(guān)的對象是否協(xié)同工作。 RCIIP Software Testing 44 類 ? 類 ——是具有相同屬性和相同行為的對象的集合。面向?qū)ο蟪绦蜻\行的基本元素是對象,而類則是用來定義對象這一基本元素的。 ? 在面向?qū)ο蟪绦蛟O(shè)計中,類是一個獨立的程序單位,它有一個類名,還包括用于描述對象屬性的成員變量和用于描述對象行為的 成員函數(shù) 。 ? 類是對象的抽象定義,它定義了用戶將要如何創(chuàng)建對象的方法。使用類時必須先實例化 —用對象名創(chuàng)建類的實例,再通過這個對象去訪問類的成員變量,去調(diào)用類的 成員函數(shù) 。 RCIIP Software Testing 45 消息 ? 消息 ——是對象的操作將要執(zhí)行的一種請求,也被稱為成員函數(shù)調(diào)用或者方法調(diào)用。面向?qū)ο蟪绦虻膱?zhí)行實際上是執(zhí)行一個由消息連接起來的方法序列。 “發(fā)送消息 M到對象 N” =“調(diào)用 N對象的 M方法” ? 一個對象通過向另一個對象發(fā)送消息來請求其服務(wù),對象之間的協(xié)同工作是通過互相傳送消息來完成的。 ? 一個消息通常包括接收對象名、調(diào)用的操作名和適當參數(shù)(如有必要)。消息只告訴接收對象需要完成什么操作,但并不指示接收者怎樣去完成操作。消息完全由接收者解釋,接收者獨立決定采用什么方法來完成所需操作。 RCIIP Software Testing 46 消息(續(xù)) ? 從測試的角度看 , 關(guān)于消息有下面的結(jié)論: ( 1) 消息的發(fā)送者決定何時進行發(fā)送消息 , 可能會做出錯誤的決定; ( 2) 消息的接收者可能收到非預(yù)期的特定消息 , 并做出不正確地反映; ( 3) 消息可能含有參數(shù) 。 在處理一條消息時 , 參數(shù)能被接收者使用或修改 。 若傳遞的參數(shù)是對象 , 那么在消息被處理前和處理后 , 對象必須處于正確的狀態(tài) , 而且必須是接收者所期望的接口 。 RCIIP Software Testing 47 接口 ? 接口 ——是行為聲明的集合。接口是由一些規(guī)范構(gòu)成的,規(guī)范定義了類的一套完整的公共行為。 ? 從測試的角度,關(guān)于接口有下面的結(jié)論: ( 1)接口封裝了操作的說明。如果這一接口包含的行為和類的行為不相符,那么這一接口的說明就有問題。 ( 2)接口非孤立,它與其它的接口和類有一定的關(guān)系。一個接口可以指定一個行為的參數(shù)類型,使得實現(xiàn)該接口的類可以被當作一個參數(shù)進行傳遞。 RCIIP Software Testing 48 繼承 ? 繼承 ——是指在某個類的層次關(guān)聯(lián)中,不同的類共享屬性和操作的一種機制。繼承允許一個新的類(稱為子類)在一個已有的類(稱為父類或者基類)的基礎(chǔ)上進行定義。一個父類可以有多個子類,這些子類都是父類的特例。父類描述了這些子類的公共屬性和操作,子類中還可以定義它自己的屬性和操作。 ? 從測試的角度來看,繼承包含以下內(nèi)容: ? ( 1) 繼承提供一種機制 , 通過這種機制 , 潛在的錯誤能夠從一個類傳遞到它的派生類 。 ? ( 2) 子類是從父類繼承過來的 , 子類也就繼承了父類的屬性和操作 。 因此 , 可以用測試父類的方法對子類進行測試 。 RCIIP Software Testing 49 多態(tài)和動態(tài)綁定 ? 多態(tài) ——是指同一個操作作用于不同的對象可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。多態(tài)提供了將類看作是一種或多種類型的能力,它定義了用來支持多種不同類型所適應(yīng)的策略。多態(tài)可分為特定類型和通用類型兩類,其中特定類型包括:強制和重載兩類;通用類型包括:包含多態(tài)與參數(shù)多態(tài)兩類( 多態(tài)說明 )。 ? 與多態(tài)密切相關(guān)的一個概念就是動態(tài)綁定。傳統(tǒng)程序設(shè)計語言把過程調(diào)用與目標代碼的連接放在程序運行前進行,稱為靜態(tài)綁定。而動態(tài)綁定則是把這種連接推遲到運行時才進行。 ? 在程序運行過程中,當一個對象發(fā)送消息請求服務(wù)時,要根據(jù)接收對象的具體情況將請求的操作與實現(xiàn)的方法進行連接,即動態(tài)綁定。 RCIIP Software Testing 50 面向?qū)ο蟮能浖y試與傳統(tǒng)軟件測試 ? 面向?qū)ο蠹夹g(shù)所獨有的封裝、繼承、多態(tài)等新特點給測試帶來一系列新的問題,增加了測試的難度。與傳統(tǒng)的面向過程的程序設(shè)計相比,面向?qū)ο蟪绦蛟O(shè)計產(chǎn)生錯誤的可能性增大,或者使得傳統(tǒng)軟件測試中的重點不再那么突出,使原來測試經(jīng)驗和實踐證明的次要方面成為了主要問題。 ? 例如:函數(shù) y = Function(x) 如果該函數(shù)寫在傳統(tǒng)的面向過程的程序中,通常考慮的是函數(shù) Function()本身的行為特點。但若寫在面向?qū)ο蟮某绦蛑?,就不得不同時考慮基類函數(shù) Base::Function() 的行為和繼承類函數(shù) Derived::Function()的行為。 RCIIP Software Testing 51 ? 面向?qū)ο蠹夹g(shù)的特點給測試帶來的新問題具體表現(xiàn)為: ( 1)封裝把數(shù)據(jù)及對數(shù)據(jù)的操作封裝在一起,限制了對象屬性對外的透明性和外界對它的操作權(quán)限,在某種程度上避免了對數(shù)據(jù)的非法操作,有效防止了故障的擴散。但同時,封裝機制也給測試數(shù)據(jù)的生成、測試路徑的選取以及測試結(jié)構(gòu)的分析帶來了困難。 ( 2)繼承實現(xiàn)了共享父類中定義的數(shù)據(jù)和操作,同時也可定義新的特征。子類是在新的環(huán)境中存在,所以父類的正確性不能保證子類的正確性。繼承使代碼的重用率得到了提高,但同時也使故障的傳播幾率增加。 ( 3)多態(tài)和動態(tài)綁定增加了系統(tǒng)運行中可能的執(zhí)行路徑,而且給面向?qū)ο筌浖砹藝乐氐牟淮_定性,給測試覆蓋率的活動帶來新的困難。 面向?qū)ο蟮能浖y試與傳統(tǒng)軟件測試(續(xù)) RCIIP Software Testing 52 ? 與傳統(tǒng)軟件相比,由于存在的諸如繼承、關(guān)聯(lián)、動態(tài)綁定等關(guān)系,面向?qū)ο筌浖哂懈鼜?fù)雜的依賴關(guān)系,一個類將不可避免的依賴于其它的類,從而增加了面向?qū)ο筌浖y試的難度。 ? 傳統(tǒng)軟件中存在的依賴關(guān)系有: 變量間的數(shù)據(jù)依賴;模塊間的調(diào)用依賴;變量與其類型間的定義依賴;模塊與其變量間的功能依賴。 ? 面向?qū)ο筌浖舜嬖谏鲜鲆蕾囮P(guān)系外,還存在以下的依賴關(guān)系:類與類間的依賴;類與操作間的依賴;類與消息間的依賴;類與變量間的依賴;操作與變量間的依賴;操作與消息間的依賴;操作與操作間的依賴。 面向?qū)ο蟮能浖y試與傳統(tǒng)軟件測試(續(xù)) RCIIP Software Testing 53 面向?qū)ο筌浖y試模型 ? 面向?qū)ο蟮某绦蚪Y(jié)構(gòu)不再是傳統(tǒng)的功能模塊結(jié)構(gòu),作為一個整體,原有集成測試所要求的逐步將開發(fā)的模塊搭建在一起進行測試的方法已變得不可行。而且,面向?qū)ο筌浖仐壛藗鹘y(tǒng)的開發(fā)模式,對每個開發(fā)階段都有不同以往的要求和結(jié)果,已經(jīng)不可能用功能細化的觀點來檢測面向?qū)ο蠓治龊驮O(shè)計的結(jié)果。因此,傳統(tǒng)的測試模型對面向?qū)ο筌浖呀?jīng)不再適用。 ? 面向?qū)ο蟮能浖_發(fā)模型將開發(fā)過程定義為面向?qū)ο蠓治?OOA)、 面向?qū)ο笤O(shè)計 (OOD)和面向?qū)ο缶幊?(OOP)三個階段。針對這種開發(fā)模型,應(yīng)該建立一種新的 測試模型 。 RCIIP Software Testing 54 面向?qū)ο筌浖y試模型(續(xù)) 面向?qū)ο蟮臏y試模型 OO System Test OO Integrate Test OOA OOD OOP OOA Test OOD Test OOP Test OO Unit Test 面向?qū)ο? 分析的測試 面向?qū)ο? 設(shè)計的測試 面向?qū)ο? 編程的測試 面向?qū)ο笙到y(tǒng)測試 面向?qū)ο髥卧獪y試 面向?qū)ο蠹蓽y試 RCIIP Software Testing 55 面向?qū)ο筌浖y試模型(續(xù)) ? OOA Test 和 OOD Test 是對分析結(jié)果和設(shè)計結(jié)果的測試,主要是對分析設(shè)計產(chǎn)生的文檔進行測試,是軟件開發(fā)前期的關(guān)鍵性測試。 OOP Test 主要針對編程風格和程序代碼實現(xiàn)進行測試,主要的測試內(nèi)容在面向?qū)ο髥卧獪y試和面向?qū)ο蠹蓽y試中體現(xiàn)。 ? 面向?qū)ο髥卧獪y試針對程序內(nèi)部具體單一功能的模塊進行測試,比如在 C++程序中對類成員函數(shù)的測試。面向?qū)ο蠹蓽y試主要對系統(tǒng)內(nèi)部的相互服務(wù)進行測試,如成員函數(shù)間的相互作用、類間的消息傳遞等。面向?qū)ο笙到y(tǒng)測試是基于面向?qū)ο蠹蓽y試的最后階段的測試,主要以用戶需求為測試標準。 RCIIP Software Testing 56 面向?qū)ο蠓治龅臏y試( OOA Test) ? OOA直接映射問題空間,全面 地將問題空間中實現(xiàn)功能的實例抽象為對象(不同于 C++中的對象概念),用對象的結(jié)構(gòu)反映問題空間的復(fù)雜實例和復(fù)雜關(guān)系,用屬性和 服務(wù)表示實例的特性和行為。 ? OOA的測試重點在其完整性和冗余性。對 OOA階段的測試劃分為五個方面:對認定的對象的測試;對認定的結(jié)構(gòu)的測試;對認定的主題的測試;對定義的屬性和實例關(guān)聯(lián)的測試;對定義的服務(wù)和消息關(guān)聯(lián)的測試。 ——OOA中認定的對象:是指對問題空間中的結(jié)構(gòu)、其他系統(tǒng)、設(shè)備、被記憶的事件、系統(tǒng)涉及的人員等實際實例的抽象。 RCIIP Software Testing 57 面向?qū)ο笤O(shè)計的測試( OOD Test) ? OOD是 OOA的進一步細化和 擴充,重點在于說明項目的實施方案,來確定類和類的結(jié)構(gòu)。 ? 對 OOD的測試,應(yīng)針對功能的實現(xiàn)和重用以及對 OOA結(jié)果的拓展進行,從以下三方面考慮: ( 1)對認定的類的測試 ——是否涵蓋了 OOA中所有認定的對象;是否能體現(xiàn) OOA中定義的屬性;是否能實現(xiàn) OOA中定義的服務(wù);是否對應(yīng)著一個含義明確的數(shù)據(jù)抽象;是否盡可能少的依賴其他類;類中的方法是否單用途。 ( 2)對構(gòu)造的類層次結(jié)構(gòu)的測試 ——類層次結(jié)構(gòu)是否涵蓋了所有定義的類;是否能體現(xiàn) OOA中定義的實例關(guān)聯(lián);是否能實現(xiàn)OOA中定義的消息關(guān)聯(lián);子類是否具有父類沒有的新特性;子類間的共同特性是否完全在父類中得以體現(xiàn)。 ( 3)對類庫支持的測試 RCIIP Software Testing 58 面向?qū)ο缶幊痰臏y試( OOP Test) ? 面向?qū)ο蟪绦蚴前压δ艿膶崿F(xiàn)分布在類中。能正確實現(xiàn)功能的類,通
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1