軟件測(cè)試基礎(chǔ)5_第1頁(yè)
軟件測(cè)試基礎(chǔ)5_第2頁(yè)
軟件測(cè)試基礎(chǔ)5_第3頁(yè)
軟件測(cè)試基礎(chǔ)5_第4頁(yè)
軟件測(cè)試基礎(chǔ)5_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選ppt1軟件測(cè)試技術(shù)基礎(chǔ)軟件測(cè)試技術(shù)基礎(chǔ)PartPart 軟件測(cè)試方法軟件測(cè)試方法華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt2第第5 5章章 面向?qū)ο筌浖臏y(cè)試面向?qū)ο筌浖臏y(cè)試l本章重點(diǎn)本章重點(diǎn)面向?qū)ο筌浖奶攸c(diǎn)面向?qū)ο筌浖奶攸c(diǎn)什么是面向?qū)ο蟮膯卧渴裁词敲嫦驅(qū)ο蟮膯卧??如何利用如何利用JUnit進(jìn)行單元測(cè)試?進(jìn)行單元測(cè)試?華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt5.1 5.1 概述概述l 對(duì)象對(duì)象定義定義對(duì)象是一個(gè)可操作的實(shí)體,它既包含了對(duì)象是一個(gè)可操作的實(shí)體,它既包含了特定特定的數(shù)據(jù)的數(shù)據(jù),又包含了操作這些數(shù)據(jù)的代碼,即,又

2、包含了操作這些數(shù)據(jù)的代碼,即方法方法。針對(duì)對(duì)象的測(cè)試針對(duì)對(duì)象的測(cè)試l對(duì)象的封裝對(duì)象的封裝信息隱藏對(duì)測(cè)試的影響信息隱藏對(duì)測(cè)試的影響l對(duì)象的狀態(tài)對(duì)象的狀態(tài)對(duì)象狀態(tài)的轉(zhuǎn)化對(duì)象狀態(tài)的轉(zhuǎn)化l對(duì)象的生命周期對(duì)象的生命周期狀態(tài)與生命期是否相符狀態(tài)與生命期是否相符l對(duì)象的交互對(duì)象的交互消息的發(fā)送和接受消息的發(fā)送和接受華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt45.1 5.1 概述概述l 類(lèi)類(lèi)定義定義是通過(guò)抽象數(shù)據(jù)類(lèi)型的方法實(shí)現(xiàn)的一種數(shù)據(jù)是通過(guò)抽象數(shù)據(jù)類(lèi)型的方法實(shí)現(xiàn)的一種數(shù)據(jù)類(lèi)型,是具有共性的對(duì)象集合。類(lèi)型,是具有共性的對(duì)象集合。對(duì)類(lèi)的測(cè)試對(duì)類(lèi)的測(cè)試l構(gòu)造函數(shù)構(gòu)造函數(shù)不同的構(gòu)造函數(shù)以及是否調(diào)用其他對(duì)象不

3、同的構(gòu)造函數(shù)以及是否調(diào)用其他對(duì)象l析構(gòu)函數(shù)(可選)析構(gòu)函數(shù)(可選)數(shù)據(jù)空間及時(shí)釋放數(shù)據(jù)空間及時(shí)釋放l方法方法關(guān)注前置條件和后置條件關(guān)注前置條件和后置條件l符合設(shè)計(jì)符合設(shè)計(jì)華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt55.1 5.1 概述概述l封裝封裝定義:定義:是將數(shù)據(jù)以及操作數(shù)據(jù)的方法關(guān)聯(lián)起來(lái),是將數(shù)據(jù)以及操作數(shù)據(jù)的方法關(guān)聯(lián)起來(lái),構(gòu)成的一個(gè)具有類(lèi)類(lèi)型的對(duì)象的描述。構(gòu)成的一個(gè)具有類(lèi)類(lèi)型的對(duì)象的描述。 封裝要求類(lèi)高度內(nèi)聚,且耦合很松。封裝要求類(lèi)高度內(nèi)聚,且耦合很松。測(cè)試的難點(diǎn)測(cè)試的難點(diǎn)l封裝使得內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái),外界無(wú)法訪問(wèn)封裝使得內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái),外界無(wú)法訪問(wèn)l封裝后對(duì)象的獨(dú)

4、立性加重集成測(cè)試的負(fù)擔(dān)封裝后對(duì)象的獨(dú)立性加重集成測(cè)試的負(fù)擔(dān)華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt65.1 5.1 概述概述l 繼承繼承定義定義是類(lèi)之間的一種聯(lián)系,通過(guò)從某個(gè)類(lèi)(稱(chēng)父是類(lèi)之間的一種聯(lián)系,通過(guò)從某個(gè)類(lèi)(稱(chēng)父類(lèi))派生可以得到一個(gè)新的類(lèi)(稱(chēng)子類(lèi)或派生類(lèi)),類(lèi))派生可以得到一個(gè)新的類(lèi)(稱(chēng)子類(lèi)或派生類(lèi)),該類(lèi)具有父類(lèi)的特點(diǎn)和功能,同時(shí)還具有新的特點(diǎn)和該類(lèi)具有父類(lèi)的特點(diǎn)和功能,同時(shí)還具有新的特點(diǎn)和功能。功能。給測(cè)試帶來(lái)的挑戰(zhàn)給測(cè)試帶來(lái)的挑戰(zhàn)l缺陷傳播缺陷傳播l重復(fù)測(cè)試重復(fù)測(cè)試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt75.1 5.1 概述概述l多態(tài)多態(tài)定義:定義:一個(gè)對(duì)外

5、接口,多個(gè)內(nèi)在實(shí)現(xiàn)方一個(gè)對(duì)外接口,多個(gè)內(nèi)在實(shí)現(xiàn)方法。法。分為參數(shù)多態(tài)和包含多態(tài)。分為參數(shù)多態(tài)和包含多態(tài)。一般通過(guò)動(dòng)態(tài)測(cè)試來(lái)檢查。一般通過(guò)動(dòng)態(tài)測(cè)試來(lái)檢查。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt85.1 5.1 概述概述l消息消息對(duì)象之間通過(guò)消息的傳遞產(chǎn)生相互作用,通對(duì)象之間通過(guò)消息的傳遞產(chǎn)生相互作用,通過(guò)消息來(lái)請(qǐng)求執(zhí)行某個(gè)操作。過(guò)消息來(lái)請(qǐng)求執(zhí)行某個(gè)操作。 測(cè)試時(shí)應(yīng)考慮測(cè)試時(shí)應(yīng)考慮l消息的發(fā)送者消息的發(fā)送者l消息的接收者消息的接收者l消息所包含的參數(shù)消息所包含的參數(shù) 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt95.1 5.1 概述概述l接口接口用于描述一系列規(guī)范的行為用于描述一

6、系列規(guī)范的行為對(duì)接口的測(cè)試應(yīng)注意對(duì)接口的測(cè)試應(yīng)注意l接口包含的行為應(yīng)與對(duì)應(yīng)類(lèi)的行為相符;接口包含的行為應(yīng)與對(duì)應(yīng)類(lèi)的行為相符;l接口往往與其他接口或類(lèi)具有關(guān)系,應(yīng)測(cè)試到所有接口往往與其他接口或類(lèi)具有關(guān)系,應(yīng)測(cè)試到所有可能的作用方式??赡艿淖饔梅绞?。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選pptl 面向?qū)ο蠹夹g(shù)面向?qū)ο蠹夹g(shù)的特點(diǎn)給測(cè)試帶來(lái)的新問(wèn)題具體表現(xiàn)為:的特點(diǎn)給測(cè)試帶來(lái)的新問(wèn)題具體表現(xiàn)為:(1)封裝把數(shù)據(jù)及對(duì)數(shù)據(jù)的操作封裝在一起封裝把數(shù)據(jù)及對(duì)數(shù)據(jù)的操作封裝在一起,限制了對(duì)象屬性,限制了對(duì)象屬性對(duì)外的透明性和外界對(duì)它的操作權(quán)限,在某種程度上避免了對(duì)外的透明性和外界對(duì)它的操作權(quán)限,在某種程度

7、上避免了對(duì)數(shù)據(jù)的非法操作,有效防止了故障的擴(kuò)散。但同時(shí),封裝對(duì)數(shù)據(jù)的非法操作,有效防止了故障的擴(kuò)散。但同時(shí),封裝機(jī)制也給測(cè)試數(shù)據(jù)的生成、測(cè)試路徑的選取以及測(cè)試結(jié)構(gòu)的機(jī)制也給測(cè)試數(shù)據(jù)的生成、測(cè)試路徑的選取以及測(cè)試結(jié)構(gòu)的分析帶來(lái)了困難。分析帶來(lái)了困難。(2)繼承實(shí)現(xiàn)了共享父類(lèi)中定義的數(shù)據(jù)和操作,繼承實(shí)現(xiàn)了共享父類(lèi)中定義的數(shù)據(jù)和操作,同時(shí)也可定義同時(shí)也可定義新的特征。子類(lèi)是在新的環(huán)境中存在,所以父類(lèi)的正確性不新的特征。子類(lèi)是在新的環(huán)境中存在,所以父類(lèi)的正確性不能保證子類(lèi)的正確性。繼承使代碼的重用率得到了提高,但能保證子類(lèi)的正確性。繼承使代碼的重用率得到了提高,但同時(shí)也使故障的傳播幾率增加。同時(shí)也使故

8、障的傳播幾率增加。(3)多態(tài)和動(dòng)態(tài)綁定增加了系統(tǒng)運(yùn)行中可能的執(zhí)行路徑,)多態(tài)和動(dòng)態(tài)綁定增加了系統(tǒng)運(yùn)行中可能的執(zhí)行路徑,而且而且給面向?qū)ο筌浖?lái)了嚴(yán)重的不確定性,給測(cè)試覆蓋率的活給面向?qū)ο筌浖?lái)了嚴(yán)重的不確定性,給測(cè)試覆蓋率的活動(dòng)帶來(lái)新的困難。動(dòng)帶來(lái)新的困難。 面向?qū)ο蟮能浖y(cè)試與傳統(tǒng)軟件測(cè)試面向?qū)ο蟮能浖y(cè)試與傳統(tǒng)軟件測(cè)試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選pptl 1 數(shù)據(jù)成員是否滿(mǎn)足數(shù)據(jù)封裝的要求數(shù)據(jù)成員是否滿(mǎn)足數(shù)據(jù)封裝的要求 數(shù)據(jù)封裝是數(shù)據(jù)封裝是數(shù)據(jù)和數(shù)據(jù)有關(guān)的操作數(shù)據(jù)和數(shù)據(jù)有關(guān)的操作的集合。的集合。 檢查數(shù)據(jù)成員是否滿(mǎn)足數(shù)據(jù)封裝的要求,基本原則是數(shù)據(jù)成員是檢查數(shù)據(jù)成員是否滿(mǎn)

9、足數(shù)據(jù)封裝的要求,基本原則是數(shù)據(jù)成員是否被外界(數(shù)據(jù)成員所屬的類(lèi)或子類(lèi)以外的調(diào)用)直接調(diào)用。否被外界(數(shù)據(jù)成員所屬的類(lèi)或子類(lèi)以外的調(diào)用)直接調(diào)用。 當(dāng)改變數(shù)據(jù)成員的結(jié)構(gòu)時(shí),是否影響了類(lèi)的對(duì)外接口,是否會(huì)導(dǎo)當(dāng)改變數(shù)據(jù)成員的結(jié)構(gòu)時(shí),是否影響了類(lèi)的對(duì)外接口,是否會(huì)導(dǎo)致相應(yīng)外界必須改動(dòng)。致相應(yīng)外界必須改動(dòng)。 值得注意值得注意,有時(shí)強(qiáng)制的類(lèi)型轉(zhuǎn)換會(huì)破壞數(shù)據(jù)的封裝特性。,有時(shí)強(qiáng)制的類(lèi)型轉(zhuǎn)換會(huì)破壞數(shù)據(jù)的封裝特性。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt8.2 類(lèi)測(cè)試類(lèi)測(cè)試 l 例如:例如:class Hidenprivate:int a=1;char *p= hiden;class Visible

10、public:int b=2;char *s= visible;.Hiden pp;Visible *qq=(Visible *)&pp;在上面的程序段中,在上面的程序段中,pp的數(shù)據(jù)成員可以通過(guò)的數(shù)據(jù)成員可以通過(guò)qq被隨意訪問(wèn)。被隨意訪問(wèn)。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選pptl 1. 繼承的成員函數(shù)是否都不需要測(cè)試?繼承的成員函數(shù)是否都不需要測(cè)試? 對(duì)父類(lèi)中已經(jīng)測(cè)試過(guò)的成員函數(shù),兩種情況需要在子類(lèi)中重對(duì)父類(lèi)中已經(jīng)測(cè)試過(guò)的成員函數(shù),兩種情況需要在子類(lèi)中重新測(cè)試:新測(cè)試:a)繼承的成員函數(shù)在子類(lèi)中做了改動(dòng);)繼承的成員函數(shù)在子類(lèi)中做了改動(dòng);b)成員函)成員函數(shù)調(diào)用了改動(dòng)過(guò)

11、的成員函數(shù)的部分。數(shù)調(diào)用了改動(dòng)過(guò)的成員函數(shù)的部分。 Derived:Redefined()顯然需要重新測(cè)試。對(duì)于顯然需要重新測(cè)試。對(duì)于Derived:Inherited(),如果它有調(diào)用,如果它有調(diào)用Redefined()的語(yǔ)句的語(yǔ)句(x=x/Redefined(),就需要重新測(cè)試,反之,無(wú)此必要。就需要重新測(cè)試,反之,無(wú)此必要。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選pptl 2. 對(duì)父類(lèi)的測(cè)試是否能照搬到子類(lèi)?對(duì)父類(lèi)的測(cè)試是否能照搬到子類(lèi)? 延用上面的假設(shè),延用上面的假設(shè),Base:Redefined()和和Derived:Redefined()已經(jīng)已經(jīng)是不同的成員函數(shù),它們有不同的

12、服務(wù)說(shuō)明和執(zhí)行。是不同的成員函數(shù),它們有不同的服務(wù)說(shuō)明和執(zhí)行。 應(yīng)該對(duì)應(yīng)該對(duì) Derived:Redefined()重新測(cè)試分析,設(shè)計(jì)測(cè)試用例。但由重新測(cè)試分析,設(shè)計(jì)測(cè)試用例。但由于面向?qū)ο蟮睦^承使得兩個(gè)函數(shù)有相似,故只需在于面向?qū)ο蟮睦^承使得兩個(gè)函數(shù)有相似,故只需在 Base:Redefined()的測(cè)試要求和測(cè)試用例上添加對(duì)的測(cè)試要求和測(cè)試用例上添加對(duì)Derived:Redfined()新的測(cè)試要求和增補(bǔ)相應(yīng)的測(cè)試用例。新的測(cè)試要求和增補(bǔ)相應(yīng)的測(cè)試用例。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選pptl 例如:例如:Base:Redefined()含有如下語(yǔ)句含有如下語(yǔ)句if (val

13、ue0) message (less);else if (value=0) message (equal);else message (more);Derived:Redfined()中定義為中定義為if (value0) message (less);else if (value=0) message (It is equal);elsemessage (more);if (value=88)message(luck);在原有的測(cè)試上,對(duì)在原有的測(cè)試上,對(duì)Derived:Redfined()的測(cè)試只需做如下改動(dòng):的測(cè)試只需做如下改動(dòng):將將value=0的測(cè)試結(jié)果期望改動(dòng);增加的測(cè)試結(jié)果期望改

14、動(dòng);增加value=88的測(cè)試。的測(cè)試。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt165.2 5.2 面向?qū)ο蟮能浖y(cè)試模型面向?qū)ο蟮能浖y(cè)試模型l面向?qū)ο蟮能浖_(kāi)發(fā)面向?qū)ο蟮能浖_(kāi)發(fā)面向?qū)ο蟮姆治觯嫦驅(qū)ο蟮姆治觯∣OA)面向?qū)ο蟮脑O(shè)計(jì)(面向?qū)ο蟮脑O(shè)計(jì)(OOD)面向?qū)ο蟮木幊蹋嫦驅(qū)ο蟮木幊蹋∣OP)華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt175.2 5.2 面向?qū)ο蟮能浖y(cè)試模型面向?qū)ο蟮能浖y(cè)試模型l面向?qū)ο蟮能浖y(cè)試面向?qū)ο蟮能浖y(cè)試面向?qū)ο蠓治龅臏y(cè)試面向?qū)ο蠓治龅臏y(cè)試面向?qū)ο笤O(shè)計(jì)的測(cè)試面向?qū)ο笤O(shè)計(jì)的測(cè)試面向?qū)ο缶幊痰臏y(cè)試面向?qū)ο缶幊痰臏y(cè)試l面向?qū)ο蟮膯卧獪y(cè)試面向?qū)?/p>

15、象的單元測(cè)試l面向?qū)ο蟮募蓽y(cè)試面向?qū)ο蟮募蓽y(cè)試l面向?qū)ο蟮南到y(tǒng)測(cè)試面向?qū)ο蟮南到y(tǒng)測(cè)試對(duì)分析和設(shè)計(jì)得到的文檔對(duì)分析和設(shè)計(jì)得到的文檔進(jìn)行測(cè)試進(jìn)行測(cè)試對(duì)編程風(fēng)格和代碼進(jìn)行測(cè)對(duì)編程風(fēng)格和代碼進(jìn)行測(cè)試試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt面向?qū)ο筌浖y(cè)試模型面向?qū)ο筌浖y(cè)試模型OO System TestOO Integrate TestOOAOODOOPOOA TestOOD TestOOP TestOO Unit Test面向?qū)ο竺嫦驅(qū)ο?分析的測(cè)試分析的測(cè)試面向?qū)ο竺嫦驅(qū)ο?設(shè)計(jì)的測(cè)試設(shè)計(jì)的測(cè)試面向?qū)ο竺嫦驅(qū)ο?編程的測(cè)試編程的測(cè)試面向?qū)ο竺嫦驅(qū)ο笙到y(tǒng)測(cè)試系統(tǒng)測(cè)試面向?qū)ο竺嫦驅(qū)ο?/p>

16、單元測(cè)試單元測(cè)試面向?qū)ο竺嫦驅(qū)ο蠹蓽y(cè)試集成測(cè)試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt面向?qū)ο鬁y(cè)試的模型面向?qū)ο鬁y(cè)試的模型l 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鯫OA的的 測(cè)試測(cè)試 OOA直接映射問(wèn)題空間,全面的將問(wèn)題空間中實(shí)現(xiàn)功能的現(xiàn)直接映射問(wèn)題空間,全面的將問(wèn)題空間中實(shí)現(xiàn)功能的現(xiàn)實(shí)抽象化。實(shí)抽象化。 將問(wèn)題空間中的實(shí)例抽象為對(duì)象,用對(duì)象的結(jié)構(gòu)反映問(wèn)題空將問(wèn)題空間中的實(shí)例抽象為對(duì)象,用對(duì)象的結(jié)構(gòu)反映問(wèn)題空間的復(fù)雜實(shí)例和復(fù)雜關(guān)系,用屬性和服務(wù)表示實(shí)例的特性和間的復(fù)雜實(shí)例和復(fù)雜關(guān)系,用屬性和服務(wù)表示實(shí)例的特性和行為。行為。 OOA對(duì)問(wèn)題空間分析抽象的不完整,最終會(huì)影響軟件的功能對(duì)問(wèn)題空間分析抽

17、象的不完整,最終會(huì)影響軟件的功能實(shí)現(xiàn),導(dǎo)致軟件開(kāi)發(fā)后期產(chǎn)生大量原本可避免的修補(bǔ)工作;實(shí)現(xiàn),導(dǎo)致軟件開(kāi)發(fā)后期產(chǎn)生大量原本可避免的修補(bǔ)工作; 冗余的對(duì)象或結(jié)構(gòu)會(huì)影響類(lèi)的選定、程序的整體結(jié)構(gòu)或增加冗余的對(duì)象或結(jié)構(gòu)會(huì)影響類(lèi)的選定、程序的整體結(jié)構(gòu)或增加程序員不必要的工作量。程序員不必要的工作量。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選pptl 面向?qū)ο笤O(shè)計(jì)面向?qū)ο笤O(shè)計(jì)OOD的測(cè)試的測(cè)試OOD確定類(lèi)和類(lèi)的結(jié)構(gòu)不僅滿(mǎn)足滿(mǎn)足當(dāng)前需求分析的需求,確定類(lèi)和類(lèi)的結(jié)構(gòu)不僅滿(mǎn)足滿(mǎn)足當(dāng)前需求分析的需求,更重要的是通過(guò)重新組合或加以適當(dāng)?shù)难a(bǔ)充,能方便實(shí)現(xiàn)功更重要的是通過(guò)重新組合或加以適當(dāng)?shù)难a(bǔ)充,能方便實(shí)現(xiàn)功能的重用和擴(kuò)

18、增。能的重用和擴(kuò)增。對(duì)對(duì)OOD的測(cè)試針對(duì)功能的實(shí)現(xiàn)和重用以及對(duì)的測(cè)試針對(duì)功能的實(shí)現(xiàn)和重用以及對(duì)OOA結(jié)果的拓展結(jié)果的拓展。對(duì)認(rèn)定的類(lèi)測(cè)試對(duì)認(rèn)定的類(lèi)測(cè)試(是否涵蓋了OOA中所有認(rèn)定的對(duì)象;是否能體現(xiàn)OOA中定義的屬性;是否能實(shí)現(xiàn)OOA中定義的服務(wù);是否對(duì)應(yīng)著一個(gè)含義明確的數(shù)據(jù)抽象;是否盡可能少的依賴(lài)其他類(lèi);類(lèi)中的方法是否單用途)對(duì)構(gòu)造的類(lèi)層次結(jié)構(gòu)的測(cè)試對(duì)構(gòu)造的類(lèi)層次結(jié)構(gòu)的測(cè)試(類(lèi)層次結(jié)構(gòu)是否涵蓋了所有定義的類(lèi);是否能體現(xiàn)OOA中定義的實(shí)例關(guān)聯(lián);是否能實(shí)現(xiàn)OOA中定義的消息關(guān)聯(lián);子類(lèi)是否具有父類(lèi)沒(méi)有的新特性;子類(lèi)間的共同特性是否完全在父類(lèi)中得以體現(xiàn))對(duì)類(lèi)庫(kù)的支持的測(cè)試對(duì)類(lèi)庫(kù)的支持的測(cè)試面向?qū)ο鬁y(cè)試

19、的模型面向?qū)ο鬁y(cè)試的模型華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt面向?qū)ο鬁y(cè)試的模型面向?qū)ο鬁y(cè)試的模型l 面向?qū)ο蟪绦蚴前压δ艿膶?shí)現(xiàn)分布在類(lèi)中。面向?qū)ο蟪绦蚴前压δ艿膶?shí)現(xiàn)分布在類(lèi)中。能正確實(shí)現(xiàn)功能的類(lèi),通能正確實(shí)現(xiàn)功能的類(lèi),通過(guò)消息傳遞來(lái)協(xié)同實(shí)現(xiàn)設(shè)計(jì)要求的功能。這種程序架構(gòu)能將出現(xiàn)的錯(cuò)過(guò)消息傳遞來(lái)協(xié)同實(shí)現(xiàn)設(shè)計(jì)要求的功能。這種程序架構(gòu)能將出現(xiàn)的錯(cuò)誤精確的確定在某一具體的類(lèi)。誤精確的確定在某一具體的類(lèi)。 l 對(duì)對(duì)OOP的測(cè)試重點(diǎn)集中在類(lèi)功能的實(shí)現(xiàn)和相應(yīng)的面向?qū)ο蟪绦蚣軜?gòu),的測(cè)試重點(diǎn)集中在類(lèi)功能的實(shí)現(xiàn)和相應(yīng)的面向?qū)ο蟪绦蚣軜?gòu),主要體現(xiàn)為以下兩個(gè)方面:主要體現(xiàn)為以下兩個(gè)方面:(1)數(shù)據(jù)成員是否

20、滿(mǎn)足數(shù)據(jù)封裝的要求)數(shù)據(jù)成員是否滿(mǎn)足數(shù)據(jù)封裝的要求基本原則是數(shù)據(jù)成員是否被基本原則是數(shù)據(jù)成員是否被外界(數(shù)據(jù)成員所屬的類(lèi)或子類(lèi)以外的調(diào)用)直接調(diào)用。外界(數(shù)據(jù)成員所屬的類(lèi)或子類(lèi)以外的調(diào)用)直接調(diào)用。(2)類(lèi)是否實(shí)現(xiàn)了要求的功能)類(lèi)是否實(shí)現(xiàn)了要求的功能測(cè)試類(lèi)的功能,不能僅滿(mǎn)足于代碼能測(cè)試類(lèi)的功能,不能僅滿(mǎn)足于代碼能無(wú)錯(cuò)運(yùn)行或被測(cè)試的類(lèi)能提供的功能正確,應(yīng)以所做的無(wú)錯(cuò)運(yùn)行或被測(cè)試的類(lèi)能提供的功能正確,應(yīng)以所做的OOD結(jié)果為依結(jié)果為依據(jù),檢測(cè)類(lèi)提供的功能是否滿(mǎn)足了設(shè)計(jì)的要求,是否有缺陷。據(jù),檢測(cè)類(lèi)提供的功能是否滿(mǎn)足了設(shè)計(jì)的要求,是否有缺陷。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt225.3

21、 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l與傳統(tǒng)單元測(cè)試的區(qū)別與傳統(tǒng)單元測(cè)試的區(qū)別從單元的劃分看從單元的劃分看從測(cè)試方法看從測(cè)試方法看從測(cè)試對(duì)象看從測(cè)試對(duì)象看華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt235.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l從單元?jiǎng)澐挚磸膯卧獎(jiǎng)澐挚疵嫦蜻^(guò)程:以面向過(guò)程:以過(guò)程或功能過(guò)程或功能作為單元?jiǎng)澐肿鳛閱卧獎(jiǎng)澐值囊罁?jù)。的依據(jù)。面向?qū)ο螅阂悦嫦驅(qū)ο螅阂灶?lèi)類(lèi)作為單元作為單元l是否需要測(cè)試所有的類(lèi)是否需要測(cè)試所有的類(lèi)l無(wú)法實(shí)例化的類(lèi)如何測(cè)試無(wú)法實(shí)例化的類(lèi)如何測(cè)試l繼承的類(lèi)如何測(cè)試?yán)^承的類(lèi)如何測(cè)試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt24

22、5.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l與傳統(tǒng)單元測(cè)試的區(qū)別與傳統(tǒng)單元測(cè)試的區(qū)別從單元的劃分看從單元的劃分看從測(cè)試方法看從測(cè)試方法看從測(cè)試對(duì)象看從測(cè)試對(duì)象看華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt255.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l從測(cè)試方法看從測(cè)試方法看傳統(tǒng)的單元測(cè)試:傳統(tǒng)的單元測(cè)試:靜態(tài)測(cè)試靜態(tài)測(cè)試+動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試面向?qū)ο蟮膯卧獪y(cè)試:更強(qiáng)調(diào)面向?qū)ο蟮膯卧獪y(cè)試:更強(qiáng)調(diào)自動(dòng)化自動(dòng)化,不強(qiáng)調(diào)代碼檢查不強(qiáng)調(diào)代碼檢查l如何設(shè)計(jì)測(cè)試用例如何設(shè)計(jì)測(cè)試用例l如何構(gòu)造測(cè)試驅(qū)動(dòng)程序,并避免巨大的工如何構(gòu)造測(cè)試驅(qū)動(dòng)程序,并避免巨大的工作量作量l如何最大可能實(shí)現(xiàn)自動(dòng)

23、化的單元測(cè)試如何最大可能實(shí)現(xiàn)自動(dòng)化的單元測(cè)試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt265.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l與傳統(tǒng)單元測(cè)試的區(qū)別與傳統(tǒng)單元測(cè)試的區(qū)別從單元的劃分看從單元的劃分看從測(cè)試方法看從測(cè)試方法看從測(cè)試對(duì)象看從測(cè)試對(duì)象看華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt275.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l從測(cè)試對(duì)象看從測(cè)試對(duì)象看傳統(tǒng)的單元測(cè)試主要關(guān)注傳統(tǒng)的單元測(cè)試主要關(guān)注l函數(shù)實(shí)現(xiàn)的功能函數(shù)實(shí)現(xiàn)的功能l如何通過(guò)接口傳遞數(shù)據(jù)或消息如何通過(guò)接口傳遞數(shù)據(jù)或消息l函數(shù)內(nèi)部的邏輯和效率函數(shù)內(nèi)部的邏輯和效率面向?qū)ο蟮膯卧獪y(cè)試主要關(guān)注面向

24、對(duì)象的單元測(cè)試主要關(guān)注l類(lèi)的方法類(lèi)的方法l類(lèi)的狀態(tài)類(lèi)的狀態(tài)華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt285.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l從測(cè)試對(duì)象看從測(cè)試對(duì)象看面向?qū)ο蟮膯卧獪y(cè)試應(yīng)解決面向?qū)ο蟮膯卧獪y(cè)試應(yīng)解決l如何測(cè)試私有方法或受到保護(hù)的方法如何測(cè)試私有方法或受到保護(hù)的方法l是否需要測(cè)試類(lèi)中的所有方法是否需要測(cè)試類(lèi)中的所有方法華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt295.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l實(shí)施的基本步驟實(shí)施的基本步驟劃分類(lèi)的優(yōu)先級(jí)劃分類(lèi)的優(yōu)先級(jí)根據(jù)優(yōu)先級(jí)的大小確定需根據(jù)優(yōu)先級(jí)的大小確定需要執(zhí)行單元測(cè)試的類(lèi)。要執(zhí)行單元測(cè)試

25、的類(lèi)。靜態(tài)測(cè)試靜態(tài)測(cè)試去除低級(jí)錯(cuò)誤,評(píng)估類(lèi)的質(zhì)量去除低級(jí)錯(cuò)誤,評(píng)估類(lèi)的質(zhì)量對(duì)需要執(zhí)行單元測(cè)試的類(lèi)設(shè)計(jì)測(cè)試用例對(duì)需要執(zhí)行單元測(cè)試的類(lèi)設(shè)計(jì)測(cè)試用例開(kāi)發(fā)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)測(cè)試驅(qū)動(dòng) 自動(dòng)化的腳本組織測(cè)試用例自動(dòng)化的腳本組織測(cè)試用例執(zhí)行測(cè)試,對(duì)測(cè)試結(jié)果進(jìn)行總結(jié)執(zhí)行測(cè)試,對(duì)測(cè)試結(jié)果進(jìn)行總結(jié) 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt305.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試用例的設(shè)計(jì)測(cè)試用例的設(shè)計(jì)案例說(shuō)明案例說(shuō)明根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)

26、試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt315.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l案例說(shuō)明案例說(shuō)明MyPointMyShapeMyLineMyTriangleScaleneIsosceles華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt325.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試用例的設(shè)計(jì)測(cè)試用例的設(shè)計(jì)案例說(shuō)明案例說(shuō)明根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用

27、例華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt335.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)代碼設(shè)計(jì)測(cè)試用例公有方法公有方法保護(hù)方法保護(hù)方法私有方法私有方法l直接修改被測(cè)代碼直接修改被測(cè)代碼l在被測(cè)類(lèi)中加入公有方法在被測(cè)類(lèi)中加入公有方法l利用內(nèi)類(lèi)機(jī)制利用內(nèi)類(lèi)機(jī)制華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt345.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試用例的設(shè)計(jì)測(cè)試用例的設(shè)計(jì)案例說(shuō)明案例說(shuō)明根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換

28、設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt355.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l根據(jù)前置和后置條件設(shè)計(jì)測(cè)試用例根據(jù)前置和后置條件設(shè)計(jì)測(cè)試用例l定義定義前置條件前置條件是方法被執(zhí)行之前應(yīng)該滿(mǎn)足的是方法被執(zhí)行之前應(yīng)該滿(mǎn)足的條件;條件;后置條件后置條件是當(dāng)方法執(zhí)行結(jié)束之后應(yīng)滿(mǎn)足是當(dāng)方法執(zhí)行結(jié)束之后應(yīng)滿(mǎn)足的條件。的條件。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt365.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試用例的設(shè)計(jì)測(cè)試用例的設(shè)計(jì)案例說(shuō)明案例說(shuō)明根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)前

29、置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt375.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例l狀態(tài)轉(zhuǎn)換圖中清晰地列出了類(lèi)可能處于的狀態(tài)轉(zhuǎn)換圖中清晰地列出了類(lèi)可能處于的所有狀態(tài),每一對(duì)狀態(tài)轉(zhuǎn)換都涉及一個(gè)觸所有狀態(tài),每一對(duì)狀態(tài)轉(zhuǎn)換都涉及一個(gè)觸發(fā)事件。發(fā)事件。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt385.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試用例的設(shè)計(jì)

30、測(cè)試用例的設(shè)計(jì)案例說(shuō)明案例說(shuō)明根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)代碼設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)前置條件和后置條件設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt395.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l根據(jù)方法特性設(shè)計(jì)測(cè)試用例根據(jù)方法特性設(shè)計(jì)測(cè)試用例構(gòu)造函數(shù)構(gòu)造函數(shù)檢測(cè)被測(cè)類(lèi)在各種情況下檢測(cè)被測(cè)類(lèi)在各種情況下所創(chuàng)建的對(duì)象能否正常初始化所創(chuàng)建的對(duì)象能否正常初始化功能函數(shù)功能函數(shù)結(jié)合邊界值、等價(jià)類(lèi)檢驗(yàn)結(jié)合邊界值、等價(jià)類(lèi)檢驗(yàn)每種功能是否能正確完成每種功能是否能正

31、確完成接口函數(shù)接口函數(shù)檢驗(yàn)類(lèi)能否在各種狀態(tài)之檢驗(yàn)類(lèi)能否在各種狀態(tài)之間成功轉(zhuǎn)化間成功轉(zhuǎn)化華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt405.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l 綜合策略綜合策略根據(jù)方法特性劃分:根據(jù)方法特性劃分:構(gòu)造函數(shù)、功能函數(shù)和接口函數(shù)。構(gòu)造函數(shù)、功能函數(shù)和接口函數(shù)。針對(duì)構(gòu)造函數(shù),針對(duì)構(gòu)造函數(shù),根據(jù)前置和后置條件設(shè)計(jì)用例。根據(jù)前置和后置條件設(shè)計(jì)用例。針對(duì)功能函數(shù)針對(duì)功能函數(shù)l 公有方法:基于前置條件和后置條件設(shè)計(jì)測(cè)試用例。公有方法:基于前置條件和后置條件設(shè)計(jì)測(cè)試用例。l 受保護(hù)的方法:嚴(yán)格區(qū)分有訪問(wèn)權(quán)限和無(wú)訪問(wèn)權(quán)限的前置條件和后置受保護(hù)的方法:嚴(yán)格區(qū)分有

32、訪問(wèn)權(quán)限和無(wú)訪問(wèn)權(quán)限的前置條件和后置條件,設(shè)計(jì)測(cè)試用例。條件,設(shè)計(jì)測(cè)試用例。l 私有方法:根據(jù)實(shí)際情況選用適當(dāng)?shù)牟呗赃M(jìn)行測(cè)試。私有方法:根據(jù)實(shí)際情況選用適當(dāng)?shù)牟呗赃M(jìn)行測(cè)試。針對(duì)接口函數(shù),針對(duì)接口函數(shù),根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例。根據(jù)狀態(tài)轉(zhuǎn)換設(shè)計(jì)測(cè)試用例。對(duì)于以上每種情況,都應(yīng)結(jié)合邊界值、等價(jià)類(lèi)等測(cè)試方法來(lái)對(duì)于以上每種情況,都應(yīng)結(jié)合邊界值、等價(jià)類(lèi)等測(cè)試方法來(lái)選擇測(cè)試數(shù)據(jù)。選擇測(cè)試數(shù)據(jù)。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt415.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試驅(qū)動(dòng)的實(shí)現(xiàn)方式測(cè)試驅(qū)動(dòng)的實(shí)現(xiàn)方式利用利用main方法方法嵌入靜態(tài)方法嵌入靜態(tài)方法獨(dú)立的測(cè)試類(lèi)獨(dú)立的測(cè)試類(lèi)

33、華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt425.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試代碼的組織測(cè)試代碼的組織與產(chǎn)品代碼放在一起與產(chǎn)品代碼放在一起在產(chǎn)品代碼目錄下在產(chǎn)品代碼目錄下與產(chǎn)品代碼并行與產(chǎn)品代碼并行與產(chǎn)品代碼的副本放在一起與產(chǎn)品代碼的副本放在一起華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt435.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試驅(qū)動(dòng)框架測(cè)試驅(qū)動(dòng)框架設(shè)計(jì)目標(biāo)設(shè)計(jì)目標(biāo)l自動(dòng)自動(dòng)l簡(jiǎn)單簡(jiǎn)單l靈活靈活設(shè)計(jì)思想設(shè)計(jì)思想lTestCaselTestResult華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt445.3 5.3 面向?qū)ο蟮膯卧獪y(cè)

34、試面向?qū)ο蟮膯卧獪y(cè)試l測(cè)試驅(qū)動(dòng)框架:測(cè)試驅(qū)動(dòng)框架:TestCasel4類(lèi)操作類(lèi)操作構(gòu)建和執(zhí)行測(cè)試用例構(gòu)建和執(zhí)行測(cè)試用例 創(chuàng)建和操作被測(cè)類(lèi)的創(chuàng)建和操作被測(cè)類(lèi)的Object實(shí)例實(shí)例 分析測(cè)試用例結(jié)果分析測(cè)試用例結(jié)果 將測(cè)試過(guò)程記錄到日志文件將測(cè)試過(guò)程記錄到日志文件 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt455.3 5.3 面向?qū)ο蟮膯卧獪y(cè)試面向?qū)ο蟮膯卧獪y(cè)試l案例實(shí)踐一:案例實(shí)踐一:類(lèi)類(lèi)MyPoint的第一次測(cè)試嘗的第一次測(cè)試嘗試試 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt465.4 JUnit5.4 JUnit測(cè)試測(cè)試l面臨的問(wèn)題面臨的問(wèn)題提高軟件的質(zhì)量需要撰寫(xiě)測(cè)試程序;提

35、高軟件的質(zhì)量需要撰寫(xiě)測(cè)試程序;經(jīng)良好設(shè)計(jì)和規(guī)劃的測(cè)試類(lèi)的代碼不需經(jīng)良好設(shè)計(jì)和規(guī)劃的測(cè)試類(lèi)的代碼不需要那么繁瑣和冗長(zhǎng);要那么繁瑣和冗長(zhǎng);通過(guò)借助于測(cè)試類(lèi)的編寫(xiě)規(guī)范可以得到通過(guò)借助于測(cè)試類(lèi)的編寫(xiě)規(guī)范可以得到易于操作的測(cè)試,且不隨時(shí)間變化。易于操作的測(cè)試,且不隨時(shí)間變化。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt475.4 JUnit5.4 JUnit測(cè)試測(cè)試l JUnit的概念的概念用于編寫(xiě)和運(yùn)行可重復(fù)的測(cè)試,專(zhuān)門(mén)針對(duì)用于編寫(xiě)和運(yùn)行可重復(fù)的測(cè)試,專(zhuān)門(mén)針對(duì)Java代碼的代碼的單元測(cè)試,主要用于白盒測(cè)試盒回歸測(cè)試。單元測(cè)試,主要用于白盒測(cè)試盒回歸測(cè)試。l 3個(gè)設(shè)計(jì)目標(biāo)個(gè)設(shè)計(jì)目標(biāo)自動(dòng)化測(cè)試框架自

36、動(dòng)化測(cè)試框架確保代碼持久有效確保代碼持久有效支持測(cè)試代碼的重用支持測(cè)試代碼的重用華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt485.4 JUnit5.4 JUnit測(cè)試測(cè)試l JUnit特性及優(yōu)點(diǎn)特性及優(yōu)點(diǎn)l 特性特性利用利用斷言斷言assert*來(lái)測(cè)試實(shí)際執(zhí)行結(jié)果是否符合預(yù)期結(jié)來(lái)測(cè)試實(shí)際執(zhí)行結(jié)果是否符合預(yù)期結(jié)果;果;利用利用測(cè)試用例測(cè)試用例TestCase和和測(cè)試包測(cè)試包TestSuite方便地組織方便地組織和運(yùn)行測(cè)試;和運(yùn)行測(cè)試;通過(guò)通過(guò)文本運(yùn)行器文本運(yùn)行器textui、圖形運(yùn)行器、圖形運(yùn)行器awtui和和swingui提供靈活的交互模式。提供靈活的交互模式。華東交通大學(xué)軟件學(xué)院華東

37、交通大學(xué)軟件學(xué)院精選ppt495.4 JUnit5.4 JUnit測(cè)試測(cè)試lJUnit特性及優(yōu)點(diǎn)特性及優(yōu)點(diǎn)l 在支持測(cè)試方面,在支持測(cè)試方面,JUnit的優(yōu)點(diǎn)的優(yōu)點(diǎn)將測(cè)試代碼與產(chǎn)品代碼分開(kāi),提高了軟件的將測(cè)試代碼與產(chǎn)品代碼分開(kāi),提高了軟件的可維護(hù)性可維護(hù)性;針對(duì)某個(gè)類(lèi)的測(cè)試代碼經(jīng)少量改動(dòng)之后即可應(yīng)用于另一針對(duì)某個(gè)類(lèi)的測(cè)試代碼經(jīng)少量改動(dòng)之后即可應(yīng)用于另一個(gè)類(lèi)的測(cè)試,簡(jiǎn)化了測(cè)試代碼的撰寫(xiě),提高了測(cè)試代碼個(gè)類(lèi)的測(cè)試,簡(jiǎn)化了測(cè)試代碼的撰寫(xiě),提高了測(cè)試代碼的的復(fù)用程度復(fù)用程度;公開(kāi)源代碼,便于進(jìn)行公開(kāi)源代碼,便于進(jìn)行二次開(kāi)發(fā)二次開(kāi)發(fā),且,且便于擴(kuò)展便于擴(kuò)展。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選p

38、pt505.4 JUnit5.4 JUnit測(cè)試測(cè)試lJUnit特性及優(yōu)點(diǎn)特性及優(yōu)點(diǎn)l就對(duì)軟件開(kāi)發(fā)與過(guò)程的支持而言,就對(duì)軟件開(kāi)發(fā)與過(guò)程的支持而言,JUnit有有助于助于加快開(kāi)發(fā)速度;加快開(kāi)發(fā)速度;提高軟件代碼質(zhì)量;提高軟件代碼質(zhì)量;提升系統(tǒng)的可信賴(lài)度。提升系統(tǒng)的可信賴(lài)度。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt515.4 JUnit5.4 JUnit測(cè)試測(cè)試lJUnit下載與安裝下載與安裝華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt525.4 JUnit5.4 JUnit測(cè)試測(cè)試lJUnit3.8.x測(cè)試思想測(cè)試思想華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt5.4 JU

39、nit5.4 JUnit測(cè)試測(cè)試l Test類(lèi)類(lèi)接口類(lèi),建立接口類(lèi),建立TestCase與與TestSuite類(lèi)之間的類(lèi)之間的關(guān)聯(lián)關(guān)聯(lián)l TestCase類(lèi)類(lèi)由由TestCase類(lèi)派生測(cè)試驅(qū)動(dòng)類(lèi),包含若類(lèi)派生測(cè)試驅(qū)動(dòng)類(lèi),包含若干測(cè)試用例干測(cè)試用例l TestSuite類(lèi)類(lèi)將多個(gè)測(cè)試組合成一個(gè)測(cè)試包,在一個(gè)將多個(gè)測(cè)試組合成一個(gè)測(cè)試包,在一個(gè)測(cè)試過(guò)程完成對(duì)被測(cè)類(lèi)的所有測(cè)試測(cè)試過(guò)程完成對(duì)被測(cè)類(lèi)的所有測(cè)試l TestResult類(lèi)類(lèi)搜集所有測(cè)試用例的執(zhí)行結(jié)果。搜集所有測(cè)試用例的執(zhí)行結(jié)果。l Assert類(lèi)類(lèi)將實(shí)際值與預(yù)期值進(jìn)行比較。將實(shí)際值與預(yù)期值進(jìn)行比較。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選

40、ppt545.4 JUnit5.4 JUnit測(cè)試測(cè)試l 基于類(lèi)的單元測(cè)試的基本步驟基于類(lèi)的單元測(cè)試的基本步驟創(chuàng)建測(cè)試驅(qū)動(dòng)類(lèi);創(chuàng)建測(cè)試驅(qū)動(dòng)類(lèi);創(chuàng)建被測(cè)類(lèi)的對(duì)象;創(chuàng)建被測(cè)類(lèi)的對(duì)象;設(shè)計(jì)測(cè)試用例和對(duì)應(yīng)的測(cè)試程序,從方法、狀態(tài)等方面展開(kāi)測(cè)設(shè)計(jì)測(cè)試用例和對(duì)應(yīng)的測(cè)試程序,從方法、狀態(tài)等方面展開(kāi)測(cè)試;試;測(cè)試完畢釋放已經(jīng)分配的永久性資源;測(cè)試完畢釋放已經(jīng)分配的永久性資源;將多個(gè)測(cè)試用例組織成測(cè)試包,必要時(shí)需設(shè)定測(cè)試用例執(zhí)行的將多個(gè)測(cè)試用例組織成測(cè)試包,必要時(shí)需設(shè)定測(cè)試用例執(zhí)行的順序;順序;執(zhí)行測(cè)試;執(zhí)行測(cè)試;檢驗(yàn)并統(tǒng)計(jì)測(cè)試結(jié)果。檢驗(yàn)并統(tǒng)計(jì)測(cè)試結(jié)果。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt555.

41、4 JUnit5.4 JUnit測(cè)試測(cè)試l案例實(shí)踐二:類(lèi)案例實(shí)踐二:類(lèi)MyPoint的第二次測(cè)的第二次測(cè)試嘗試試嘗試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt565.4 JUnit5.4 JUnit測(cè)試測(cè)試l JUnit使用經(jīng)驗(yàn)使用經(jīng)驗(yàn)l 基本步驟基本步驟繼承繼承junit.framework.TestCase類(lèi);類(lèi);填寫(xiě)填寫(xiě)setUp()和和tearDown()方法;方法;撰寫(xiě)撰寫(xiě)test*測(cè)試方法,并用測(cè)試方法,并用assert*驗(yàn)證用例的執(zhí)行情驗(yàn)證用例的執(zhí)行情況;況;重寫(xiě)重寫(xiě)suite()方法,利用方法,利用addTest加入自己的加入自己的test*測(cè)試測(cè)試方法;方法;以圖形或

42、文本方式執(zhí)行測(cè)試。以圖形或文本方式執(zhí)行測(cè)試。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt575.4 JUnit5.4 JUnit測(cè)試測(cè)試l特殊類(lèi)的測(cè)試特殊類(lèi)的測(cè)試接口類(lèi)接口類(lèi)對(duì)實(shí)現(xiàn)的類(lèi)展開(kāi)測(cè)試而進(jìn)而對(duì)實(shí)現(xiàn)的類(lèi)展開(kāi)測(cè)試而進(jìn)而測(cè)試到接口類(lèi)。測(cè)試到接口類(lèi)。抽象類(lèi)抽象類(lèi)利用內(nèi)類(lèi)實(shí)現(xiàn)(利用內(nèi)類(lèi)實(shí)現(xiàn)(JUnit3.x)。)。繼承類(lèi)繼承類(lèi)分別設(shè)計(jì)測(cè)試驅(qū)動(dòng)類(lèi),用一分別設(shè)計(jì)測(cè)試驅(qū)動(dòng)類(lèi),用一個(gè)組合測(cè)試類(lèi)來(lái)將父類(lèi)和子類(lèi)的測(cè)試加個(gè)組合測(cè)試類(lèi)來(lái)將父類(lèi)和子類(lèi)的測(cè)試加入一個(gè)包中。入一個(gè)包中。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt585.4 JUnit5.4 JUnit測(cè)試測(cè)試l案例實(shí)踐三:案例實(shí)踐三:My

43、Point系列的測(cè)試系列的測(cè)試華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt595.4 JUnit5.4 JUnit測(cè)試測(cè)試lJUnit4功能增強(qiáng)功能增強(qiáng)TestBefore, AfterBeforeClass, AfterClass華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt5.5 5.5 面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試l 面向?qū)ο笤O(shè)計(jì)(面向?qū)ο笤O(shè)計(jì)(OOD)采用)采用“造型的觀點(diǎn)造型的觀點(diǎn)”,以,以O(shè)OA為基礎(chǔ)歸納出為基礎(chǔ)歸納出類(lèi),并建立類(lèi)結(jié)構(gòu)或進(jìn)一步構(gòu)造成類(lèi)庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題空間的類(lèi),并建立類(lèi)結(jié)構(gòu)或進(jìn)一步構(gòu)造成類(lèi)庫(kù),實(shí)現(xiàn)分析結(jié)果對(duì)問(wèn)題空間的抽象。抽

44、象。l OOD 歸納的類(lèi),可以是對(duì)象簡(jiǎn)單的延續(xù),可以是不同對(duì)象的相同或歸納的類(lèi),可以是對(duì)象簡(jiǎn)單的延續(xù),可以是不同對(duì)象的相同或相似的服務(wù)。相似的服務(wù)。l OOD不是在不是在OOA上的另一思維方式的大動(dòng)干戈,而是上的另一思維方式的大動(dòng)干戈,而是OOA的進(jìn)一步的進(jìn)一步細(xì)化和更高層的抽象。細(xì)化和更高層的抽象。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt5.5 5.5 面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試l 與傳統(tǒng)的集成測(cè)試的區(qū)別與傳統(tǒng)的集成測(cè)試的區(qū)別傳統(tǒng)的集成測(cè)試是由底向上通過(guò)集成完成的功能模塊進(jìn)行測(cè)試,傳統(tǒng)的集成測(cè)試是由底向上通過(guò)集成完成的功能模塊進(jìn)行測(cè)試,一般可以一般可

45、以在部分程序編譯完成的情況下進(jìn)行在部分程序編譯完成的情況下進(jìn)行。面向?qū)ο蟪绦?,相互調(diào)用的功能是散布在程序的不同類(lèi)中,類(lèi)通面向?qū)ο蟪绦?,相互調(diào)用的功能是散布在程序的不同類(lèi)中,類(lèi)通過(guò)消息相互作用申請(qǐng)和提供服務(wù)。類(lèi)的行為與它的狀態(tài)密切相關(guān),過(guò)消息相互作用申請(qǐng)和提供服務(wù)。類(lèi)的行為與它的狀態(tài)密切相關(guān),狀態(tài)不僅僅是體現(xiàn)在類(lèi)數(shù)據(jù)成員的值,也許還包括其他類(lèi)中的狀狀態(tài)不僅僅是體現(xiàn)在類(lèi)數(shù)據(jù)成員的值,也許還包括其他類(lèi)中的狀態(tài)信息。態(tài)信息。類(lèi)相互依賴(lài)極其緊密,根本無(wú)法在編譯不完全的程序上對(duì)類(lèi)進(jìn)行類(lèi)相互依賴(lài)極其緊密,根本無(wú)法在編譯不完全的程序上對(duì)類(lèi)進(jìn)行測(cè)試。測(cè)試。面向?qū)ο蟮募蓽y(cè)試通常需要在整個(gè)程序編譯完成后進(jìn)行。面向

46、對(duì)象的集成測(cè)試通常需要在整個(gè)程序編譯完成后進(jìn)行。華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt5.5 5.5 面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試l 面向?qū)ο蟮募蓽y(cè)試,能夠檢測(cè)出相對(duì)獨(dú)立的、單元測(cè)試無(wú)法檢測(cè)出面向?qū)ο蟮募蓽y(cè)試,能夠檢測(cè)出相對(duì)獨(dú)立的、單元測(cè)試無(wú)法檢測(cè)出的、類(lèi)相互作用時(shí)才會(huì)產(chǎn)生的錯(cuò)誤。的、類(lèi)相互作用時(shí)才會(huì)產(chǎn)生的錯(cuò)誤。l 基于單元測(cè)試對(duì)成員函數(shù)行為正確性的保證,集成測(cè)試只關(guān)注于基于單元測(cè)試對(duì)成員函數(shù)行為正確性的保證,集成測(cè)試只關(guān)注于系統(tǒng)系統(tǒng)的結(jié)構(gòu)和內(nèi)部的相互作用的結(jié)構(gòu)和內(nèi)部的相互作用。l 面向?qū)ο蟮募蓽y(cè)試可以分成兩步進(jìn)行:面向?qū)ο蟮募蓽y(cè)試可以分成兩步進(jìn)行:先進(jìn)行靜態(tài)測(cè)試,再進(jìn)行動(dòng)先進(jìn)行靜態(tài)測(cè)試,再進(jìn)行動(dòng)態(tài)測(cè)試態(tài)測(cè)試。 華東交通大學(xué)軟件學(xué)院華東交通大學(xué)軟件學(xué)院精選ppt5.5 5.5 面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試面向?qū)ο蟮募蓽y(cè)試和系統(tǒng)測(cè)試l 靜態(tài)測(cè)試靜態(tài)測(cè)試 主要針對(duì)主要針對(duì)程序的結(jié)構(gòu)程序的結(jié)構(gòu)進(jìn)行,檢測(cè)程序結(jié)構(gòu)是否符合設(shè)計(jì)要

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論