版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試v本章重點(diǎn):本章重點(diǎn):v掌握面向?qū)ο蟮能浖y試基本概念v掌握面向?qū)ο筌浖y試內(nèi)容v熟悉面向?qū)ο筌浖y試方法面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試v本章重點(diǎn):本章重點(diǎn):v掌握面向?qū)ο蟮能浖y試基本概念v掌握面向?qū)ο筌浖y試內(nèi)容v熟悉面向?qū)ο筌浖y試方法 面向?qū)ο蠓椒ㄊ且环N把面向?qū)ο蟮乃枷霊?yīng)用于軟件開放過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。 面向?qū)ο蠓椒ㄗ鳛橐环N新型的獨(dú)具優(yōu)越性的新方法正在逐漸代替被廣泛使用的面向過程開發(fā)方法,被看成是解決軟件危機(jī)的新興技術(shù)。面向?qū)ο蠹夹g(shù)產(chǎn)生更好的系統(tǒng)結(jié)構(gòu),更規(guī)范的編程風(fēng)格,極大的優(yōu)化了數(shù)據(jù)使用的安全性
2、,提高了程序代碼的重用,一些人就此認(rèn)為面向?qū)ο蠹夹g(shù)開發(fā)出的程序無需進(jìn)行測試。面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試一、面向?qū)ο蟮能浖y試基本概念 面向?qū)ο蟪绦虻慕Y(jié)構(gòu)不再是傳統(tǒng)的功能模塊結(jié)構(gòu),作為一個(gè)整體,原有集成測試所要求的逐步將開發(fā)的模塊搭建在一起進(jìn)行測試的方法已成為不可能。而且,面向?qū)ο筌浖仐壛藗鹘y(tǒng)的開發(fā)模式,對每個(gè)開發(fā)階段都有不同以往的要求和結(jié)果,已經(jīng)不可能用功能細(xì)化的觀點(diǎn)來檢測面向?qū)ο蠓治龊驮O(shè)計(jì)的結(jié)果。因此,傳統(tǒng)的測試模型對面向?qū)ο筌浖呀?jīng)不再適用。針對面向?qū)ο筌浖拈_發(fā)特點(diǎn),應(yīng)該有一種新的測試模型。面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試 傳統(tǒng)測試模式與面向?qū)ο蟮臏y試模式的最主要的區(qū)別在
3、于最主要的區(qū)別在于,面向?qū)ο蟮臏y試更關(guān)注對象而不是完成輸入/輸出的單一功能,這樣的話測試可以在分析與設(shè)計(jì)階段就先行介入,便得測試更好的配合軟件生產(chǎn)過程并為之服務(wù)。與傳統(tǒng)測試模式相比,面向?qū)ο鬁y試的優(yōu)點(diǎn)優(yōu)點(diǎn)在于:更早地定義出測試用例;早期介入可以降低成本;盡早的編寫系統(tǒng)測試用例以便于開發(fā)人員與測試人員對系統(tǒng)需求的理解保持一致;面向?qū)ο蟮臏y試模式更注重于軟件的實(shí)質(zhì)。面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試區(qū)別區(qū)別具體有如下不同:1、測試的對象不同:傳統(tǒng)軟件測試的對象是面向過程的軟件,一般用結(jié)構(gòu)化方法構(gòu)建;面向?qū)ο鬁y試的對象是面向?qū)ο筌浖?,采用面向?qū)ο蟮母拍詈驮瓌t,用面向?qū)ο蟮姆椒?gòu)建。2、測試的基本單
4、位不同:前者是模塊;面向?qū)ο鬁y試的基本單元是類和對象。3、測試的方法和策略不同:傳統(tǒng)軟件測試采用白盒測試,黑盒測試,路徑覆蓋等方法;面向?qū)ο鬁y試不僅吸納了傳統(tǒng)測試方法,也采用各種類測試等方法,而且集成測試和系統(tǒng)測試的方法和策略也很不相同。面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試區(qū)別區(qū)別 廣義的軟件測試實(shí)際是由確認(rèn)、廣義的軟件測試實(shí)際是由確認(rèn)、驗(yàn)證、測試三個(gè)方面組成。驗(yàn)證、測試三個(gè)方面組成。確認(rèn):確認(rèn):是評估將要開發(fā)的軟件產(chǎn)品是否是正確無誤、可行和有價(jià)值的。驗(yàn)證:驗(yàn)證:是檢測軟件開發(fā)的每個(gè)階段、每個(gè)步驟的結(jié)果是否正確無誤,是否與軟件開發(fā)各階段的要求或期望的結(jié)果相一致。驗(yàn)證意味著確保軟件是會正確無誤的
5、實(shí)現(xiàn)軟件的需求,開發(fā)過程是沿著正確的方向在進(jìn)行。測試:測試:與狹隘的測試概念統(tǒng)一。通常是經(jīng)過單元測試、集成測試、系統(tǒng)測試三個(gè)環(huán)節(jié)。 事實(shí)上,確認(rèn)、驗(yàn)證、測試是相輔相成的。確認(rèn)無疑事實(shí)上,確認(rèn)、驗(yàn)證、測試是相輔相成的。確認(rèn)無疑會產(chǎn)生驗(yàn)證和測試的標(biāo)準(zhǔn),而驗(yàn)證和測試通常又會幫助完成會產(chǎn)生驗(yàn)證和測試的標(biāo)準(zhǔn),而驗(yàn)證和測試通常又會幫助完成一些確認(rèn),特別是在系統(tǒng)測試階段。一些確認(rèn),特別是在系統(tǒng)測試階段。面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試u面向?qū)ο蟮拈_發(fā)模型突破了傳統(tǒng)的瀑布模型,將開將開發(fā)分為面向?qū)ο蠓治觯òl(fā)分為面向?qū)ο蠓治觯∣OAOOA),面向?qū)ο笤O(shè)計(jì)),面向?qū)ο笤O(shè)計(jì)(OODOOD),和面向?qū)ο缶幊蹋ǎ?/p>
6、和面向?qū)ο缶幊蹋∣OPOOP)三個(gè)階段。)三個(gè)階段。分析階段產(chǎn)生整個(gè)問題空間的抽象描述,在此基礎(chǔ)上,進(jìn)一步歸納出適用于面向?qū)ο缶幊陶Z言的類和類結(jié)構(gòu),最后形成代碼。由于面向?qū)ο蟮奶攸c(diǎn),采用這種開發(fā)模型能有效的將分析設(shè)計(jì)的文本或圖表代碼化,不斷適應(yīng)用戶需求的變動。針對這種開發(fā)模型,結(jié)合傳統(tǒng)的測試步驟的劃分,本文建議一種整個(gè)軟件開發(fā)過程中不斷測試的測試模型,使開發(fā)階段的測試與編碼完成后的單元測試、集成測試、系統(tǒng)測試成為一個(gè)整體。面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試 OOA Test和OOD Test 是對分析結(jié)果和設(shè)計(jì)結(jié)果的測試,主要是對分析設(shè)計(jì)產(chǎn)生的文本進(jìn)行,是軟件開發(fā)前期的關(guān)鍵性測試。OOP T
7、est主要針對編程風(fēng)格和程序代碼實(shí)現(xiàn)進(jìn)行測試,其主要的測試內(nèi)容在面向?qū)ο髥卧獪y試和面向?qū)ο蠹蓽y試中體現(xiàn)。面向?qū)ο蟮能浖y試面向?qū)ο蟮能浖y試測試模型測試模型二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法1 1、面向?qū)ο蠓治龅臏y試、面向?qū)ο蠓治龅臏y試(OOA Test)(OOA Test)u 是把E-R圖和語義網(wǎng)絡(luò)模型,即信息造型中的概念,與面向?qū)ο蟪绦蛟O(shè)計(jì)語言中的重要概念結(jié)合在一起而形成的分析方法,最后通常是得到問題空間的圖表的形式描述。u OOA直接映射問題空間,全面的將問題空間中實(shí)現(xiàn)功能的現(xiàn)實(shí)抽象化。OOA階段的測試劃分為以下五個(gè)方面:對認(rèn)定的對象的測試對認(rèn)定的結(jié)構(gòu)的測試對
8、認(rèn)定的主題的測試對定義的屬性和實(shí)例關(guān)聯(lián)的測試對定義的服務(wù)和消息關(guān)聯(lián)的測試 二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法 OOA中認(rèn)定的對象是對問題空間中的結(jié)構(gòu),其他系統(tǒng),設(shè)備,被記憶的事件,系統(tǒng)涉及的人員等實(shí)際實(shí)例的抽象。對它的測試可以從如下方面考慮:1、認(rèn)定的對象是否全面,是否問題空間中所有涉及到的實(shí)例都反映在認(rèn)定的抽象對象中。2、認(rèn)定的對象是否具有多個(gè)屬性。只有一個(gè)屬性的對象通常應(yīng)看成其他對象的屬性,而不是抽象為獨(dú)立的對象。3、對認(rèn)定為同一對象的實(shí)例是否有共同的,區(qū)別于其他實(shí)例的共同屬性。二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法4、對認(rèn)定為同一對象的實(shí)例
9、是否提供或需要相同的服務(wù),如果服務(wù)隨著不同的實(shí)例而變化,認(rèn)定的對象就需要分解或利用繼承性來分類表示。5、如果系統(tǒng)沒有必要始終保持對象代表的實(shí)例的信息,提供或者得到關(guān)于它的服務(wù),認(rèn)定的對象也無必要。6、認(rèn)定的對象的名稱應(yīng)該盡量準(zhǔn)確,適用。二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法(2 2) 對認(rèn)定的結(jié)構(gòu)的測試對認(rèn)定的結(jié)構(gòu)的測試對認(rèn)定的分類結(jié)構(gòu)的測試可從如下方面著手:對認(rèn)定的分類結(jié)構(gòu)的測試可從如下方面著手:對于結(jié)構(gòu)中的一種對象,尤其是處于高層的對象,是否在問題空間中含有不同于下一層對象的特殊可能性,即是否能派生出下一層對象。對于結(jié)構(gòu)中的一種對象,尤其是處于同一低層的對象,是否能抽
10、象出在現(xiàn)實(shí)中有意義的更一般的上層對象。對所有認(rèn)定的對象,是否能在問題空間內(nèi)向上層抽象出在現(xiàn)實(shí)中有意義的對象高層的對象的特性是否完全體現(xiàn)下層的共性低層的對象是否有高層特性基礎(chǔ)上的特殊性二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法對認(rèn)定的組裝結(jié)構(gòu)的測試從如下方面入手:對認(rèn)定的組裝結(jié)構(gòu)的測試從如下方面入手:整體(對象)和部件(對象)的組裝關(guān)系是否符合現(xiàn)實(shí)的關(guān)系。整體(對象)的部件(對象)是否在考慮的問題空間中有實(shí)際應(yīng)用。整體(對象)中是否遺漏了反映在問題空間中有用的部件(對象)。部件(對象)是否能夠在問題空間中組裝新的有現(xiàn)實(shí)意義的整體(對象)。二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)?/p>
11、象軟件測試內(nèi)容及方法對主題層的測試應(yīng)該考慮以下方面:對主題層的測試應(yīng)該考慮以下方面:貫徹George Miller 的7+2原則,如果主題個(gè)數(shù)超過7個(gè),就要求對有較密切屬性和服務(wù)的主題進(jìn)行歸并。主題所反映的一組對象和結(jié)構(gòu)是否具有相同和相近的屬性和服務(wù)。認(rèn)定的主題是否是對象和結(jié)構(gòu)更高層的抽象,是否便于理解OOA結(jié)果的概貌(尤其是對非技術(shù)人員的OOA 結(jié)果讀者)。主題間的消息聯(lián)系(抽象)是否代表了主題所反映的對象和結(jié)構(gòu)之間的所有關(guān)聯(lián)。二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法對定義的屬性和實(shí)例關(guān)聯(lián)的測試對定義的屬性和實(shí)例關(guān)聯(lián)的測試對屬性和實(shí)例關(guān)聯(lián)的測試從如下方面考慮:定義的屬性是
12、否對相應(yīng)的對象和分類結(jié)構(gòu)的每個(gè)現(xiàn)實(shí)實(shí)例都適用。定義的屬性在現(xiàn)實(shí)世界是否與這種實(shí)例關(guān)系密切。定義的屬性在問題空間是否與這種實(shí)例關(guān)系密切。定義的屬性是否能夠不依賴于其他屬性被獨(dú)立理解。定義的屬性在分類結(jié)構(gòu)中的位置是否恰當(dāng),低層對象的共有屬性是否在上層對象屬性體現(xiàn)。二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法對定義的屬性和實(shí)例關(guān)聯(lián)的測試對定義的屬性和實(shí)例關(guān)聯(lián)的測試在問題空間中每個(gè)對象的屬性是否定義完整。定義的實(shí)例關(guān)聯(lián)是否符合現(xiàn)實(shí)。在問題空間中實(shí)例關(guān)聯(lián)是否定義完整,特別需要注意1-多和多-多的實(shí)例關(guān)聯(lián)。二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法對定義的服務(wù)和消息關(guān)聯(lián)的
13、測試對定義的服務(wù)和消息關(guān)聯(lián)的測試對定義的服務(wù)和消息關(guān)聯(lián)的測試從如下方面進(jìn)行:對象和結(jié)構(gòu)在問題空間的不同狀態(tài)是否定義了相應(yīng)的服務(wù)。對象或結(jié)構(gòu)所需要的服務(wù)是否都定義了相應(yīng)的消息關(guān)聯(lián)。定義的消息關(guān)聯(lián)所指引的服務(wù)提供是否正確。沿著消息關(guān)聯(lián)執(zhí)行的線程是否合理,是否符合現(xiàn)實(shí)過程。定義的服務(wù)是否重復(fù),是否定義了能夠得到的服務(wù)。二、面向?qū)ο筌浖y試內(nèi)容及方法二、面向?qū)ο筌浖y試內(nèi)容及方法三、面向?qū)ο笤O(shè)計(jì)的測試三、面向?qū)ο笤O(shè)計(jì)的測試(OOD Test)(OOD Test)面向?qū)ο笤O(shè)計(jì)(OOD)u 采用造型的觀點(diǎn),以O(shè)OA為基礎(chǔ)歸納出類,并建立類結(jié)構(gòu)或進(jìn)一步構(gòu)造成類庫,實(shí)現(xiàn)分析結(jié)果對問題空間的抽象。u OOD確定
14、類和類結(jié)構(gòu)不僅是滿足當(dāng)前需求分析的要求,更重要的是通過重新組合或加以適當(dāng)?shù)难a(bǔ)充,能方便實(shí)現(xiàn)功能的重用和擴(kuò)增,以不斷適應(yīng)用戶的要求。因此,對OOD的測試,本文建議針對功能的實(shí)現(xiàn)和重用以及對OOA結(jié)果的拓展,從如下三方面考慮:二、面向?qū)ο笤O(shè)計(jì)的測試二、面向?qū)ο笤O(shè)計(jì)的測試(OOD Test)(OOD Test)v從如下三方面考慮:從如下三方面考慮:對認(rèn)定的類的測試對認(rèn)定的類的測試對構(gòu)造的類層次結(jié)構(gòu)的測試對構(gòu)造的類層次結(jié)構(gòu)的測試對類庫的支持的測試對類庫的支持的測試(1 1) 對認(rèn)定的類的測試對認(rèn)定的類的測試 OOD認(rèn)定的類可以是OOA中認(rèn)定的對象,也可以是對象所需要的服務(wù)的抽象,對象所具有的屬性的抽象
15、。認(rèn)定的類原則上應(yīng)該盡量基礎(chǔ)性,這樣才便于維護(hù)和重用。參考中所提出的一些準(zhǔn)則,測試認(rèn)定的類:1 1、是否含蓋了、是否含蓋了OOAOOA中所有認(rèn)定的對象。中所有認(rèn)定的對象。2 2、是否能體現(xiàn)、是否能體現(xiàn)OOAOOA中定義的屬性。中定義的屬性。3 3、是否能實(shí)現(xiàn)、是否能實(shí)現(xiàn)OOAOOA中定義的服務(wù)。中定義的服務(wù)。4 4、是否對應(yīng)著一個(gè)含義明確的數(shù)據(jù)抽象。、是否對應(yīng)著一個(gè)含義明確的數(shù)據(jù)抽象。5 5、是否盡可能少的依賴其他類。、是否盡可能少的依賴其他類。6 6、類中的方法(、類中的方法(C+C+:類的成員函數(shù))是否單用途。:類的成員函數(shù))是否單用途。(2 2) 對構(gòu)造的類層次結(jié)構(gòu)的測試對構(gòu)造的類層次結(jié)
16、構(gòu)的測試 為能充分發(fā)揮面向?qū)ο蟮睦^承共享特性,OOD的類層次結(jié)構(gòu),通?;贠OA中產(chǎn)生的分類結(jié)構(gòu)的原則來組織,著重體現(xiàn)父類和子類間一般性和特殊性。在當(dāng)前的問題空間,對類層次結(jié)構(gòu)的主要要求是能在解空間構(gòu)造實(shí)現(xiàn)全部功能的結(jié)構(gòu)框架。為此,測試如下方面:1 1、類層次結(jié)構(gòu)是否含蓋了所有定義的類。、類層次結(jié)構(gòu)是否含蓋了所有定義的類。2 2、是否能體現(xiàn)、是否能體現(xiàn)OOAOOA中所定義的實(shí)例關(guān)聯(lián)。中所定義的實(shí)例關(guān)聯(lián)。3 3、是否能實(shí)現(xiàn)、是否能實(shí)現(xiàn)OOAOOA中所定義的消息關(guān)聯(lián)。中所定義的消息關(guān)聯(lián)。4 4、子類是否具有父類沒有的新特性。、子類是否具有父類沒有的新特性。5 5、子類間的共同特性是否完全在父類中得
17、以體現(xiàn)。、子類間的共同特性是否完全在父類中得以體現(xiàn)。(3 3) 對類庫支持的測試對類庫支持的測試 對類庫的支持雖然也屬于類層次結(jié)構(gòu)的組織問題,但其強(qiáng)調(diào)的重點(diǎn)是再次軟件開發(fā)的重用。由于它并不直接影響當(dāng)前軟件的開發(fā)和功能實(shí)現(xiàn),因此,將其單獨(dú)提出來測試,也可作為對高質(zhì)量類層次結(jié)構(gòu)的評估。提出的準(zhǔn)則,擬訂測試點(diǎn)如下:1 1、一組子類中關(guān)于某種含義相同或基本相同的操作,是、一組子類中關(guān)于某種含義相同或基本相同的操作,是否有相同的接口(包括名字和參數(shù)表)。否有相同的接口(包括名字和參數(shù)表)。2 2、類中方法(、類中方法(C+C+:類的成員函數(shù))功能是否較單純,相:類的成員函數(shù))功能是否較單純,相應(yīng)的代碼行
18、是否較少(應(yīng)的代碼行是否較少(55中建議為不超過中建議為不超過3030行)。行)。3 3、類的層次結(jié)構(gòu)是否是深度大,寬度小。、類的層次結(jié)構(gòu)是否是深度大,寬度小。四、面向?qū)ο缶幊痰臏y試四、面向?qū)ο缶幊痰臏y試(OOP Test)(OOP Test) 典型的面向?qū)ο蟪绦蚓哂欣^承、封裝和多典型的面向?qū)ο蟪绦蚓哂欣^承、封裝和多態(tài)的新特性態(tài)的新特性,這使得傳統(tǒng)的測試策略必須有所改變。封裝封裝是對數(shù)據(jù)的隱藏,外界只能通過被提供的操作來訪問或修改數(shù)據(jù),這樣降低了數(shù)據(jù)被任意修改和讀寫的可能性,降低了傳統(tǒng)程序中對數(shù)據(jù)非法操作的測試。繼承繼承是面向?qū)ο蟪绦虻闹匾攸c(diǎn),繼承使得代碼的重用率提高,同時(shí)也使錯(cuò)誤傳播的概率
19、提高。多態(tài)多態(tài)使得面向?qū)ο蟪绦驅(qū)ν獬尸F(xiàn)出強(qiáng)大的處理能力,但同時(shí)卻使得程序內(nèi)同一函數(shù)的行為復(fù)雜化,測試時(shí)不得不考慮不同類型具體執(zhí)行的代碼和產(chǎn)生的行為。面向?qū)ο蟪绦蚴前压δ艿膶?shí)現(xiàn)分布在類中。能正確實(shí)現(xiàn)功能的類,通過消息傳遞來協(xié)同實(shí)現(xiàn)設(shè)計(jì)要求的功能。正是這種面向?qū)ο蟪绦蝻L(fēng)格,將出現(xiàn)的錯(cuò)誤能精確的確定在某一具體的類。因此,在面向?qū)ο缶幊蹋∣OP)階段,忽略類功能實(shí)現(xiàn)的細(xì)則,將測試的目光集中在類功能的實(shí)現(xiàn)和相應(yīng)的面向?qū)ο蟪绦蝻L(fēng)格,主要體現(xiàn)為以下兩個(gè)方面(假設(shè)編程使用C+語言)。數(shù)據(jù)成員是否滿足數(shù)據(jù)封裝的要求類是否實(shí)現(xiàn)了要求的功能1 1、數(shù)據(jù)成員是否滿足數(shù)據(jù)封裝的要求、數(shù)據(jù)成員是否滿足數(shù)據(jù)封裝的要求u數(shù)據(jù)
20、封裝是數(shù)據(jù)和數(shù)據(jù)有關(guān)的操作的集合。檢查數(shù)據(jù)成員是否滿足數(shù)據(jù)封裝的要求,基本原則是數(shù)據(jù)成員是否被外界(數(shù)據(jù)成員所屬的類或子類以外的調(diào)用)直接調(diào)用。更直觀的說,當(dāng)改編數(shù)據(jù)成員的結(jié)構(gòu)時(shí),是否影響了類的對外接口,是否會導(dǎo)致相應(yīng)外界必須改動。2 2、類是否實(shí)現(xiàn)了要求的功能、類是否實(shí)現(xiàn)了要求的功能u類所實(shí)現(xiàn)的功能,都是通過類的成員函數(shù)執(zhí)行。在測試類的功能實(shí)現(xiàn)時(shí),應(yīng)該首先保證類成員函數(shù)的正確性。單獨(dú)的看待類的成員函數(shù),與面向過程程序中的函數(shù)或過程沒有本質(zhì)的區(qū)別,幾乎所有傳統(tǒng)的單元測試中所使用的方法,都可在面向?qū)ο蟮膯卧獪y試中使用五、面向?qū)ο蟮膯卧獪y試五、面向?qū)ο蟮膯卧獪y試(OO Unit Test)(OO
21、Unit Test)傳統(tǒng)的單元測試是針對程序的函數(shù)、過程或完成某一定功能的程序塊。單元測試一般建議由程序員完成。在面向?qū)ο蟪绦蛑?,類成員函數(shù)通常都很小,功能單一,函數(shù)的間調(diào)用頻繁,容易出現(xiàn)一些不宜發(fā)現(xiàn)的錯(cuò)誤。六、面向?qū)ο蟮募蓽y試六、面向?qū)ο蟮募蓽y試(OO Integrate Test)(OO Integrate Test) 傳統(tǒng)的集成測試,是由底向上通過集成完成的功能模塊進(jìn)行測試,一般可以在部分程序編譯完成的情況下進(jìn)行。而對于面向?qū)ο蟪绦颍嗷フ{(diào)用的功能是散布在程序的不同類中,類通過消息相互作用申請和提供服務(wù)。類的行為與它的狀態(tài)密切相關(guān),狀態(tài)不僅僅是體現(xiàn)在類數(shù)據(jù)成員的值,也許還包括其他類中
22、的狀態(tài)信息。由此可見,類相互依賴極其緊密,根本無法在編譯不完全的程序上對類進(jìn)行測試。所以,面向?qū)ο蟮募蓽y試通常需要在整個(gè)程序編譯完成后進(jìn)行。此外,面向?qū)ο蟪绦蚓哂袆討B(tài)特性,程序的控制流往往無法確定,因此也只能對整個(gè)編譯后的程序做基于黑盒子的集成測試。 面向?qū)ο蟮募蓽y試可以分成兩步進(jìn)行:先進(jìn)行靜態(tài)測試靜態(tài)測試,再進(jìn)行動態(tài)測試動態(tài)測試。u 靜態(tài)測試主要針對程序的結(jié)構(gòu)進(jìn)行,檢測程序結(jié)構(gòu)是否符合設(shè)計(jì)要求。u 動態(tài)測試設(shè)計(jì)測試用例時(shí),通常需要上述的功能調(diào)用結(jié)構(gòu)圖、類關(guān)系圖或者實(shí)體關(guān)系圖為參考,確定不需要被重復(fù)測試的部分,從而優(yōu)化測試用例,減少測試工作量,使得進(jìn)行的測試能夠達(dá)到一定覆蓋標(biāo)準(zhǔn)。七、面向?qū)ο蟮南到y(tǒng)測試七、面向?qū)ο蟮南到y(tǒng)測試(OO System Test)(OO System Test)u 系統(tǒng)測試應(yīng)該盡量搭建與用戶實(shí)際使用環(huán)境相同的測試平臺,應(yīng)該保證被測系統(tǒng)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度綠化工程承包合同
- 大班種子課件教學(xué)課件
- 2024山西勞動合同范本
- 2024年度J企業(yè)衛(wèi)星通信技術(shù)服務(wù)合同
- 2024年店面續(xù)租協(xié)議:市中心
- 2024互聯(lián)網(wǎng)銷售涂料產(chǎn)品獨(dú)家代理合同
- 2024年工程進(jìn)度與安全合同
- 2024年建筑修正協(xié)議
- 2024年家用電器維修服務(wù)合同
- 2024雙方關(guān)于影視制作與發(fā)行委托合同
- 業(yè)主業(yè)主委員會通用課件
- 了解金融市場和金融產(chǎn)品
- 南京理工大學(xué)2015年613物理化學(xué)(含答案)考研真題
- 初中數(shù)學(xué)應(yīng)用題解題思路分享
- 安全生產(chǎn)科技創(chuàng)新與應(yīng)用
- 人工智能在文化傳承與遺產(chǎn)保護(hù)中的價(jià)值實(shí)現(xiàn)
- 2024年汽修廠開業(yè)計(jì)劃書
- ISTA標(biāo)準(zhǔn)-2A、2B、2C系列解讀(圖文)
- 日間手術(shù)應(yīng)急預(yù)案方案
- 退費(fèi)賬戶確認(rèn)書
- 幼兒園小班《汽車滴滴響》
評論
0/150
提交評論