《軟件質(zhì)量與測(cè)試》課件第七章面向?qū)ο鬁y(cè)試_第1頁(yè)
《軟件質(zhì)量與測(cè)試》課件第七章面向?qū)ο鬁y(cè)試_第2頁(yè)
《軟件質(zhì)量與測(cè)試》課件第七章面向?qū)ο鬁y(cè)試_第3頁(yè)
《軟件質(zhì)量與測(cè)試》課件第七章面向?qū)ο鬁y(cè)試_第4頁(yè)
《軟件質(zhì)量與測(cè)試》課件第七章面向?qū)ο鬁y(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本章內(nèi)容7.1面向?qū)ο鬁y(cè)試概述7.2面向?qū)ο蠓治鰷y(cè)試7.3面向?qū)ο笤O(shè)計(jì)測(cè)試7.4面向?qū)ο髥卧獪y(cè)試7.5面向?qū)ο蟮募蓽y(cè)試沈陽(yáng)師范大學(xué)軟件學(xué)院1本節(jié)內(nèi)容7.1面向?qū)ο鬁y(cè)試的概述7.1.1傳統(tǒng)的軟件開(kāi)發(fā)存在的問(wèn)題7.1.2面向?qū)ο蠹夹g(shù)7.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試沈陽(yáng)師范大學(xué)軟件學(xué)院27.1.1傳統(tǒng)的軟件開(kāi)發(fā)存在的問(wèn)題7.1.1傳統(tǒng)的軟件開(kāi)發(fā)存在的問(wèn)題(1)軟件重用性差(2)軟件可維護(hù)性差(3)開(kāi)發(fā)出的軟件不易滿足用戶需求沈陽(yáng)師范大學(xué)軟件學(xué)院37.1.2面向?qū)ο蠹夹g(shù)7.1.2.1基本概念(1)對(duì)象(2)對(duì)象的狀態(tài)和行為(3)類(lèi)(4)類(lèi)的結(jié)構(gòu)(類(lèi)間關(guān)系)(5)消息和方法沈陽(yáng)師范大學(xué)軟件學(xué)院47.1.2面向?qū)ο蠹夹g(shù)7.1.2.2面向?qū)ο筇卣鞣庋b繼承多態(tài)沈陽(yáng)師范大學(xué)軟件學(xué)院57.1.2面向?qū)ο蠹夹g(shù)7.1.2.3面向?qū)ο筌浖_(kāi)發(fā)方法與傳統(tǒng)的軟件開(kāi)發(fā)方法的區(qū)別:(1)調(diào)查、分析系統(tǒng)需求,建立一個(gè)全面、合理、統(tǒng)一的模型。(2)對(duì)象設(shè)計(jì)。(3)程序?qū)崿F(xiàn)。沈陽(yáng)師范大學(xué)軟件學(xué)院67.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試技術(shù)7.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(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è)試。沈陽(yáng)師范大學(xué)軟件學(xué)院77.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試技術(shù)7.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試:在傳統(tǒng)的面向過(guò)程程序中,對(duì)于函數(shù) y=Function(x);

只需要考慮一個(gè)函數(shù)(Function())的行為特點(diǎn),在面向?qū)ο蟪绦蛑?,你不得不同時(shí)考慮基類(lèi)函數(shù)(Base::Function())的行為和繼承類(lèi)函數(shù)(Derived::Function())的行為。面向?qū)ο蟪绦虻慕Y(jié)構(gòu)不再是傳統(tǒng)的功能模塊結(jié)構(gòu),作為一個(gè)整體,原有集成測(cè)試所要求的逐步將開(kāi)發(fā)的模塊搭建在一起進(jìn)行測(cè)試的方法已不可能。沈陽(yáng)師范大學(xué)軟件學(xué)院87.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試技術(shù)7.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試:面向?qū)ο筌浖y(cè)試是根據(jù)面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程結(jié)合面向?qū)ο蟮奶攸c(diǎn)提出的。它包括分析與設(shè)計(jì)模型測(cè)試技術(shù)、類(lèi)測(cè)試技術(shù)、對(duì)象交互測(cè)試技術(shù)、類(lèi)層次結(jié)構(gòu)測(cè)試技術(shù)、面向?qū)ο笙到y(tǒng)測(cè)試技術(shù)5大部分。沈陽(yáng)師范大學(xué)軟件學(xué)院97.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試技術(shù)7.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試:面向?qū)ο筌浖?duì)每個(gè)開(kāi)發(fā)階段都有不同以往的要求和結(jié)果,已經(jīng)不可能用功能細(xì)化的觀點(diǎn)來(lái)檢測(cè)面向?qū)ο蠓治龊驮O(shè)計(jì)的結(jié)果。針對(duì)面向?qū)ο筌浖拈_(kāi)發(fā)特點(diǎn),應(yīng)該有一種新的測(cè)試模型。沈陽(yáng)師范大學(xué)軟件學(xué)院107.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試技術(shù)7.1.3面向?qū)ο筌浖_(kāi)發(fā)和測(cè)試:面向?qū)ο筌浖?duì)每個(gè)開(kāi)發(fā)階段都有不同以往的要求和結(jié)果,已經(jīng)不可能用功能細(xì)化的觀點(diǎn)來(lái)檢測(cè)面向?qū)ο蠓治龊驮O(shè)計(jì)的結(jié)果。針對(duì)面向?qū)ο筌浖拈_(kāi)發(fā)特點(diǎn),應(yīng)該有一種新的測(cè)試模型。沈陽(yáng)師范大學(xué)軟件學(xué)院11本節(jié)內(nèi)容7.2面向?qū)ο蠓治鰷y(cè)試7.2.1面向?qū)ο竽P?.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試7.2.3對(duì)結(jié)構(gòu)范圍的測(cè)試7.2.4對(duì)結(jié)構(gòu)范圍的測(cè)試7.2.5對(duì)主題的測(cè)試7.2.6對(duì)定義的屬性和實(shí)例關(guān)聯(lián)的測(cè)試7.2.7對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試沈陽(yáng)師范大學(xué)軟件學(xué)院127.2.1面向?qū)ο竽P?.2.1面向?qū)ο竽P蜕蜿?yáng)師范大學(xué)軟件學(xué)院13OOAOODOOPOOATestOODTestOOPTestOOUnitTestOOIntegrateTestOOSystemTest7.2.1面向?qū)ο竽P?.2.1面向?qū)ο竽P蚈OA:將問(wèn)題空間中實(shí)現(xiàn)的功能進(jìn)行抽象,問(wèn)題空間中的實(shí)例抽象為對(duì)象,用對(duì)象的結(jié)構(gòu)反映問(wèn)題空間的復(fù)雜關(guān)系,用屬性和服務(wù)表示實(shí)例的特殊性和行為OOD:建立類(lèi)結(jié)構(gòu)或進(jìn)一步構(gòu)造類(lèi)庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題空間的抽象。OOP:軟件的計(jì)算機(jī)實(shí)現(xiàn)。沈陽(yáng)師范大學(xué)軟件學(xué)院147.2.1面向?qū)ο竽P?.2.1面向?qū)ο竽P蚈OA:將問(wèn)題空間中實(shí)現(xiàn)的功能進(jìn)行抽象,問(wèn)題空間中的實(shí)例抽象為對(duì)象,用對(duì)象的結(jié)構(gòu)反映問(wèn)題空間的復(fù)雜關(guān)系,用屬性和服務(wù)表示實(shí)例的特殊性和行為OOD:建立類(lèi)結(jié)構(gòu)或進(jìn)一步構(gòu)造類(lèi)庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題空間的抽象。OOP:軟件的計(jì)算機(jī)實(shí)現(xiàn)。沈陽(yáng)師范大學(xué)軟件學(xué)院157.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試7.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試OOA直接映射問(wèn)題空間,全面地在問(wèn)題空間中實(shí)現(xiàn)功能的現(xiàn)實(shí)抽象化。OOA必須回答:(1)為完成用戶要求,系統(tǒng)應(yīng)提供哪些功能(2)系統(tǒng)應(yīng)由哪些對(duì)象構(gòu)成(3)每個(gè)對(duì)象應(yīng)有哪些屬性和服務(wù)(4)對(duì)象間應(yīng)有怎樣的聯(lián)系沈陽(yáng)師范大學(xué)軟件學(xué)院167.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試7.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試OOA中認(rèn)定的對(duì)象是對(duì)問(wèn)題空間中的結(jié)構(gòu),其他系統(tǒng),設(shè)備,被記憶的事件,系統(tǒng)涉及的人員等實(shí)際實(shí)例的抽象。對(duì)它的測(cè)試可以從如下方面考慮:(1)抽象的對(duì)象是否全面,是否問(wèn)題空間中所有涉及到的實(shí)例都反映在認(rèn)定的抽象對(duì)象中。(2)認(rèn)定的對(duì)象是否具有多個(gè)屬性。只有一個(gè)屬性的對(duì)象通常應(yīng)看成其他對(duì)象的屬性,而不是抽象為獨(dú)立的對(duì)象。沈陽(yáng)師范大學(xué)軟件學(xué)院177.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試7.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試

(3)對(duì)認(rèn)定為同一對(duì)象的實(shí)例是否有共同的,區(qū)別于其他實(shí)例的共同屬性。(4)對(duì)認(rèn)定為同一對(duì)象的實(shí)例是否提供或需要相同的服務(wù),如果服務(wù)隨著不同的實(shí)例而變化,認(rèn)定的對(duì)象就需要分解或利用繼承性來(lái)分類(lèi)表示。(5)認(rèn)定的對(duì)象的名稱(chēng)應(yīng)該盡量準(zhǔn)確,適用。OA中認(rèn)定的對(duì)象是對(duì)問(wèn)題空間中的結(jié)構(gòu),其他系統(tǒng),設(shè)備,被記憶的事件,系統(tǒng)涉及的人員等實(shí)際實(shí)例的抽象。對(duì)它的測(cè)試可以從如下方面考慮:沈陽(yáng)師范大學(xué)軟件學(xué)院187.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試7.2.2對(duì)類(lèi)和對(duì)象范圍的測(cè)試如何在眾多調(diào)查資料中進(jìn)行確定類(lèi)與對(duì)象呢?解決這一問(wèn)題的方法一般包含以下幾個(gè)方面(1)基礎(chǔ)素材(2)潛在的對(duì)象(3)確定對(duì)象(4)圖形表示,用圖形化描述類(lèi)和對(duì)象沈陽(yáng)師范大學(xué)軟件學(xué)院197.2.3對(duì)結(jié)構(gòu)范圍的測(cè)試7.2.3對(duì)結(jié)構(gòu)范圍的測(cè)試結(jié)構(gòu)表示問(wèn)題空間的復(fù)雜程度。標(biāo)識(shí)結(jié)構(gòu)的目的在于管理問(wèn)題域模型。在OOA中,結(jié)構(gòu)是指泛化—特化結(jié)構(gòu)(isa)和整體—部分結(jié)構(gòu)(hasa)兩部分的總和。沈陽(yáng)師范大學(xué)軟件學(xué)院207.2.3對(duì)結(jié)構(gòu)范圍的測(cè)試7.2.3對(duì)結(jié)構(gòu)范圍的測(cè)試1、確定泛化—特化結(jié)構(gòu)(分類(lèi)結(jié)構(gòu))對(duì)于結(jié)構(gòu)中的一種對(duì)象,尤其是處于高層的對(duì)象,是否在問(wèn)題空間中含有不同于下一層對(duì)象的特殊性可能,即是否能派生出下一層對(duì)象對(duì)于結(jié)構(gòu)中的一種對(duì)象,尤其是處于同一低層的對(duì)象,是否能抽象出現(xiàn)實(shí)中有有意義的更一般的上層對(duì)象對(duì)所有認(rèn)定的對(duì)象,是否能在問(wèn)題空間內(nèi)向上層抽象出在現(xiàn)實(shí)中有意義的對(duì)象高層的對(duì)象的特性是否完全體現(xiàn)下層的共性低層的對(duì)象是否有高層特性基礎(chǔ)上的特殊性沈陽(yáng)師范大學(xué)軟件學(xué)院217.2.3對(duì)結(jié)構(gòu)范圍的測(cè)試7.2.3對(duì)結(jié)構(gòu)范圍的測(cè)試2、確定整體—部分結(jié)構(gòu)(組裝結(jié)構(gòu))整體(對(duì)象)和部分(對(duì)象)的組裝關(guān)系是否符合現(xiàn)實(shí)的關(guān)系整體(對(duì)象)和部分(對(duì)象)是否在考慮的問(wèn)題空間中的有實(shí)際應(yīng)用整體(對(duì)象)是否遺漏了反映在問(wèn)題空間中有用的部件部分(對(duì)象)是否能夠在問(wèn)題空間中組裝新的有現(xiàn)實(shí)意義的整體(對(duì)象)沈陽(yáng)師范大學(xué)軟件學(xué)院227.2.4對(duì)主題的測(cè)試7.2.4對(duì)主題的測(cè)試

主題是一種知道研究和處理大型復(fù)雜模型的機(jī)制。有助于分解系統(tǒng),區(qū)分結(jié)構(gòu),避免過(guò)多的信息量同時(shí)出現(xiàn)所帶來(lái)的麻煩。主題的確定可以幫助人們從一個(gè)更高的層次上觀察和表達(dá)系統(tǒng)的總體模型。主題如同文章對(duì)個(gè)部分內(nèi)容的概要。沈陽(yáng)師范大學(xué)軟件學(xué)院237.2.4對(duì)主題的測(cè)試7.2.4對(duì)主題的測(cè)試對(duì)主題層的測(cè)試應(yīng)該考慮以下方面:依據(jù)GeorgeMiler的“7+2”原則,如果主題個(gè)數(shù)超過(guò)7個(gè),就要求對(duì)有較密切屬性和服務(wù)的主題進(jìn)行歸并。主題所反映的一組對(duì)象和結(jié)構(gòu)是否具有相同和相近的屬性和服務(wù)。認(rèn)定的主題是否是對(duì)象和結(jié)構(gòu)更高層的抽象,是否便于理解OOA結(jié)果的概括。主題間的消息聯(lián)系(抽象)是否代表了主題所反映的對(duì)象和結(jié)構(gòu)之間的所有關(guān)聯(lián)。沈陽(yáng)師范大學(xué)軟件學(xué)院247.2.5對(duì)定義的屬性和實(shí)例關(guān)聯(lián)的測(cè)試7.2.5對(duì)定義的屬性和實(shí)例關(guān)聯(lián)的測(cè)試屬性是用來(lái)描述對(duì)象或結(jié)構(gòu)所反映的實(shí)例的特性。而實(shí)例關(guān)聯(lián)是反映實(shí)例集合間的映射關(guān)系。對(duì)屬性和實(shí)例關(guān)聯(lián)的測(cè)試從如下方面考慮:定義的屬性是否對(duì)相應(yīng)的對(duì)象和分類(lèi)結(jié)構(gòu)的每個(gè)現(xiàn)實(shí)實(shí)例都適用。定義的屬性在現(xiàn)實(shí)世界是否與這種實(shí)例關(guān)系密切。定義的屬性在問(wèn)題空間是否與這種實(shí)例關(guān)系密切。定義的屬性是否能夠不依賴(lài)于其他屬性被獨(dú)立理解。定義的屬性在分類(lèi)結(jié)構(gòu)中的位置是否恰當(dāng),低層對(duì)象的共有屬性是否在上層對(duì)象屬性體現(xiàn)。在問(wèn)題空間中每個(gè)對(duì)象的屬性是否定義完整。定義的實(shí)例關(guān)聯(lián)是否符合現(xiàn)實(shí)。在問(wèn)題空間中實(shí)例關(guān)聯(lián)是否定義完整,特別需要注意1-多和多-多的實(shí)例關(guān)聯(lián)。沈陽(yáng)師范大學(xué)軟件學(xué)院257.2.5對(duì)定義的屬性和實(shí)例關(guān)聯(lián)的測(cè)試7.2.5對(duì)定義的屬性和實(shí)例關(guān)聯(lián)的測(cè)試具體步驟如下:1、確定屬性的范圍2、實(shí)例連接3、詳細(xì)說(shuō)明屬性和實(shí)例連接的約束沈陽(yáng)師范大學(xué)軟件學(xué)院267.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試7.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試對(duì)象接到消息后所執(zhí)行的操作稱(chēng)為為它提供的服務(wù)。描述了系統(tǒng)需要執(zhí)行的處理和功能。定義服務(wù)的目的在于定義對(duì)象的行為和對(duì)象間的通信(消息連接)。事實(shí)上,兩個(gè)對(duì)象之間可能存在著由于通信需要而形成的關(guān)系,即消息連接。消息連接表示從一個(gè)對(duì)象發(fā)送消息到另一個(gè)對(duì)象,由那個(gè)對(duì)象完成某些處理。沈陽(yáng)師范大學(xué)軟件學(xué)院277.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試7.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試

確定服務(wù)的具體解決方法包括四個(gè)基本步驟:1、識(shí)別對(duì)象狀態(tài)2、識(shí)別所要請(qǐng)求的服務(wù)3、識(shí)別消息連接4、定義服務(wù)沈陽(yáng)師范大學(xué)軟件學(xué)院287.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試7.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試從以下方面進(jìn)行:對(duì)象和結(jié)構(gòu)在問(wèn)題空間的不同狀態(tài)是否定義了相應(yīng)的服務(wù)。對(duì)象或結(jié)構(gòu)所需要的服務(wù)是否都定義了相應(yīng)的消息關(guān)聯(lián)。定義的消息關(guān)聯(lián)所指引的服務(wù)提供是否正確。沿著消息關(guān)聯(lián)執(zhí)行的線程是否合理,是否符合現(xiàn)實(shí)過(guò)程。定義的服務(wù)是否重復(fù),是否定義了能夠得到的服務(wù)。沈陽(yáng)師范大學(xué)軟件學(xué)院297.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試7.2.5對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試對(duì)定義的服務(wù)和消息關(guān)聯(lián)的測(cè)試從以下方面進(jìn)行:對(duì)象和結(jié)構(gòu)在問(wèn)題空間的不同狀態(tài)是否定義了相應(yīng)的服務(wù)。對(duì)象或結(jié)構(gòu)所需要的服務(wù)是否都定義了相應(yīng)的消息關(guān)聯(lián)。定義的消息關(guān)聯(lián)所指引的服務(wù)提供是否正確。沿著消息關(guān)聯(lián)執(zhí)行的線程是否合理,是否符合現(xiàn)實(shí)過(guò)程。定義的服務(wù)是否重復(fù),是否定義了能夠得到的服務(wù)。沈陽(yáng)師范大學(xué)軟件學(xué)院30本節(jié)內(nèi)容7.3面向?qū)ο笤O(shè)計(jì)的測(cè)試7.3.1面向?qū)ο笤O(shè)計(jì)概述7.3.2確定測(cè)試的問(wèn)題域7.3.3人機(jī)交互部件設(shè)計(jì)的測(cè)試沈陽(yáng)師范大學(xué)軟件學(xué)院317.3.1面向?qū)ο笤O(shè)計(jì)概述7.3.1面向?qū)ο笤O(shè)計(jì)概述面向?qū)ο笤O(shè)計(jì)(OOD)采用“造型的觀點(diǎn)”,以O(shè)OA為基礎(chǔ)歸納出類(lèi),并建立類(lèi)結(jié)構(gòu)或進(jìn)一步構(gòu)造成類(lèi)庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題空間的抽象。OOD歸納的類(lèi),可以是對(duì)象簡(jiǎn)單的延續(xù),可以是不同對(duì)象的相同或相似的服務(wù)。由此可見(jiàn),OOD不是在OOA上的另一思維方式的大動(dòng)干戈,而是OOA的進(jìn)一步細(xì)化和更高層的抽象。面向?qū)ο笤O(shè)計(jì)(OOD)是以O(shè)OA歸納出的類(lèi)為基礎(chǔ),建立類(lèi)結(jié)構(gòu)甚至進(jìn)一步構(gòu)造成類(lèi)庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題空間的抽象。沈陽(yáng)師范大學(xué)軟件學(xué)院327.3.1面向?qū)ο笤O(shè)計(jì)概述7.3.1面向?qū)ο笤O(shè)計(jì)概述

OOD設(shè)計(jì)模型有四個(gè)部分和五個(gè)層次組成:?jiǎn)栴}空間部件PDC人機(jī)交互部件HIC任務(wù)管理部件TMC數(shù)據(jù)管理部件DMC沈陽(yáng)師范大學(xué)軟件學(xué)院337.3.1面向?qū)ο笤O(shè)計(jì)概述7.3.1面向?qū)ο笤O(shè)計(jì)概述五個(gè)層次為主題層、類(lèi)與對(duì)象層、結(jié)構(gòu)層、屬性層和服務(wù)層。這五個(gè)層次分別面向?qū)ο蠓治龇椒ㄖ械亩x主題、確定對(duì)象、確定結(jié)構(gòu)、定義屬性、確定服務(wù)等行動(dòng)。沈陽(yáng)師范大學(xué)軟件學(xué)院34問(wèn)題空間部件人機(jī)交互部件任務(wù)管理部件數(shù)據(jù)管理部件主題層類(lèi)與對(duì)象層結(jié)構(gòu)層屬性層服務(wù)層問(wèn)題空間部件人機(jī)交互部件任務(wù)管理部件數(shù)據(jù)管理部件結(jié)構(gòu)層7.3.1面向?qū)ο笤O(shè)計(jì)概述7.3.1面向?qū)ο笤O(shè)計(jì)概述從以下方面對(duì)OOD進(jìn)行測(cè)試:確定測(cè)試的問(wèn)題域人機(jī)交互部分設(shè)計(jì)的測(cè)試對(duì)認(rèn)定的類(lèi)的測(cè)試對(duì)構(gòu)造的類(lèi)層次結(jié)構(gòu)的測(cè)試對(duì)類(lèi)庫(kù)支持的測(cè)試對(duì)測(cè)試結(jié)果及對(duì)模型的測(cè)試覆蓋率進(jìn)行評(píng)估沈陽(yáng)師范大學(xué)軟件學(xué)院357.3.2確定測(cè)試的問(wèn)題域7.3.2確定測(cè)試的問(wèn)題域在面向?qū)ο笤O(shè)計(jì)中,面向?qū)ο蠓治觯∣OA)的結(jié)果恰好符合面向?qū)ο笤O(shè)計(jì)的問(wèn)題空間部分,因此OOA的結(jié)果就是OOD部分模型的一個(gè)完整部分。為了解決一些特定設(shè)計(jì)所需要考慮的實(shí)際變化,要對(duì)OOA的結(jié)果進(jìn)行一些改進(jìn)和增補(bǔ)。根據(jù)需求的變化,對(duì)OOA產(chǎn)生的模型中的某些類(lèi)與對(duì)象、結(jié)構(gòu)、屬性、操作進(jìn)行組合與分解。根據(jù)OOD的附加原則,增加必要的類(lèi)、屬性和關(guān)系。沈陽(yáng)師范大學(xué)軟件學(xué)院367.3.2確定測(cè)試的問(wèn)題域7.3.2確定測(cè)試的問(wèn)題域1、復(fù)用設(shè)計(jì)

2、把問(wèn)題域相關(guān)的類(lèi)關(guān)聯(lián)起來(lái)

3、加入一般化類(lèi)以建立類(lèi)間協(xié)議

4、調(diào)整繼承支持級(jí)別

5、改進(jìn)性嫩

6、加入較低層的構(gòu)件沈陽(yáng)師范大學(xué)軟件學(xué)院377.3.3人機(jī)交互部件設(shè)計(jì)的測(cè)試7.3.3人機(jī)交互部件設(shè)計(jì)的測(cè)試OOA階段給出所需的屬性和操作,同時(shí)必須根據(jù)需求把交互的細(xì)節(jié)加入到用戶界面的設(shè)計(jì)中,包括有效的人機(jī)交互所必須的實(shí)際顯示和輸入。人機(jī)交互部件的測(cè)試策略由以下幾個(gè)方面構(gòu)成:用戶分類(lèi);描述人及任務(wù)腳本;設(shè)計(jì)命令層;設(shè)計(jì)詳細(xì)的交互;繼續(xù)做原型;設(shè)計(jì)HIC類(lèi);根據(jù)圖形用戶界面進(jìn)行設(shè)計(jì);沈陽(yáng)師范大學(xué)軟件學(xué)院38本節(jié)內(nèi)容7.4面向?qū)ο蟮膯卧獪y(cè)試7.4.1面向?qū)ο髥卧獪y(cè)試的內(nèi)容7.4.2單元測(cè)試開(kāi)始的時(shí)間7.4.3單元測(cè)試的人員7.4.4單元測(cè)試方法7.4.5方法的測(cè)試7.4.6測(cè)試程度沈陽(yáng)師范大學(xué)軟件學(xué)院397.4.1面向?qū)ο髥卧獪y(cè)試的內(nèi)容7.4.1面向?qū)ο髥卧獪y(cè)試的內(nèi)容

面向?qū)ο蟮膯卧獪y(cè)試的對(duì)象是軟件設(shè)計(jì)的最小單位—類(lèi)。單元測(cè)試的依據(jù)是詳細(xì)設(shè)計(jì),單元測(cè)試應(yīng)對(duì)類(lèi)中所有重要的屬性和方法設(shè)計(jì)測(cè)試用例,以發(fā)現(xiàn)類(lèi)內(nèi)部的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試技術(shù),系統(tǒng)內(nèi)多個(gè)類(lèi)快可以并行進(jìn)行測(cè)試。沿用單元測(cè)試概念,實(shí)際測(cè)試類(lèi)成員函數(shù)。一些傳統(tǒng)的測(cè)試方法在面向?qū)ο蟮膯卧獪y(cè)試中都可以使用,如等價(jià)類(lèi)劃分、邊界值分析、因果圖、邏輯覆蓋、路徑分析法等。沈陽(yáng)師范大學(xué)軟件學(xué)院407.4.1面向?qū)ο髥卧獪y(cè)試的內(nèi)容7.4.1面向?qū)ο髥卧獪y(cè)試的內(nèi)容

面向?qū)ο蟮膯卧褪穷?lèi),單元測(cè)試實(shí)際測(cè)試的就是對(duì)類(lèi)的測(cè)試。類(lèi)測(cè)試的目的主要確保一個(gè)類(lèi)的代碼能夠完全滿足類(lèi)的說(shuō)明所描述的要求。沈陽(yáng)師范大學(xué)軟件學(xué)院417.4.1面向?qū)ο髥卧獪y(cè)試的內(nèi)容7.4.1面向?qū)ο髥卧獪y(cè)試的內(nèi)容

面向?qū)ο蟮膯卧褪穷?lèi),單元測(cè)試實(shí)際測(cè)試的就是對(duì)類(lèi)的測(cè)試。類(lèi)測(cè)試的目的主要確保一個(gè)類(lèi)的代碼能夠完全滿足類(lèi)的說(shuō)明所描述的要求。沈陽(yáng)師范大學(xué)軟件學(xué)院427.4.2單元測(cè)試開(kāi)始的時(shí)間7.4.2單元測(cè)試開(kāi)始的時(shí)間

單元測(cè)試開(kāi)始的時(shí)間一般在完全說(shuō)明了這個(gè)類(lèi),并且準(zhǔn)備對(duì)其編碼后不久。單元測(cè)試開(kāi)始時(shí)要制定一個(gè)測(cè)試計(jì)劃。在反復(fù)迭代的過(guò)程中,類(lèi)的實(shí)現(xiàn)和說(shuō)明在進(jìn)程中可能會(huì)發(fā)生變化,所以應(yīng)該在軟件的其他部件使用該類(lèi)之前對(duì)類(lèi)進(jìn)行測(cè)試,同時(shí)還有必要執(zhí)行回歸測(cè)試。沈陽(yáng)師范大學(xué)軟件學(xué)院437.4.3單元測(cè)試的人員7.4.3單元測(cè)試的人員

由另一個(gè)類(lèi)的開(kāi)發(fā)人員編寫(xiě)測(cè)試計(jì)劃,由該類(lèi)的開(kāi)發(fā)人員完成測(cè)試,避免對(duì)類(lèi)說(shuō)明的錯(cuò)誤理解沈陽(yáng)師范大學(xué)軟件學(xué)院447.4.4單元測(cè)試方法7.4.4單元測(cè)試方法

單元測(cè)試的方法有代碼檢查和執(zhí)行測(cè)試用例。在某些情況下,用代碼檢查代替基于執(zhí)行的測(cè)試方法是可行的,但是,代碼檢查也存在以下兩個(gè)不利之處:代碼檢查容易受人為因素影響代碼檢查在回歸測(cè)試方面明顯需要更多的工作量沈陽(yáng)師范大學(xué)軟件學(xué)院457.4.4單元測(cè)試方法7.4.4單元測(cè)試方法類(lèi)測(cè)試按順序分為以下三部分:基于服務(wù)的測(cè)試:測(cè)試類(lèi)中的每個(gè)方法。基于狀態(tài)的測(cè)試:測(cè)試類(lèi)的實(shí)例在其生命周期各個(gè)狀態(tài)下的情況。基于響應(yīng)狀態(tài)的測(cè)試:從類(lèi)和對(duì)象的責(zé)任出發(fā),以外界向?qū)ο蟀l(fā)送特定消息序列的方法來(lái)測(cè)試對(duì)象的各個(gè)響應(yīng)狀態(tài)。沈陽(yáng)師范大學(xué)軟件學(xué)院467.4.5方法的測(cè)試7.4.5方法的測(cè)試在測(cè)試類(lèi)的功能實(shí)現(xiàn)時(shí),應(yīng)該首先保證類(lèi)成員函數(shù)的正確性。測(cè)試時(shí)主要考慮封裝在類(lèi)中的一個(gè)方法對(duì)數(shù)據(jù)進(jìn)行的操作,可以采用傳統(tǒng)的模塊測(cè)試方法,通過(guò)向所在對(duì)象發(fā)消息來(lái)執(zhí)行,它的執(zhí)行與狀態(tài)有關(guān)。傳統(tǒng)的針對(duì)模塊的設(shè)計(jì)測(cè)試用例的技術(shù),如等價(jià)劃分、邊界值分析、因果圖、邏輯覆蓋、路徑覆蓋等方法,仍然可以作為測(cè)試類(lèi)中每個(gè)方法的主要技術(shù)。沈陽(yáng)師范大學(xué)軟件學(xué)院477.4.5方法的測(cè)試7.4.5方法的測(cè)試在面向?qū)ο蟮南到y(tǒng)中的方法,是通過(guò)消息來(lái)驅(qū)動(dòng)執(zhí)行的,要測(cè)試類(lèi)中的方法,必須用一個(gè)驅(qū)動(dòng)程序?qū)Ρ粶y(cè)方法發(fā)送一條消息以驅(qū)動(dòng)其執(zhí)行,如果被測(cè)模塊或方法中調(diào)用了其他模塊或方法,則需要設(shè)計(jì)一個(gè)模擬被調(diào)子程序功能的存根程序,驅(qū)動(dòng)程序、存根程序及被測(cè)模塊或方法組成一個(gè)獨(dú)立的可執(zhí)行單元。沈陽(yáng)師范大學(xué)軟件學(xué)院487.4.5方法的測(cè)試7.4.5方法的測(cè)試在面向?qū)ο筌浖?,在保證單個(gè)方法功能正確的基礎(chǔ)上,還應(yīng)該處理好測(cè)試方法之間的協(xié)助關(guān)系。為了提高方法的重用性,設(shè)計(jì)方法的一個(gè)準(zhǔn)則是提高方法的內(nèi)聚,即在一個(gè)方法中只完成單個(gè)功能。對(duì)于繼承過(guò)來(lái)的方法,也要加以測(cè)試。運(yùn)行測(cè)試用例的時(shí)候,必須提供能夠?qū)嵗臉额?lèi),以及起驅(qū)動(dòng)器作用的“主程序”類(lèi),來(lái)提供和分析測(cè)試用例。。沈陽(yáng)師范大學(xué)軟件學(xué)院497.4.6測(cè)試程度7.4.6測(cè)試程度可以根據(jù)已經(jīng)測(cè)試了多少類(lèi)的實(shí)現(xiàn)和多少類(lèi)的說(shuō)明來(lái)衡量測(cè)試的充分性。通常需要將這兩者都考慮到,希望測(cè)試到操作和狀態(tài)轉(zhuǎn)換的各種組合情況。一個(gè)對(duì)象能維持自己的狀態(tài),而狀態(tài)一般來(lái)說(shuō)也會(huì)影響操作的含義。沈陽(yáng)師范大學(xué)軟件學(xué)院50本節(jié)內(nèi)容7.5面向?qū)ο蟮募蓽y(cè)試7.5.1面向?qū)ο蠹蓽y(cè)試的內(nèi)容7.5.2基于類(lèi)間協(xié)作關(guān)系的橫向測(cè)試7.5.3基于類(lèi)間繼承關(guān)系的縱向測(cè)試沈陽(yáng)師范大學(xué)軟件學(xué)院517.5.1面向?qū)ο蠹蓽y(cè)試的內(nèi)容7.5.1面向?qū)ο蠹蓽y(cè)試的內(nèi)容傳統(tǒng)的集成測(cè)試,是由底向上通過(guò)集成完成的功能模塊進(jìn)行測(cè)試,一般可以在部分程序編譯完成的情況下進(jìn)行。對(duì)于面向?qū)ο蟪绦?,相互調(diào)用的功能是散布在程序的不同類(lèi)中,類(lèi)通過(guò)消息相互作用申請(qǐng)和提供服務(wù)。類(lèi)的行為與它的狀態(tài)密切相關(guān),狀態(tài)不僅僅是體現(xiàn)在類(lèi)數(shù)據(jù)成員的值,也許還包括其他類(lèi)中的狀態(tài)信息。由此可見(jiàn),類(lèi)相互依賴(lài)極其緊密,根本無(wú)法在編譯不完全的程序上對(duì)類(lèi)進(jìn)行測(cè)試。面向?qū)ο蟮募蓽y(cè)試通常需要在整個(gè)程序編譯完成后進(jìn)行。面向?qū)ο蟪绦蚓哂袆?dòng)態(tài)特性,程序的控制流往往無(wú)法確定,因此也只能對(duì)整個(gè)編譯后的程序做基于黑盒的集成測(cè)試。沈陽(yáng)師范大學(xué)軟件學(xué)院527.5.1面向?qū)ο蠹蓽y(cè)試的內(nèi)容7.5.1面向?qū)ο蠹蓽y(cè)試的內(nèi)容把一組相互有影響的類(lèi)看作一個(gè)整體稱(chēng)為類(lèi)簇。類(lèi)簇的測(cè)試主要依據(jù)系統(tǒng)中相關(guān)類(lèi)的層次關(guān)系,檢查類(lèi)之間相互作用的正確性,即檢查各相關(guān)類(lèi)之間消息連接的合法性、子類(lèi)的繼承性與父類(lèi)的一致性、動(dòng)態(tài)綁定執(zhí)行的正確性、類(lèi)簇協(xié)同完成系統(tǒng)功能的正確性等。其測(cè)試有兩種不同策略:基于類(lèi)間協(xié)作關(guān)系的橫向測(cè)試和基于類(lèi)間繼承關(guān)系的縱向測(cè)試。沈陽(yáng)師范大學(xué)軟件學(xué)院537.5.2基于類(lèi)間協(xié)作關(guān)系的橫向測(cè)試7.5.2基于類(lèi)間協(xié)作關(guān)系的橫向測(cè)試由系統(tǒng)的一個(gè)輸入事件為激勵(lì),對(duì)其觸發(fā)的一組類(lèi)進(jìn)行測(cè)試,執(zhí)行相應(yīng)的操作/消息處理路徑,最后終止于某一輸出時(shí)間。應(yīng)用回歸測(cè)試對(duì)以測(cè)試過(guò)的類(lèi)集再重新執(zhí)行一次,以保證加入新類(lèi)時(shí)不會(huì)產(chǎn)生意外的結(jié)果沈陽(yáng)師范大學(xué)軟件學(xué)院547.5.3基于類(lèi)間繼承關(guān)系的縱向測(cè)試7.5.3基于類(lèi)間繼承關(guān)系的縱向測(cè)試首先通過(guò)測(cè)試獨(dú)立的類(lèi)來(lái)開(kāi)始構(gòu)造系統(tǒng),在獨(dú)立類(lèi)測(cè)試完成后,進(jìn)行下一層繼承獨(dú)立類(lèi)的類(lèi)的測(cè)試,這個(gè)依賴(lài)類(lèi)層次的測(cè)試序列一直循環(huán)執(zhí)行到構(gòu)造完整個(gè)系統(tǒng)為止。集成測(cè)試在面向?qū)ο笙到y(tǒng)中屬于應(yīng)用生命周期的一個(gè)階段,可在兩個(gè)層次上進(jìn)行:對(duì)一個(gè)新類(lèi)進(jìn)行測(cè)試,并測(cè)試在定義中所涉及的那些類(lèi)的集成。將各部件集合在一起組成完整的系統(tǒng)進(jìn)行測(cè)試。沈陽(yáng)師范大學(xué)軟件學(xué)院557.5.3基于類(lèi)間繼承關(guān)系的縱向測(cè)試7.5.3基于類(lèi)間繼承關(guān)系的縱向測(cè)試

面向?qū)ο蟮募蓽y(cè)試能夠檢測(cè)出相對(duì)獨(dú)立的單元測(cè)試無(wú)法檢測(cè)出的那些類(lèi)相互作用

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論