版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο鬁y(cè)試軟件測(cè)試課程組西南科技大學(xué)計(jì)算機(jī)學(xué)院面向?qū)ο鬁y(cè)試軟件測(cè)試課程組19.1面向?qū)ο蠡A(chǔ)1.對(duì)象對(duì)象是要研究的任何事物。對(duì)象由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)據(jù)的操作(體現(xiàn)事物的行為)構(gòu)成一獨(dú)立整體。2.類類是對(duì)象的模板。即類是對(duì)一組有相同數(shù)據(jù)和相同操作的對(duì)象的定義,一個(gè)類所包含的方法和數(shù)據(jù)描述一組對(duì)象的共同屬性和行為。類是在對(duì)象之上的抽象,對(duì)象則是類的具體化,是類的實(shí)例。類可有其子類,也可有其它類,形成類層次結(jié)構(gòu)。9.1面向?qū)ο蠡A(chǔ)1.對(duì)象23.消息消息是對(duì)象之間進(jìn)行通信的一種規(guī)格說(shuō)明。一般它由三部分組成:接收消息的對(duì)象、消息名及實(shí)際變?cè)?.封裝性封裝是一種信息隱蔽技術(shù)。封裝使數(shù)據(jù)和加工該數(shù)據(jù)的方法(函數(shù))封裝為一個(gè)整體,以實(shí)現(xiàn)獨(dú)立性很強(qiáng)的模塊,使得用戶只能見(jiàn)到對(duì)象的外特性,而對(duì)象的內(nèi)特性(保存內(nèi)部狀態(tài)的私有數(shù)據(jù)和實(shí)現(xiàn)加工能力的算法)對(duì)用戶是隱蔽的。封裝的目的在于把對(duì)象的設(shè)計(jì)者和對(duì)象者的使用分開(kāi),使用者不必知曉行為實(shí)現(xiàn)的細(xì)節(jié),只須用設(shè)計(jì)者提供的消息來(lái)訪問(wèn)該對(duì)象。3.消息35.繼承性繼承性是子類自動(dòng)共享父類之間數(shù)據(jù)和方法的機(jī)制。它由類的派生功能體現(xiàn)。一個(gè)類直接繼承其它類的全部描述,同時(shí)可修改和擴(kuò)充。6.多態(tài)性對(duì)象根據(jù)所接收的消息而做出動(dòng)作。同一消息為不同的對(duì)象接受時(shí)可產(chǎn)生完全不同的行動(dòng),這種現(xiàn)象稱為多態(tài)性。利用多態(tài)性用戶可發(fā)送一個(gè)通用的信息,而將所有的實(shí)現(xiàn)細(xì)節(jié)都留給接受消息的對(duì)象自行決定。5.繼承性4面向?qū)ο蟪绦虻慕M成面向?qū)ο蟪绦蛲ǔS梢幌盗蓄惤M成在類中封裝了數(shù)據(jù)和作用在數(shù)據(jù)上的操作(即方法)類和類之間按繼承關(guān)系組成一個(gè)無(wú)環(huán)路有向圖單繼承(Java)多繼承(C++)對(duì)象是類的實(shí)例面向?qū)ο蟪绦虻慕M成面向?qū)ο蟪绦蛲ǔS梢幌盗蓄惤M成5面向?qū)ο蟮男绿匦岳^承封裝(信息隱蔽)多態(tài)(動(dòng)態(tài)綁定)面向?qū)ο蟮男绿匦岳^承6新特性對(duì)測(cè)試的影響信息隱蔽(封裝)對(duì)測(cè)試的影響
類的重要作用之一是信息隱蔽;信息隱蔽避免類中有關(guān)實(shí)現(xiàn)細(xì)節(jié)的信息被錯(cuò)誤地使用;隱蔽機(jī)制給測(cè)試帶來(lái)了困難。新特性對(duì)測(cè)試的影響信息隱蔽(封裝)對(duì)測(cè)試的影響7新特性對(duì)測(cè)試的影響繼承對(duì)測(cè)試的影響若一個(gè)類得到了充分的測(cè)試,當(dāng)其被子類繼承后,繼承的方法在子類的環(huán)境中的行為特征需要重新測(cè)試。新特性對(duì)測(cè)試的影響繼承對(duì)測(cè)試的影響8新特性對(duì)測(cè)試的影響多態(tài)性對(duì)測(cè)試的影響傳統(tǒng)軟件測(cè)試中經(jīng)常使用靜態(tài)分析技術(shù)對(duì)代碼進(jìn)行分析;面向?qū)ο筌浖校捎趧?dòng)態(tài)綁定和多態(tài)性的存在所帶來(lái)的不確定性,給測(cè)試覆蓋率的滿足增大了難度。新特性對(duì)測(cè)試的影響多態(tài)性對(duì)測(cè)試的影響9面向?qū)ο鬁y(cè)試的類型面向?qū)ο蠓治龅臏y(cè)試(OOATest)面向?qū)ο笤O(shè)計(jì)的測(cè)試(OODTest)面向?qū)ο缶幊痰臏y(cè)試(OOPTest)面向?qū)ο髥卧獪y(cè)試(OOUnitTest)面向?qū)ο蠹蓽y(cè)試(OOIntegrationTest)面向?qū)ο笙到y(tǒng)測(cè)試(OOSystemTest)面向?qū)ο鬁y(cè)試的類型面向?qū)ο蠓治龅臏y(cè)試(OOATest)10在傳統(tǒng)軟件中,確定單元的指導(dǎo)方針是:1、能夠自身編譯的最小程序塊;2、單一過(guò)程/函數(shù)(獨(dú)立);3、由一個(gè)人完成的小規(guī)模工作。面向?qū)ο筌浖y(cè)試與傳統(tǒng)方法的區(qū)別:指導(dǎo)方針中沒(méi)有明確說(shuō)明是把類還是方法作為單元。9.2面向?qū)ο鬁y(cè)試的層次在傳統(tǒng)軟件中,確定單元的指導(dǎo)方針是:9.2面向?qū)ο鬁y(cè)試的層11面向?qū)ο鬁y(cè)試的層次面向?qū)ο鬁y(cè)試的層次,取決于單元的構(gòu)成,一般采用三層或四層方式。如果把單個(gè)操作或方法看作單元,則有四層測(cè)試,即方法、類、集成和系統(tǒng)測(cè)試。如果把類看作單元,則有三層測(cè)試:類測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試。面向?qū)ο鬁y(cè)試的主要問(wèn)題是集成測(cè)試,即在通過(guò)測(cè)試的類之間的交互測(cè)試。面向?qū)ο鬁y(cè)試的層次面向?qū)ο鬁y(cè)試的層次,取決于單元的構(gòu)成,一般129.2類測(cè)試(面向?qū)ο髥卧獪y(cè)試)類測(cè)試概念:驗(yàn)證類的實(shí)現(xiàn)是否和該類的說(shuō)明完全一致。類測(cè)試的方法:通過(guò)代碼檢查或執(zhí)行測(cè)試用例的方法來(lái)有效地進(jìn)行類測(cè)試。(后者優(yōu)于前者)。
9.2類測(cè)試(面向?qū)ο髥卧獪y(cè)試)類測(cè)試概念:驗(yàn)證類的實(shí)現(xiàn)是13類測(cè)試過(guò)程為類創(chuàng)建實(shí)例創(chuàng)造適當(dāng)?shù)沫h(huán)境運(yùn)行測(cè)試用例(向一個(gè)實(shí)例發(fā)送一個(gè)或多個(gè)消息)通過(guò)參數(shù)來(lái)檢查測(cè)試運(yùn)行的結(jié)果清除執(zhí)行測(cè)試用例所需的測(cè)試環(huán)境。類測(cè)試過(guò)程14面向?qū)ο筌浖膯卧獪y(cè)試觀點(diǎn)面向?qū)ο筌浖膯卧獪y(cè)試觀點(diǎn)
⑴以方法為單元
⑵以類為單元面向?qū)ο筌浖膯卧獪y(cè)試觀點(diǎn)面向?qū)ο筌浖膯卧獪y(cè)試觀點(diǎn)15以方法為單元這種方法可以將面向?qū)ο髥卧獪y(cè)試歸結(jié)為傳統(tǒng)的(過(guò)程)單元測(cè)試。可以使用所有傳統(tǒng)功能性測(cè)試和結(jié)構(gòu)性測(cè)試手段。如果把方法看作是面向?qū)ο蟮膯卧仨毺峁┠軌驅(qū)嵗臉额?,以及起?qū)動(dòng)器作用的“主程序”類以提供和分析測(cè)試用例。以方法為單元這種方法可以將面向?qū)ο髥卧獪y(cè)試歸結(jié)為傳統(tǒng)的(過(guò)程16以類為單元類包含一組不同的操作,并且某特殊操作可能作為一組不同類的一部分存在。不再孤立地測(cè)試單個(gè)操作,而是將操作作為類的一部分。把類作為單元,可以解決類內(nèi)集成問(wèn)題,但是會(huì)產(chǎn)生其它問(wèn)題。以類為單元類包含一組不同的操作,并且某特殊操作可能作為一組不17類測(cè)試的擴(kuò)展繼承層次結(jié)構(gòu)中類的測(cè)試接口類測(cè)試抽象類測(cè)試重載和覆蓋測(cè)試異常測(cè)試類測(cè)試的擴(kuò)展繼承層次結(jié)構(gòu)中類的測(cè)試189.3面向?qū)ο蟮募蓽y(cè)試集成測(cè)試的UML支持協(xié)同圖(合作圖)序列圖(順序圖)9.3面向?qū)ο蟮募蓽y(cè)試集成測(cè)試的UML支持19協(xié)作圖o-oCalendar程序的協(xié)作圖:Page282圖18-1協(xié)作圖(協(xié)同圖)非常類似在“集成測(cè)試”中曾經(jīng)使用過(guò)的單元調(diào)用圖。協(xié)作圖o-oCalendar程序的協(xié)作圖:Page28220順序圖順序圖跟蹤通過(guò)協(xié)作圖的執(zhí)行時(shí)間路徑在UML中序列圖有兩級(jí),即系統(tǒng)/用例級(jí)和類交互級(jí)Page283圖18-2給出的是打印新日期的部分o-oCalendar應(yīng)用程序的順序圖粗豎線表示類或類的實(shí)例,箭頭標(biāo)號(hào)表示類的實(shí)例按時(shí)間順序發(fā)送的消息順序圖順序圖跟蹤通過(guò)協(xié)作圖的執(zhí)行時(shí)間路徑21面向?qū)ο筌浖腗M-路徑在傳統(tǒng)軟件的MM-路徑中,用“消息”表示個(gè)體單元(模塊)之間的調(diào)用,采用模塊執(zhí)行路徑取代完整的模塊MM-路徑表示由消息分開(kāi)的各種方法執(zhí)行序列,即方法/消息路徑。與傳統(tǒng)軟件一樣,方法也可能有多條內(nèi)部執(zhí)行路徑MM-路徑從某個(gè)方法開(kāi)始,當(dāng)?shù)竭_(dá)某個(gè)自己不發(fā)送任何消息的方法時(shí)結(jié)束,這就是消息靜止點(diǎn)面向?qū)ο筌浖腗M-路徑在傳統(tǒng)軟件的MM-路徑中,用“消息”22面向?qū)ο蟮募蓽y(cè)試在面向?qū)ο蟪绦蛑?,相互調(diào)用的功能是散布在程序的不同類中,類通過(guò)消息相互作用申請(qǐng)和提供服務(wù)。類的行為與它的狀態(tài)密切相關(guān),狀態(tài)不僅僅是體現(xiàn)在類數(shù)據(jù)成員的值,也許還包括其他類中的狀態(tài)信息。由此可見(jiàn),類相互依賴極其緊密,根本無(wú)法在編譯不完全的程序上對(duì)類進(jìn)行測(cè)試。所以,面向?qū)ο蟮募蓽y(cè)試通常需要在整個(gè)程序編譯完成后進(jìn)行。此外,面向?qū)ο蟪绦蚓哂袆?dòng)態(tài)特性,程序的控制流往往無(wú)法確定,因此也只能對(duì)整個(gè)編譯后的程序做基于黑盒子的集成測(cè)試。面向?qū)ο蟮募蓽y(cè)試在面向?qū)ο蟪绦蛑?,相互調(diào)用的功能是散布在程23面向?qū)ο蟮募蓽y(cè)試把一組相互有影響的類看作一個(gè)整體稱為類簇。類簇測(cè)試主要根據(jù)系統(tǒng)中相關(guān)類的層次關(guān)系,檢查類之間的相互作用的正確性,即檢查各相關(guān)類之間消息連接的合法性、子類的繼承性與父類的一致性、動(dòng)態(tài)綁定執(zhí)行的正確性、類簇協(xié)同完成系統(tǒng)功能的正確性等等。其測(cè)試有兩種不同策略。面向?qū)ο蟮募蓽y(cè)試把一組相互有影響的類看作一個(gè)整體稱為類簇。24面向?qū)ο蟮募蓽y(cè)試1.基于類間協(xié)作關(guān)系的橫向測(cè)試。由系統(tǒng)的一個(gè)輸入事件作為激勵(lì),對(duì)其觸發(fā)的一組類進(jìn)行測(cè)試,執(zhí)行相應(yīng)的操作/消息處理路徑,最后終止于某一輸出事件。應(yīng)用回歸測(cè)試對(duì)已測(cè)試過(guò)的類集再重新執(zhí)行一次,以保證加入新類時(shí)不會(huì)產(chǎn)生意外的結(jié)果。面向?qū)ο蟮募蓽y(cè)試1.基于類間協(xié)作關(guān)系的橫向測(cè)試。25面向?qū)ο蟮募蓽y(cè)試2.基于類間繼承關(guān)系的縱向測(cè)試。首先通過(guò)測(cè)試獨(dú)立類(是系統(tǒng)中已經(jīng)測(cè)試正確的某類)來(lái)開(kāi)始構(gòu)造系統(tǒng),在獨(dú)立類測(cè)試完成后,下一層繼承獨(dú)立類的類(稱為依賴類)被測(cè)試,這個(gè)依賴類層次的測(cè)試序列一直循環(huán)執(zhí)行到構(gòu)造完整個(gè)系統(tǒng)。面向?qū)ο蟮募蓽y(cè)試2.基于類間繼承關(guān)系的縱向測(cè)試。26面向?qū)ο蟮募蓽y(cè)試能夠檢測(cè)出相對(duì)獨(dú)立的單元測(cè)試無(wú)法檢測(cè)出的那些類相互作用時(shí)才會(huì)產(chǎn)生的錯(cuò)誤?;趩卧獪y(cè)試對(duì)成員函數(shù)行為正確性的保證,集成測(cè)試只關(guān)注于系統(tǒng)的結(jié)構(gòu)和內(nèi)部的相互作用。面向?qū)ο蟮募蓽y(cè)試可以分成兩步進(jìn)行:先進(jìn)行靜態(tài)測(cè)試,再進(jìn)行動(dòng)態(tài)測(cè)試。
面向?qū)ο蟮募蓽y(cè)試能夠檢測(cè)出相對(duì)獨(dú)立的單元測(cè)試無(wú)法檢測(cè)出的那27靜態(tài)測(cè)試靜態(tài)測(cè)試主要針對(duì)程序的結(jié)構(gòu)進(jìn)行,檢測(cè)程序結(jié)構(gòu)是否符合設(shè)計(jì)要求?,F(xiàn)在流行的一些測(cè)試軟件都能提供一種稱為“可逆性工程”的功能,即通過(guò)原程序得到類關(guān)系圖和函數(shù)功能調(diào)用關(guān)系圖。如、Rational公司的RoseC++Analyzer等,將“可逆性工程”得到的結(jié)果與OOD的結(jié)果相比較,檢測(cè)程序結(jié)構(gòu)和實(shí)現(xiàn)上是否有缺陷。通過(guò)這種方法檢測(cè)OOP是否達(dá)到了設(shè)計(jì)要求。
靜態(tài)測(cè)試靜態(tài)測(cè)試主要針對(duì)程序的結(jié)構(gòu)進(jìn)行,檢測(cè)程序結(jié)構(gòu)是否符合28動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試設(shè)計(jì)測(cè)試用例時(shí),通常需要上述的功能調(diào)用結(jié)構(gòu)圖、類關(guān)系圖或者實(shí)體關(guān)系圖為參考,確定不需要被重復(fù)測(cè)試的部分,從而優(yōu)化測(cè)試用例,減少測(cè)試工作量,使得進(jìn)行的測(cè)試能夠達(dá)到一定覆蓋標(biāo)準(zhǔn)。測(cè)試所要達(dá)到的覆蓋標(biāo)準(zhǔn)可以是:達(dá)到類所有的服務(wù)要求或服務(wù)提供的一定覆蓋率;依據(jù)類間傳遞的消息,達(dá)到對(duì)所有執(zhí)行線程的一定覆蓋率;達(dá)到類的所有狀態(tài)的一定覆蓋率等。同時(shí)也可以考慮使用現(xiàn)有的一些測(cè)試工具來(lái)得到程序代碼執(zhí)行的覆蓋率。
動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試設(shè)計(jì)測(cè)試用例時(shí),通常需要上述的功能調(diào)用結(jié)構(gòu)圖29動(dòng)態(tài)測(cè)試具體設(shè)計(jì)測(cè)試用例,可參考下列步驟:
(1)先選定檢測(cè)的類,參考OOD分析結(jié)果,分析出類的狀態(tài)和相應(yīng)的行為,類或成員函數(shù)間傳遞的消息,輸入或輸出的界定等。(2)確定覆蓋標(biāo)準(zhǔn)。(3)利用結(jié)構(gòu)關(guān)系圖確定待測(cè)類的所有關(guān)聯(lián)。(4)根據(jù)程序中類的對(duì)象構(gòu)造測(cè)試用例,確認(rèn)使用什么輸入激發(fā)類的狀態(tài)、使用類的服務(wù)和期望產(chǎn)生什么行為等。動(dòng)態(tài)測(cè)試具體設(shè)計(jì)測(cè)試用例,可參考下列步驟:309.4面向?qū)ο蟮南到y(tǒng)測(cè)試通過(guò)單元測(cè)試和集成測(cè)試,僅能保證軟件開(kāi)發(fā)的功能得以實(shí)現(xiàn)。但不能確認(rèn)在實(shí)際運(yùn)行時(shí),它是否滿足用戶的需要。為此,對(duì)完成開(kāi)發(fā)的軟件必須經(jīng)過(guò)規(guī)范的系統(tǒng)測(cè)試。系統(tǒng)測(cè)試應(yīng)該盡量搭建與用戶實(shí)際使用環(huán)境相同的測(cè)試平臺(tái),應(yīng)該保證被測(cè)系統(tǒng)的完整性,對(duì)臨時(shí)沒(méi)有的系統(tǒng)設(shè)備部件,也應(yīng)有相應(yīng)的模擬手段。系統(tǒng)測(cè)試時(shí),應(yīng)該參考OOA分析的結(jié)果,對(duì)應(yīng)描述的對(duì)象、屬性和各種服務(wù),檢測(cè)軟件是否能夠完全"再現(xiàn)"問(wèn)題空間。9.4面向?qū)ο蟮南到y(tǒng)測(cè)試通過(guò)單元測(cè)試和集成測(cè)試,僅能保證軟31面向?qū)ο蟮南到y(tǒng)測(cè)試1.功能測(cè)試2.強(qiáng)度測(cè)試測(cè)試系統(tǒng)的能力最高實(shí)際限度,即軟件在一些超負(fù)荷的情況,功能實(shí)現(xiàn)情況。如要求軟件某一行為的大量重復(fù)、輸入大量的數(shù)據(jù)或大數(shù)值數(shù)據(jù)、對(duì)數(shù)據(jù)庫(kù)大量復(fù)雜的查詢等。3.性能測(cè)試4.安全測(cè)試面向?qū)ο蟮南到y(tǒng)測(cè)試1.功能測(cè)試325.恢復(fù)測(cè)試采用人工的干擾使軟件出錯(cuò),中斷使用,檢測(cè)系統(tǒng)的恢復(fù)能力,特別是通訊系統(tǒng)?;謴?fù)測(cè)試時(shí),應(yīng)該參考性能測(cè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度農(nóng)業(yè)科技創(chuàng)新成果轉(zhuǎn)化合同4篇
- 2025年度大型活動(dòng)策劃組織承包商履約合同4篇
- 二零二五年度瓷磚產(chǎn)品進(jìn)出口供貨合同規(guī)范3篇
- 二零二五年度房屋建筑抗震加固與承建服務(wù)合同4篇
- 2025年麥飯石桑拿房項(xiàng)目可行性研究報(bào)告
- 2025年阿膠項(xiàng)目可行性研究報(bào)告
- 2025年郵政儲(chǔ)蓄卡制卡管理系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國(guó)中頻電療儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)X線防護(hù)帽數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年棉線手套項(xiàng)目可行性研究報(bào)告
- 第1本書出體旅程journeys out of the body精教版2003版
- 臺(tái)資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 羅盤超高清圖
- 參會(huì)嘉賓簽到表
- 機(jī)械車間員工績(jī)效考核表
- 2.48低危胸痛患者后繼治療評(píng)估流程圖
- 人力資源管理之績(jī)效考核 一、什么是績(jī)效 所謂績(jī)效簡(jiǎn)單的講就是對(duì)
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評(píng)論
0/150
提交評(píng)論