軟件工程導(dǎo)論7軟件測(cè)試課件_第1頁(yè)
軟件工程導(dǎo)論7軟件測(cè)試課件_第2頁(yè)
軟件工程導(dǎo)論7軟件測(cè)試課件_第3頁(yè)
軟件工程導(dǎo)論7軟件測(cè)試課件_第4頁(yè)
軟件工程導(dǎo)論7軟件測(cè)試課件_第5頁(yè)
已閱讀5頁(yè),還剩309頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第七章軟件測(cè)試引言軟件系統(tǒng)的開發(fā)體現(xiàn)了人們智力勞動(dòng)的成果。在軟件開發(fā)過程中,盡管人們利用了許多旨在改進(jìn)、保證軟件質(zhì)量的方法去分析、設(shè)計(jì)和實(shí)現(xiàn)軟件,但難免會(huì)在工作中犯這樣那樣的錯(cuò)誤。這樣,在軟件產(chǎn)品中就會(huì)隱藏許多的錯(cuò)誤和缺陷。對(duì)于規(guī)模大、復(fù)雜性高的軟件更是如此。在這些錯(cuò)誤中,有些甚至是致命的錯(cuò)誤,如果不排除,就會(huì)導(dǎo)致財(cái)產(chǎn)以至生命的重大損失。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20221軟件工程導(dǎo)論第七章軟件測(cè)試引言測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小第七章軟件測(cè)試引言例如,1963年美國(guó)發(fā)生了這樣一件事:一個(gè)FORTRAN程序的循環(huán)語(yǔ)句:DO5I=1,3被誤寫成:DO5I=1.3由于空格對(duì)FORTRAN編譯程序沒有意義,誤寫的語(yǔ)句被當(dāng)作了賦值語(yǔ)句:DO5I=1.3這里“,”被誤寫為“.”,一點(diǎn)之差致使飛往火星的火箭爆炸,造成1000萬(wàn)美元的損失。這種情況迫使人們必須認(rèn)真計(jì)劃、徹底地進(jìn)行軟件測(cè)試。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20222軟件工程導(dǎo)論第七章軟件測(cè)試引言測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小第七章軟件測(cè)試7.1軟件測(cè)試的基礎(chǔ)7.2測(cè)試用例設(shè)計(jì)7.3白盒測(cè)試的測(cè)試用例設(shè)計(jì)7.4黑盒測(cè)試的測(cè)試用例設(shè)計(jì)7.5軟件測(cè)試的策略7.6人工測(cè)試7.7調(diào)試(Debug,排錯(cuò))7.8本章小結(jié)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20223軟件工程導(dǎo)論第七章軟件測(cè)試7.1軟件測(cè)試的基礎(chǔ)測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.1軟件測(cè)試的基礎(chǔ)7.1.1軟件測(cè)試的概念7.1.2軟件測(cè)試的目的和原則7.1.3軟件測(cè)試的對(duì)象7.1.4測(cè)試信息流7.1.5測(cè)試與軟件開發(fā)各階段的關(guān)系測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20224軟件工程導(dǎo)論7.1軟件測(cè)試的基礎(chǔ)7.1.1軟件測(cè)試的概念測(cè)試基礎(chǔ)7.1.1軟件測(cè)試的概念概述:軟件測(cè)試是在軟件投入生產(chǎn)性運(yùn)行之前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20225軟件工程導(dǎo)論7.1.1軟件測(cè)試的概念概述:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑7.1.1軟件測(cè)試的概念定義:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。或者說,軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例,并利用這些測(cè)試用例取運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20226軟件工程導(dǎo)論7.1.1軟件測(cè)試的概念定義:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑7.1.1軟件測(cè)試的概念軟件測(cè)試在軟件生存期中橫跨兩個(gè)階段:通常在編寫出每一模塊后就對(duì)它作單元測(cè)試。模塊的編寫者與測(cè)試者是同一個(gè)人。在每個(gè)模塊都完成單元測(cè)試后,對(duì)軟件系統(tǒng)還要進(jìn)行各種綜合測(cè)試,通常由專門的測(cè)試人員承擔(dān)這項(xiàng)工作。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20227軟件工程導(dǎo)論7.1.1軟件測(cè)試的概念軟件測(cè)試在軟件7.1.2軟件測(cè)試的目的和原則概述:從用戶角度出發(fā):希望通過軟件測(cè)試暴露軟件中隱藏的錯(cuò)誤和缺陷,以考慮是否可以接受該產(chǎn)品;從軟件開發(fā)者的角度出發(fā):希望測(cè)試成為表明軟件產(chǎn)品中不存在錯(cuò)誤的過程,驗(yàn)證該軟件已正確地實(shí)現(xiàn)了用戶的要求,確立人們對(duì)軟件質(zhì)量的信心。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20228軟件工程導(dǎo)論7.1.2軟件測(cè)試的目的和原則概述:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒7.1.2軟件測(cè)試的目的和原則測(cè)試目的:測(cè)試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤;一個(gè)好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。也就是說,設(shè)計(jì)測(cè)試的目標(biāo)是想以最少的時(shí)間和人力系統(tǒng)地找出軟件中潛在的各種錯(cuò)誤和缺陷。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/20229軟件工程導(dǎo)論7.1.2軟件測(cè)試的目的和原則測(cè)試目的:測(cè)試基礎(chǔ)用例設(shè)計(jì)7.1.2軟件測(cè)試的目的和原則測(cè)試原則:應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測(cè)試”作為軟件開發(fā)者的座右銘;測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成;程序員應(yīng)避免檢查自己的程序;在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理輸入條件;測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202210軟件工程導(dǎo)論7.1.2軟件測(cè)試的目的和原則測(cè)試原則:測(cè)試基礎(chǔ)用例設(shè)計(jì)7.1.2軟件測(cè)試的目的和原則測(cè)試原則:充分注意測(cè)試中的群集現(xiàn)象;嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性;應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果作全面檢查;妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202211軟件工程導(dǎo)論7.1.2軟件測(cè)試的目的和原則測(cè)試原則:測(cè)試基礎(chǔ)用例設(shè)計(jì)7.1.3軟件測(cè)試的對(duì)象軟件測(cè)試并不等于程序測(cè)試。軟件測(cè)試應(yīng)貫穿于軟件定義與開發(fā)的整個(gè)期間。因此,需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序編碼等各階段所得到的文檔資料,包括需求規(guī)格說明、概要設(shè)計(jì)規(guī)格說明、詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序,都應(yīng)成為軟件測(cè)試的對(duì)象。軟件測(cè)試不應(yīng)僅限在程序測(cè)試的狹小范圍內(nèi),而置其它階段的工作于不顧。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202212軟件工程導(dǎo)論7.1.3軟件測(cè)試的對(duì)象軟件測(cè)試并不等于程序測(cè)試。軟件測(cè)7.1.3軟件測(cè)試的對(duì)象軟件測(cè)試包括確認(rèn)和驗(yàn)證工作:確認(rèn)(validation),是一系列的活動(dòng)和過程,其目的是想證實(shí)在一個(gè)給定的外部環(huán)境中軟件的邏輯正確性。靜態(tài)確認(rèn):通過人工分析或程序正確性證明來(lái)確認(rèn)程序的正確性;動(dòng)態(tài)確認(rèn):通過動(dòng)態(tài)分析和程序測(cè)試來(lái)檢查程序的執(zhí)行狀態(tài),以確認(rèn)程序是否正確。驗(yàn)證(verification):視圖證明在軟件生存期各個(gè)階段,以及階段間的邏輯協(xié)調(diào)性、完備性和正確性。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202213軟件工程導(dǎo)論7.1.3軟件測(cè)試的對(duì)象軟件測(cè)試包括確認(rèn)和驗(yàn)證工作:測(cè)試7.1.3軟件測(cè)試的對(duì)象軟件生存期各個(gè)階段之間需要保持的正確性測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)用戶要求用戶:我要什么?運(yùn)行結(jié)果計(jì)算機(jī):程序運(yùn)行得到的結(jié)果設(shè)計(jì)說明書設(shè)計(jì)原:我要讓程序做什么?源程序程序員:我要讓計(jì)算機(jī)怎么做?需求說明書分析員:我可以提供什么?12345相符嗎?理解正確性

表達(dá)正確性運(yùn)行正確性

輸入正確性理解正確性

編碼正確性理解正確性

設(shè)計(jì)正確性

表達(dá)正確性12/22/202214軟件工程導(dǎo)論7.1.3軟件測(cè)試的對(duì)象軟件生存期各個(gè)階段之間需要保持的7.1.4測(cè)試信息流測(cè)試過程需要三類輸入:軟件配置:包括軟件需求規(guī)格說明、軟件設(shè)計(jì)規(guī)格說明、源代碼等;測(cè)試配置:包括測(cè)試計(jì)劃、測(cè)試計(jì)劃、測(cè)試驅(qū)動(dòng)程序等;測(cè)試工具:包括測(cè)試數(shù)據(jù)自動(dòng)生成程序、靜態(tài)分析程序、動(dòng)態(tài)分析程序、測(cè)試結(jié)果分析程序以及驅(qū)動(dòng)測(cè)試的測(cè)試數(shù)據(jù)庫(kù)等。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202215軟件工程導(dǎo)論7.1.4測(cè)試信息流測(cè)試過程需要三類輸入:測(cè)試基礎(chǔ)用例設(shè)7.1.4測(cè)試信息流測(cè)試信息流測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)可靠性分析結(jié)果分析測(cè)試排錯(cuò)錯(cuò)誤改正的軟件預(yù)測(cè)的可靠性果

結(jié)

測(cè)預(yù)

結(jié)

果軟件配置測(cè)試配置測(cè)試工具出

錯(cuò)

數(shù)

據(jù)12/22/202216軟件工程導(dǎo)論7.1.4測(cè)試信息流測(cè)試信息流測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑7.1.5測(cè)試與軟件開發(fā)各階段的關(guān)系軟件開發(fā)過程是一個(gè)自頂向下、逐步細(xì)化的過程,而測(cè)試過程則是依相反的順序安排的、自底向上、逐步集成的過程。低一級(jí)測(cè)試為上一級(jí)測(cè)試準(zhǔn)備條件。當(dāng)然不排除兩者平行地進(jìn)行測(cè)試。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202217軟件工程導(dǎo)論7.1.5測(cè)試與軟件開發(fā)各階段的關(guān)系軟件開發(fā)過程是一個(gè)自7.1.5測(cè)試與軟件開發(fā)各階段的關(guān)系軟件測(cè)試與軟件開發(fā)過程的關(guān)系測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)需求分析確認(rèn)測(cè)試設(shè)計(jì)集成測(cè)試編程單元測(cè)試需求分析

說明書概要設(shè)計(jì)

說明書詳細(xì)設(shè)計(jì)

說明書源程序

代碼確認(rèn)

測(cè)試集成

測(cè)試單元

測(cè)試12/22/202218軟件工程導(dǎo)論7.1.5測(cè)試與軟件開發(fā)各階段的關(guān)系軟件測(cè)試與軟件開發(fā)過7.2測(cè)試用例設(shè)計(jì)任何工程產(chǎn)品都可以使用以下兩種方法之一進(jìn)行測(cè)試:黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求;白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過檢查。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202219軟件工程導(dǎo)論7.2測(cè)試用例設(shè)計(jì)任何工程產(chǎn)品都可以使黑盒測(cè)試黑盒測(cè)試主要根據(jù)軟件的外部特性進(jìn)行,主要為了發(fā)現(xiàn):是否有不正確或遺漏了的功能?在接口上輸入能否正確地接受?能否輸出正確的結(jié)果?是否有數(shù)據(jù)結(jié)構(gòu)或外部信息訪問錯(cuò)誤?性能上是否能夠滿足要求?是否有初始化或終止性錯(cuò)誤?測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)7.2測(cè)試用例設(shè)計(jì)12/22/202220軟件工程導(dǎo)論黑盒測(cè)試測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工白盒測(cè)試白盒測(cè)試是對(duì)軟件的過程性細(xì)節(jié)作細(xì)致的檢查,主要對(duì)程序模塊進(jìn)行檢查:對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一次;對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)試一次;在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體;測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)7.2測(cè)試用例設(shè)計(jì)12/22/202221軟件工程導(dǎo)論白盒測(cè)試測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工但對(duì)一個(gè)具有多種選擇和循環(huán)體嵌套的程序,不同的路徑數(shù)據(jù)可能是天文數(shù)字。而且即使精確地實(shí)現(xiàn)了白盒測(cè)試,也不能斷言測(cè)試過的程序完全正確。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)7.2測(cè)試用例設(shè)計(jì)12/22/202222軟件工程導(dǎo)論但對(duì)一個(gè)具有多種選擇和循環(huán)體嵌套的程序,不同的路徑數(shù)據(jù)可能是例如,100行源代碼,包括一個(gè)執(zhí)行達(dá)20次的循環(huán),共包含不同執(zhí)行路徑數(shù)高達(dá)520(=1013),如進(jìn)行窮舉測(cè)試,假設(shè)測(cè)試需要1毫秒/條,一天工作24小時(shí),一年工作365天,則測(cè)試完成需要3170年。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)7.2測(cè)試用例設(shè)計(jì)循環(huán)≤20次12/22/202223軟件工程導(dǎo)論例如,100行源代碼,包括一個(gè)執(zhí)行達(dá)20次的循環(huán),共包含不同7.3白盒測(cè)試的測(cè)試用例設(shè)計(jì)7.3.1邏輯覆蓋7.3.2語(yǔ)句覆蓋7.3.3判定覆蓋7.3.4條件覆蓋7.3.5判定-條件覆蓋7.3.6條件組合覆蓋7.3.7路徑覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202224軟件工程導(dǎo)論7.3白盒測(cè)試的測(cè)試用例設(shè)計(jì)7.3.1邏輯覆蓋測(cè)試基7.3.1邏輯覆蓋邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計(jì)測(cè)試用例的技術(shù)。它屬于白盒測(cè)試。這一方法要求測(cè)試人員對(duì)程序的邏輯結(jié)構(gòu)有清楚的了解,甚至要能掌握源程序的所有細(xì)節(jié)。由于覆蓋測(cè)試的目標(biāo)不同,又可分為:語(yǔ)句覆蓋判定覆蓋判定-條件覆蓋條件組合覆蓋路徑覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202225軟件工程導(dǎo)論7.3.1邏輯覆蓋邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的7.3.1邏輯覆蓋測(cè)試用例設(shè)計(jì)參考實(shí)例4條路徑:L1:aceL2:abdL3:abeL4:acd測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)(A>1)∧(B=0)(A=2)∨(X>1)X=X/AX=X+1FFTTabcde12/22/202226軟件工程導(dǎo)論7.3.1邏輯覆蓋測(cè)試用例設(shè)計(jì)參考實(shí)例測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.3.1邏輯覆蓋各路徑邏輯式:L1(ace)L2(abd)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202227軟件工程導(dǎo)論7.3.1邏輯覆蓋各路徑邏輯式:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試7.3.1邏輯覆蓋各路徑邏輯式:L3(abe)L4(acd)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202228軟件工程導(dǎo)論7.3.1邏輯覆蓋各路徑邏輯式:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試7.3.2語(yǔ)句覆蓋概述:所謂語(yǔ)句覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次。實(shí)例中正好所有的可執(zhí)行語(yǔ)句都在路徑L1上,所以選擇路徑L1設(shè)計(jì)測(cè)試用例,就可以覆蓋所有可執(zhí)行語(yǔ)句。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202229軟件工程導(dǎo)論7.3.2語(yǔ)句覆蓋概述:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試7.3.2語(yǔ)句覆蓋測(cè)試用例設(shè)計(jì)格式:【輸入的(A,B,X),輸出的(A,B,X)】實(shí)例的測(cè)試用例:【(2,0,4),(2,0,3)】覆蓋ace【L1】測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202230軟件工程導(dǎo)論7.3.2語(yǔ)句覆蓋測(cè)試用例設(shè)計(jì)格式:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒7.3.3判定覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)概述:所謂判定覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次。故又稱分支覆蓋。實(shí)例中選擇路徑L1和L2,或者L3和L4設(shè)計(jì)測(cè)試用例,均可以覆蓋所有判定分支。12/22/202231軟件工程導(dǎo)論7.3.3判定覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小7.3.3判定覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)實(shí)例的測(cè)試用例:選擇L1和L2得到測(cè)試用例:【(2,0,4),(2,0,3)】覆蓋ace【L1】【(1,1,1),(1,1,1)】覆蓋abd【L2】選擇L3和L4得到測(cè)試用例:【(2,1,1),(2,1,2)】覆蓋abe【L3】【(3,0,3),(3,1,1)】覆蓋acd【L4】12/22/202232軟件工程導(dǎo)論7.3.3判定覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小7.3.4條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)概述:所謂條件覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。實(shí)例中記:判斷條件取真取假第一個(gè)判斷A>1T1B=0T2第二個(gè)判斷A=2T3X>1T412/22/202233軟件工程導(dǎo)論7.3.4條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小實(shí)例的測(cè)試用例:選擇L1、L2、L3得到測(cè)試用例:選擇L3得到測(cè)試用例:7.3.4條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)測(cè)試用例通過路徑條件取值覆蓋分支【(2,0,4),(2,0,3)】ace(L1)c,e【(1,0,1),(1,0,1)】abd(L2)b,d【(2,1,1),(2,1,2)】abe(L3)b,e測(cè)試用例通過路徑條件取值覆蓋分支【(1,0,3),(1,0,4)】abd(L3)b,e【(2,1,1),(2,1,2)】abe(L3)b,e12/22/202234軟件工程導(dǎo)論實(shí)例的測(cè)試用例:7.3.4條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)7.3.5判定-條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)概述:所謂判定-條件覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷本身的所有可能判斷結(jié)果至少執(zhí)行一次。12/22/202235軟件工程導(dǎo)論7.3.5判定-條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試實(shí)例的測(cè)試用例:實(shí)例中只須設(shè)計(jì)兩個(gè)測(cè)試用例即可覆蓋8個(gè)條件取值及4個(gè)判斷分支:從表面上看,判定-條件覆蓋測(cè)試了所有條件的取值,但實(shí)際上有些條件并沒有檢查到。如第一個(gè)判斷中的(B=0)和第二個(gè)判斷中的(X>1)。7.3.5判定-條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)測(cè)試用例通過路徑條件取值覆蓋分支【(2,0,4),(2,0,3)】ace(L1)c,e【(1,1,1),(1,1,1)】abd(L2)b,d12/22/202236軟件工程導(dǎo)論實(shí)例的測(cè)試用例:7.3.5判定-條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)7.3.5判定-條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)為徹底檢查所有條件的取值,可以將實(shí)例圖中的多重判定分解,形成由多個(gè)基本判斷組成的流程圖,這樣可以有效地檢查所有的條件是否正確。(A>1)X=X/AX=X+1(B=0)(A=2)(X>1)12/22/202237軟件工程導(dǎo)論7.3.5判定-條件覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試7.3.6條件組合覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)概述:所謂條件組合覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的所有可能的取值組合至少執(zhí)行一次。實(shí)例中有兩個(gè)判斷,每個(gè)判斷各有兩個(gè)條件,所以各有4個(gè)條件取值的組合,可用4個(gè)測(cè)試用例覆蓋8個(gè)條件取值的組合。12/22/202238軟件工程導(dǎo)論7.3.6條件組合覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本7.3.6條件組合覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)實(shí)例中各判斷條件取值組合標(biāo)記:標(biāo)記條件覆蓋條件判斷分支①第一個(gè)取真②取假③取假④取假⑤第二個(gè)取真⑥取真⑦取真⑧取假12/22/202239軟件工程導(dǎo)論7.3.6條件組合覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本7.3.6條件組合覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)實(shí)例測(cè)試用例:測(cè)試用例通過路徑覆蓋條件覆蓋組合號(hào)【(2,0,4),(2,0,3)】ace(L1)①,⑤【(2,1,1),(2,1,2)】abe(L3)②,⑥【(1,0,3),(1,0,4)】abe(L3)③,⑦【(1,1,1),(1,1,1)】abd(L2)④,⑧12/22/202240軟件工程導(dǎo)論7.3.6條件組合覆蓋測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本7.3.7路徑測(cè)試測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)概述:所謂路徑覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中所有可能的路徑至少執(zhí)行一次。實(shí)例中設(shè)計(jì)4個(gè)測(cè)試用例即可覆蓋該程序段的所有路徑L1、L2、L3和L4。12/22/202241軟件工程導(dǎo)論7.3.7路徑測(cè)試測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小7.3.7路徑測(cè)試測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)實(shí)例測(cè)試用例:測(cè)試用例通過路徑覆蓋條件【(2,0,4),(2,0,3)】ace(L1)【(1,1,1),(1,1,1)】abe(L2)【(1,1,2),(1,1,3)】abe(L3)【(3,0,3),(3,0,1)】abd(L4)12/22/202242軟件工程導(dǎo)論7.3.7路徑測(cè)試測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小7.4黑盒測(cè)試的測(cè)試用例設(shè)計(jì)7.4.1等價(jià)類劃分7.4.2邊界值分析7.4.3錯(cuò)誤推測(cè)法7.4.4因果圖測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202243軟件工程導(dǎo)論7.4黑盒測(cè)試的測(cè)試用例設(shè)計(jì)7.4.1等價(jià)類劃分測(cè)試7.4.1等價(jià)類劃分概述等價(jià)類劃分是一種典型的黑盒測(cè)試方法,也是一種非常實(shí)用的重要測(cè)試方法。使用這一方法設(shè)計(jì)測(cè)試用例要經(jīng)歷劃分等價(jià)類(列出等價(jià)類表)和選取測(cè)試用例兩步。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202244軟件工程導(dǎo)論7.4.1等價(jià)類劃分概述測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類首先將數(shù)目極多的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分為若干等價(jià)類。所謂等價(jià)類是指某個(gè)輸入域的子集合。在該子集中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的。并合理地假定:測(cè)試某等價(jià)的代表值等價(jià)于對(duì)這一類其它值的測(cè)試。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202245軟件工程導(dǎo)論7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類等價(jià)類劃分有兩種情況:有效等價(jià)類:是指對(duì)于程序的規(guī)格來(lái)說,是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。無(wú)效等價(jià)類:是指對(duì)于程序的規(guī)格說明來(lái)說,是不合理的、無(wú)意義的輸入數(shù)據(jù)構(gòu)成的集合。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202246軟件工程導(dǎo)論7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類劃分等價(jià)類的原則:如果輸入條件規(guī)定了取值范圍或值的個(gè)數(shù),則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)定了“必須如何”的條件,則可確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。如果輸入條件是一個(gè)布爾值,則可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202247軟件工程導(dǎo)論7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類劃分等價(jià)類的原則:如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對(duì)每個(gè)輸入值分別進(jìn)行處理。則可為每一個(gè)輸入值確立一個(gè)有效等價(jià)類,針對(duì)這組值確立一個(gè)無(wú)效等價(jià)類。如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)。如果我們確知已劃分的等價(jià)類中各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類進(jìn)一步劃分成更小的等價(jià)類。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202248軟件工程導(dǎo)論7.4.1等價(jià)類劃分步驟1)劃分等價(jià)類測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.4.1等價(jià)類劃分步驟2)確立測(cè)試用例在確立了等價(jià)類之后,建立等價(jià)類表,列出所有劃分出的等價(jià)類:再?gòu)膭澐殖龅牡葍r(jià)類中選擇測(cè)試用例。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)輸入條件有效等價(jià)類無(wú)效等價(jià)類………………………………12/22/202249軟件工程導(dǎo)論7.4.1等價(jià)類劃分步驟2)確立測(cè)試用例測(cè)試基礎(chǔ)用例設(shè)計(jì)7.4.1等價(jià)類劃分步驟2)確立測(cè)試用例測(cè)試用例選擇原則:為每一個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào);設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到所有的有效等價(jià)類都被覆蓋為止;設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步,直到所有的無(wú)效等價(jià)類都被覆蓋為止。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202250軟件工程導(dǎo)論7.4.1等價(jià)類劃分步驟2)確立測(cè)試用例測(cè)試基礎(chǔ)用例設(shè)計(jì)7.4.1等價(jià)類劃分設(shè)計(jì)實(shí)例在某一PASCAL語(yǔ)言版本中規(guī)定:“標(biāo)識(shí)符是由字母開頭、后跟字母或數(shù)字的任意組合構(gòu)成。有效字符數(shù)為8個(gè),最大字符數(shù)為80個(gè)?!辈⒁?guī)定:“標(biāo)識(shí)符必須先說明,再使用?!薄霸谕徽f明語(yǔ)句中,標(biāo)識(shí)符至少必須有一個(gè)?!睖y(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202251軟件工程導(dǎo)論7.4.1等價(jià)類劃分設(shè)計(jì)實(shí)例測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒7.4.1等價(jià)類劃分實(shí)例等價(jià)類表測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)輸入條件有效等價(jià)類無(wú)效等價(jià)類標(biāo)識(shí)符個(gè)數(shù)1個(gè)(1),多個(gè)(2)0個(gè)(3)標(biāo)識(shí)符字符數(shù)1~8個(gè)(4)0個(gè)(5),>8個(gè)(6),>80個(gè)(7)標(biāo)識(shí)符組成字母(8),數(shù)字(9)非字母數(shù)字字符(10),保留字(11)第一個(gè)字符字母(12)非字母(13)標(biāo)識(shí)符使用先說明后使用(14)未說明已使用(15)12/22/202252軟件工程導(dǎo)論7.4.1等價(jià)類劃分實(shí)例等價(jià)類表測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試7.4.1等價(jià)類劃分實(shí)例測(cè)試用例①VARx,T1234567:REAL;}(1),(2),(4),(8),(9),(12),(14) BEGINx:=3.414;T1234567:=2.732;……②VAR:REAL;}(3)③VARx,:REAL;}(5)④VART12345678:REAL;}(6)⑤VART12345……:REAL;}(7) 多于80個(gè)字符測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202253軟件工程導(dǎo)論7.4.1等價(jià)類劃分實(shí)例測(cè)試用例測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試7.4.1等價(jià)類劃分實(shí)例測(cè)試用例⑥VART$:CHAR;}(10)⑦VARGOTO:INTEGER}(11)⑧VAR2T:REAL;}(13)⑨VARPAR:REAL;}(15) BEGIN…… PAP:=SIN(3.14*0.8)/6;測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202254軟件工程導(dǎo)論7.4.1等價(jià)類劃分實(shí)例測(cè)試用例測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試7.4.2邊界值分析概述邊界值分析也是一種黑盒測(cè)試方法,是對(duì)等價(jià)類劃分方法的補(bǔ)充。使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況。通常輸入等價(jià)類與輸出等價(jià)類的邊界,就是應(yīng)著重測(cè)試的邊界情況。應(yīng)當(dāng)選取正好等于、剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選擇等價(jià)類中的典型值或任意值作為測(cè)試數(shù)據(jù)。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202255軟件工程導(dǎo)論7.4.2邊界值分析概述測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試7.4.2邊界值分析選擇測(cè)試用例的原則(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。(2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1、比最小個(gè)數(shù)少1的數(shù)作為測(cè)試數(shù)據(jù)。(3)根據(jù)規(guī)格說明的每個(gè)輸出條件,使用前面的原則(1)。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202256軟件工程導(dǎo)論7.4.2邊界值分析選擇測(cè)試用例的原則測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.4.2邊界值分析選擇測(cè)試用例的原則(4)根據(jù)規(guī)格說明的每個(gè)輸出條件,使用前面的原則(2)。(5)如果程序的規(guī)格說明給出的輸入域或輸出域?qū)嵱行蚣希ㄈ缬行虮?、順序文件等),則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。(6)如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。(7)分析規(guī)格說明找出其它可能的邊界條件。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202257軟件工程導(dǎo)論7.4.2邊界值分析選擇測(cè)試用例的原則測(cè)試基礎(chǔ)用例設(shè)計(jì)白7.4.2邊界值分析設(shè)計(jì)實(shí)例(閱卷給出成績(jī)報(bào)告)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)(試題部分)標(biāo)題180試題數(shù)標(biāo)準(zhǔn)答案第1~50題213491059607980標(biāo)準(zhǔn)答案第51~100題2191059607980標(biāo)準(zhǔn)答案第101~150題2191059607980...12/22/202258軟件工程導(dǎo)論7.4.2邊界值分析設(shè)計(jì)實(shí)例(閱卷給出成績(jī)報(bào)告)測(cè)試基礎(chǔ)7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)(學(xué)生答卷部分)某甲學(xué)號(hào)標(biāo)準(zhǔn)答案第1~50題3191059607980標(biāo)準(zhǔn)答案第51~100題3191059607980...某乙學(xué)號(hào)標(biāo)準(zhǔn)答案第1~50題3191059607980標(biāo)準(zhǔn)答案第51~100題3191059607980...12/22/202259軟件工程導(dǎo)論7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章7.4.2邊界值分析記錄分組①標(biāo)題②各題的標(biāo)準(zhǔn)答案③學(xué)生的答卷輸出報(bào)告①按學(xué)號(hào)排列的成績(jī)單,列出每個(gè)學(xué)生的成績(jī)、名次;②按學(xué)生成績(jī)排列的成績(jī)單;③平均分?jǐn)?shù)及標(biāo)準(zhǔn)偏差的報(bào)告;④試題分析報(bào)告。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202260軟件工程導(dǎo)論7.4.2邊界值分析記錄分組測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)輸入條件測(cè)試用例輸入文件[空輸入文件]標(biāo)題[沒有標(biāo)題記錄][標(biāo)題只有一個(gè)字符][標(biāo)題有80個(gè)字符]試題數(shù)[試題數(shù)為1][試題數(shù)為50][試題數(shù)為51][試題數(shù)為100][試題數(shù)為999][試題數(shù)為0][試題數(shù)含有非數(shù)字字符]標(biāo)準(zhǔn)答案記錄[沒有標(biāo)準(zhǔn)答案記錄,有標(biāo)題][標(biāo)準(zhǔn)答案記錄多一個(gè)][標(biāo)準(zhǔn)答案記錄少一個(gè)]12/22/202261軟件工程導(dǎo)論7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)輸入條件測(cè)試用例學(xué)生人數(shù)[0個(gè)學(xué)生][1個(gè)學(xué)生][200個(gè)學(xué)生][201個(gè)學(xué)生]學(xué)生答題[某學(xué)生只有一個(gè)回答記錄,但有兩個(gè)標(biāo)準(zhǔn)答案記錄][該學(xué)生是文件中的第一個(gè)學(xué)生][該學(xué)生是文件中的最后一個(gè)學(xué)生(記錄數(shù)出錯(cuò)的學(xué)生)]學(xué)生答題[某學(xué)生有兩個(gè)回答記錄,但只有一個(gè)標(biāo)準(zhǔn)答案記錄][該學(xué)生是文件中的第一個(gè)學(xué)生(記錄數(shù)出錯(cuò)的學(xué)生)][該學(xué)生是文件中的最后一個(gè)學(xué)生]12/22/202262軟件工程導(dǎo)論7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)輸出條件測(cè)試用例學(xué)生成績(jī)[所有學(xué)生成績(jī)都相等][每個(gè)學(xué)生的成績(jī)都互不相同][部分(不是全體)學(xué)生的成績(jī)相同(檢查是否按成績(jī)排名次)][有個(gè)學(xué)生得0分][有個(gè)學(xué)生得100分]輸出報(bào)告①②[有個(gè)學(xué)生的學(xué)號(hào)最小(檢查按學(xué)號(hào)排列是否正確)][有個(gè)學(xué)生的學(xué)號(hào)最大(檢查按學(xué)號(hào)排列是否正確)][適當(dāng)?shù)膶W(xué)生人數(shù),使產(chǎn)生的報(bào)告剛好印滿一頁(yè)(檢查打印頁(yè)數(shù))][學(xué)生人數(shù)比剛才多1人(檢查打印換頁(yè))]12/22/202263軟件工程導(dǎo)論7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)輸出條件測(cè)試用例輸出報(bào)告③[平均成績(jī)?yōu)?00分(所有學(xué)生都得滿分)][平均成績(jī)?yōu)?分(所有學(xué)生都得0分)][標(biāo)準(zhǔn)偏差為最大值(有一半學(xué)生得0分,其他100份)][標(biāo)準(zhǔn)偏差為0(所有學(xué)生成績(jī)都相等)]輸出報(bào)告④[所有學(xué)生都答對(duì)了第一題][所有學(xué)生都答錯(cuò)了第一題][所有學(xué)生都答對(duì)了最后一題][所有學(xué)生都答錯(cuò)了最后一題][選擇適當(dāng)?shù)脑囶}數(shù),使第四個(gè)報(bào)告剛好打滿一頁(yè)][試題數(shù)比剛才多1題,使報(bào)告打滿一頁(yè)后,剛好剩下一題未打]12/22/202264軟件工程導(dǎo)論7.4.2邊界值分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章7.4.3錯(cuò)誤推測(cè)法概述錯(cuò)誤推測(cè)法的基本想法是:列舉出程序中所有可能由的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)它們選擇測(cè)試用例。對(duì)于模塊中常見的錯(cuò)誤和程序中容易出錯(cuò)的情況,已有一些經(jīng)驗(yàn)總結(jié)出來(lái)。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202265軟件工程導(dǎo)論7.4.3錯(cuò)誤推測(cè)法概述測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試7.4.3錯(cuò)誤推測(cè)法實(shí)例(閱卷給出成績(jī)報(bào)告)錯(cuò)誤推測(cè)法可以補(bǔ)充一些測(cè)試用例:程序是否把空格作為回答;在回答記錄中混有標(biāo)準(zhǔn)答案記錄;除了標(biāo)題記錄外,還有一些記錄的最后一個(gè)字符既不是“2”也不是“3”;有兩個(gè)學(xué)生的學(xué)號(hào)相同;試題數(shù)是負(fù)值。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202266軟件工程導(dǎo)論7.4.3錯(cuò)誤推測(cè)法實(shí)例(閱卷給出成績(jī)報(bào)告)測(cè)試基礎(chǔ)用例7.4.4因果圖因果圖的適用范圍因果圖適用于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例的情況。因果圖方法最終生成的是判定表。它適合于檢查程序輸入條件的各種組合情況。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202267軟件工程導(dǎo)論7.4.4因果圖因果圖的適用范圍測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試7.4.4因果圖用因果圖生成測(cè)試用例的基本步驟(1)分析軟件規(guī)格說明描述中,哪些是原因,哪些是結(jié)果,并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)。(2)分析軟件規(guī)格說明描述中的語(yǔ)義,找出原因和結(jié)果之間、原因與原因之間對(duì)應(yīng)的是什么關(guān)系?根據(jù)這些關(guān)系,畫出因果圖。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202268軟件工程導(dǎo)論7.4.4因果圖用因果圖生成測(cè)試用例的基本步驟測(cè)試基礎(chǔ)用7.4.4因果圖用因果圖生成測(cè)試用例的基本步驟(3)由于語(yǔ)法或環(huán)境限制,有些原因與原因之間、原因與結(jié)果之間的組合情況不可能出現(xiàn)。為了表明這些特殊情況,在因果圖上用一記號(hào)標(biāo)明約束或限制條件。(4)把因果圖轉(zhuǎn)換成判定表。(5)把判定表的每一列拿出來(lái)作為依據(jù),設(shè)計(jì)測(cè)試用例。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202269軟件工程導(dǎo)論7.4.4因果圖用因果圖生成測(cè)試用例的基本步驟測(cè)試基礎(chǔ)用7.4.4因果圖在因果圖中出現(xiàn)的基本符號(hào)(a)恒等:C1E1(b)非:C1E1(c)或:C1C2(d)與:C1C2測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)∨E1∧E112/22/202270軟件工程導(dǎo)論7.4.4因果圖在因果圖中出現(xiàn)的基本符號(hào)測(cè)試基礎(chǔ)用例設(shè)計(jì)7.4.4因果圖表示約束條件的符號(hào)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)EIORMababababacb唯一a和b中必須有一個(gè),且僅有一個(gè)成立互斥·排他a、b兩個(gè)原因不會(huì)同時(shí)出現(xiàn)包含·或a、b、c三個(gè)原因中至少有一個(gè)必須成立屏蔽當(dāng)a是1是b必須是0,而當(dāng)a為0是b的值不定要求當(dāng)a出現(xiàn)時(shí)b也必須出現(xiàn)12/22/202271軟件工程導(dǎo)論7.4.4因果圖表示約束條件的符號(hào)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)7.4.4因果圖設(shè)計(jì)實(shí)例——自動(dòng)售貨機(jī)軟件若投入5角錢或1元錢的硬幣,押下〖澄汁〗或〖啤酒〗的按鈕,則送出相應(yīng)的飲料。若售貨機(jī)沒有零錢找,則顯示〖零錢找完〗的紅燈亮,這時(shí)在投入1元硬幣并押下按鈕后,飲料不送出且退出1元硬幣;若有零錢找,則顯示〖零錢找完〗的紅燈滅,在送出飲料的同時(shí)退出5角硬幣。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202272軟件工程導(dǎo)論7.4.4因果圖設(shè)計(jì)實(shí)例——自動(dòng)售貨機(jī)軟件測(cè)試基礎(chǔ)用例設(shè)7.4.4因果圖設(shè)計(jì)實(shí)例——原因和結(jié)果分析測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)原因1.售貨機(jī)有零錢找結(jié)果21.售貨機(jī)零錢找完燈亮2.投入1元硬幣22.退還1元硬幣3.投入5角硬幣23.找回5角硬幣4.押下澄汁按鈕24.送出澄汁飲料5.押下啤酒按鈕25.送出啤酒飲料12/22/202273軟件工程導(dǎo)論7.4.4因果圖設(shè)計(jì)實(shí)例——原因和結(jié)果分析測(cè)試基礎(chǔ)用例設(shè)7.4.4因果圖設(shè)計(jì)實(shí)例——因果圖測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)售貨機(jī)有零錢找投入1元硬幣

投入5角硬幣押下澄汁按鈕

押下啤酒按鈕售貨機(jī)“零錢找完”燈亮退還1元硬幣

找回5角硬幣送出澄汁飲料

送出啤酒飲料12345212223242511121314EE∨∨∧∧∧∧∧中間結(jié)點(diǎn):11.投入1元硬幣且押下飲料按鈕12.押下〖澄汁〗或〖啤酒〗按鈕13.應(yīng)當(dāng)找5角零錢并且售貨機(jī)有零錢找14.錢已付清12/22/202274軟件工程導(dǎo)論7.4.4因果圖設(shè)計(jì)實(shí)例——因果圖測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)設(shè)計(jì)實(shí)例——判定表序號(hào)12345678910123456789201234567893012條件1111111111111111000000000000000011111111000000001111111100000000111100001111000011110000111100001100110011001100110011001100110010101010101010101010101010101010中間結(jié)果110000000110000000110110110110110110110000000000000000110111000000111000結(jié)果000000000111111111000000000110000000110000000000000000100100000000100000010010000000010000測(cè)試用例YYYYYYYYYYYYYYYY1234511121314212223242512/22/202275軟件工程導(dǎo)論設(shè)計(jì)實(shí)例——判定表序號(hào)12345678910123456787.5軟件測(cè)試的策略測(cè)試過程按4個(gè)步驟進(jìn)行:?jiǎn)卧獪y(cè)試組裝測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202276軟件工程導(dǎo)論7.5軟件測(cè)試的策略測(cè)試過程按4個(gè)步驟進(jìn)行:測(cè)試基礎(chǔ)用例7.5軟件測(cè)試的策略軟件測(cè)試的過程測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)單元測(cè)試單元測(cè)試單元測(cè)試集成測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試被測(cè)模塊被測(cè)模塊被測(cè)模塊設(shè)

計(jì)

息軟

求系

統(tǒng)

素已經(jīng)過

測(cè)試的

模塊已集成的軟件已確認(rèn)的軟件可交付的軟件12/22/202277軟件工程導(dǎo)論7.5軟件測(cè)試的策略軟件測(cè)試的過程測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)7.5軟件測(cè)試的策略7.5.1單元測(cè)試(unittesting)7.5.2組裝測(cè)試(integratedtesting)7.5.3確認(rèn)測(cè)試(validationtesting)7.5.4系統(tǒng)測(cè)試(systemtesting)7.5.5測(cè)試的步驟及相應(yīng)的測(cè)試種類測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202278軟件工程導(dǎo)論7.5軟件測(cè)試的策略7.5.1單元測(cè)試(unitt7.5.1單元測(cè)試(unittesting)概述單元測(cè)試又稱模塊測(cè)試,是針對(duì)軟件設(shè)計(jì)的最小單位——程序模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò)。單元測(cè)試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例。多個(gè)模塊可以并行地獨(dú)立進(jìn)行單元測(cè)試。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202279軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)概述測(cè)試基7.5.1單元測(cè)試(unittesting)單元測(cè)試的工作測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)模塊模塊接口出錯(cuò)處理局部數(shù)據(jù)結(jié)構(gòu)邊界條件獨(dú)立路徑12/22/202280軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)單元測(cè)試的內(nèi)容單元測(cè)試主要采用白盒測(cè)試的測(cè)試用例,輔之以黑盒測(cè)試的測(cè)試用例,是指對(duì)任何合理的輸入和不合理的輸入,都能鑒別和相應(yīng)。這要求對(duì)所有的局部的和全局的數(shù)據(jù)結(jié)構(gòu)、外部接口和程序代碼的關(guān)鍵部分,都要進(jìn)行桌前檢查和嚴(yán)格的代碼審查。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202281軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)單元測(cè)試的內(nèi)容(1)模塊接口測(cè)試:調(diào)用本模塊時(shí)的輸入?yún)?shù)與模塊的形式參數(shù)的匹配情況;本模塊調(diào)用子模塊時(shí),它輸入給子模塊的參數(shù)與子模塊中的形式參數(shù)的匹配情況;是否修改了只作為輸入用的形式參數(shù);全局量的定義在各模塊中是否一致;限制是否通過形式參數(shù)來(lái)傳送。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202282軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)當(dāng)使用外設(shè)輸入/輸出時(shí)應(yīng)附加測(cè)試:文件屬性是否正確;OPEN語(yǔ)句與CLOSE語(yǔ)句是否正確;規(guī)定的I/O格式說明與I/O語(yǔ)句是否匹配;緩沖區(qū)容量與記錄長(zhǎng)度是否匹配;在進(jìn)行讀寫操作前是否打開了文件;在結(jié)束文件處理時(shí)是否關(guān)閉了文件;正文書寫/輸入錯(cuò)誤以及I/O錯(cuò)誤是否檢查并作了處理。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202283軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)當(dāng)使用外設(shè)7.5.1單元測(cè)試(unittesting)單元測(cè)試的內(nèi)容(2)局部數(shù)據(jù)結(jié)構(gòu)測(cè)試:不正確或不一致的數(shù)據(jù)類型說明;使用尚未賦值或尚未初始化的變量;錯(cuò)誤的初始值或錯(cuò)誤的缺省值;變量名拼寫錯(cuò)或書寫錯(cuò);不一致的數(shù)據(jù)類型。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202284軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)單元測(cè)試的內(nèi)容(3)路徑測(cè)試:選擇適當(dāng)?shù)臏y(cè)試用例,對(duì)模塊中重要的執(zhí)行路徑進(jìn)行測(cè)試。應(yīng)當(dāng)設(shè)計(jì)測(cè)試用例查找由于錯(cuò)誤的計(jì)算、不正確的比較或不正常的控制流而導(dǎo)致的錯(cuò)誤。對(duì)基本執(zhí)行路徑和循環(huán)進(jìn)行測(cè)試可以發(fā)現(xiàn)大量的路徑錯(cuò)誤。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202285軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)常見的不正確計(jì)算:運(yùn)算的優(yōu)先次序不正確或誤解了運(yùn)算的優(yōu)先次序;運(yùn)算的方式錯(cuò),即運(yùn)算的對(duì)象彼此在類型上不相容;算法錯(cuò);初始化不正確;運(yùn)算精度不夠;表達(dá)式的符號(hào)表示不正確。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202286軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)常見的不正7.5.1單元測(cè)試(unittesting)常見的比較和控制流錯(cuò)誤:不同數(shù)據(jù)類型量的相互比較;不正確的邏輯運(yùn)算符或優(yōu)先級(jí);因浮點(diǎn)數(shù)運(yùn)算精度問題而造成的量值比較不等;關(guān)系表達(dá)式中不正確的變量和比較符;差“1”錯(cuò),即不正確地多循環(huán)一次或少循環(huán)一次;不適當(dāng)?shù)匦薷牧搜h(huán)變量。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202287軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)常見的比較7.5.1單元測(cè)試(unittesting)單元測(cè)試的內(nèi)容(4)錯(cuò)誤處理測(cè)試:比較完善的模塊設(shè)計(jì)要求能預(yù)見出錯(cuò)的條件,并設(shè)置適當(dāng)?shù)某鲥e(cuò)處理,以便在一旦程序出錯(cuò)時(shí),能對(duì)出錯(cuò)程序重作安排,保證其邏輯上的正確性。若出現(xiàn)下列情況之一,則表明模塊的錯(cuò)誤處理功能包含有錯(cuò)誤或缺陷:測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202288軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)若出現(xiàn)下列情況之一,則表明模塊的錯(cuò)誤處理功能包含有錯(cuò)誤或缺陷:出錯(cuò)的描述難以理解;出錯(cuò)的描述不足以對(duì)錯(cuò)誤定位,不足以確定出錯(cuò)的原因;顯示的錯(cuò)誤與實(shí)際的錯(cuò)誤不符;對(duì)錯(cuò)誤條件的處理不正確;在對(duì)錯(cuò)誤處理之前,錯(cuò)誤條件已經(jīng)引起系統(tǒng)的干預(yù)。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202289軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)若出現(xiàn)下列7.5.1單元測(cè)試(unittesting)單元測(cè)試的內(nèi)容(5)邊界測(cè)試:在邊界上出現(xiàn)錯(cuò)誤時(shí)常見的。要特別注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時(shí)出錯(cuò)的可能性。對(duì)這些地方要仔細(xì)地選擇測(cè)試用例,認(rèn)真加以測(cè)試。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202290軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)單元測(cè)試的步驟通常單元測(cè)試是在編碼階段進(jìn)行的。在源程序代碼編制完成,經(jīng)過評(píng)審和驗(yàn)證,確認(rèn)沒有語(yǔ)法錯(cuò)誤之后,就開始進(jìn)行單元測(cè)試的測(cè)試用例設(shè)計(jì)。利用設(shè)計(jì)文檔,設(shè)計(jì)可以驗(yàn)證程序功能、找出程序錯(cuò)誤的多個(gè)測(cè)試用例。對(duì)于每一組輸入,應(yīng)有預(yù)期的正確結(jié)果。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202291軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.1單元測(cè)試(unittesting)模塊并不是一個(gè)獨(dú)立的程序,在考慮測(cè)試模塊時(shí),同時(shí)要考慮它和外界的聯(lián)系,用一些輔助模塊去模擬與被測(cè)模塊相聯(lián)系的其它模塊。這些輔助模塊分為兩種:驅(qū)動(dòng)模塊:相當(dāng)于被測(cè)模塊的主模塊。樁模塊:用以代替被測(cè)模塊調(diào)用的子模塊。測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)12/22/202292軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)模塊并不是7.5.1單元測(cè)試(unittesting)單元測(cè)試的測(cè)試環(huán)境測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)驅(qū)動(dòng)模塊被測(cè)模塊樁模塊樁模塊樁模塊測(cè)試用例測(cè)試結(jié)果12/22/202293軟件工程導(dǎo)論7.5.1單元測(cè)試(unittesting)單元測(cè)試的7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)概述組裝測(cè)試也叫做集成測(cè)試或聯(lián)合測(cè)試。通常,在單元測(cè)試的基礎(chǔ)上,需要將所有的模塊按照設(shè)計(jì)要求組裝成為系統(tǒng)。在單元測(cè)試的同時(shí)可進(jìn)行組裝測(cè)試,發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn)的問題,最終構(gòu)成要求的軟件系統(tǒng)。12/22/202294軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)在系統(tǒng)組裝時(shí)要考慮的問題是:在把各個(gè)模塊連接起來(lái)時(shí)穿越模塊接口的數(shù)據(jù)是否會(huì)丟失;一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的工程產(chǎn)生不利的影響;各個(gè)子功能組合起來(lái),能否達(dá)到預(yù)期要求的父功能;全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;單個(gè)模塊的誤差積累起來(lái),是否會(huì)放大,從而達(dá)到不能接受的程度。12/22/202295軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)概述選擇什么方式把模塊組裝起來(lái)形成一個(gè)可運(yùn)行的系統(tǒng),直接影響到模塊測(cè)試用例的形式、所用測(cè)試工具的類型、模塊編號(hào)的次序和測(cè)試的次序、以及生成測(cè)試用例的費(fèi)用和調(diào)試的費(fèi)用。把模塊組裝成系統(tǒng)的方式有兩種:一次性組裝方式和增殖式組裝方式。12/22/202296軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)1)一次性組裝方式它是一種非增殖式組裝方式。也叫做整體拼裝。使用這種方式,首先對(duì)每個(gè)模塊分別進(jìn)行測(cè)試,然后再把所有模塊組裝在一起進(jìn)行測(cè)試,最終得到要求的軟件系統(tǒng)。12/22/202297軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)單元測(cè)試和組裝順序ABCDEFABDCEFd1d2d3d4d5s1s2s3s4s5ABCDEF12/22/202298軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)2)增殖式組裝方式這種組裝方法又稱漸增式組裝,首先對(duì)一個(gè)個(gè)模塊進(jìn)行模塊測(cè)試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝過程中邊連接邊測(cè)試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題。最后通過增殖逐步組裝成為要求的軟件系統(tǒng)。12/22/202299軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)自頂向下的增殖方式這種組裝方式將模塊按系統(tǒng)程序結(jié)構(gòu),沿控制層次自頂向下進(jìn)行組裝。其步驟如下:①對(duì)主模塊進(jìn)行測(cè)試;②采用深度優(yōu)先或?qū)挾葍?yōu)先策略逐個(gè)加入其它模塊;③進(jìn)行回歸測(cè)試;④判斷是否所有的模塊都已組裝到系統(tǒng)中,是則結(jié)束測(cè)試,否則轉(zhuǎn)到②。12/22/2022100軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)自頂向下的增殖方式(深度優(yōu)先)

As4s1s2s3ABCDEFABs2s3EABs2s3EABCs3EABCD加入B測(cè)試A加入E加入C加入D加入Fs512/22/2022101軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)樁模塊的幾種選擇

樁模塊stubA表示傳遞的數(shù)據(jù)信息樁模塊stubB樁模塊stubC樁模塊stubD顯示跟蹤信息顯示傳遞的信息從一個(gè)表(或外部文件)返回一個(gè)值進(jìn)行一項(xiàng)表查詢以根據(jù)輸入?yún)?shù)返回輸出參數(shù)12/22/2022102軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)自底向上的增殖方式這種組裝方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始組裝和測(cè)試。其步驟如下:①由驅(qū)動(dòng)模塊控制最底層模塊的并行測(cè)試;②用實(shí)際模塊代替驅(qū)動(dòng)模塊,與其它已測(cè)試的直屬模塊組裝成子系統(tǒng);③為子系統(tǒng)配備驅(qū)動(dòng)模塊進(jìn)行新的測(cè)試;④判斷是否已組裝到達(dá)主模塊,是則結(jié)束測(cè)試,否則轉(zhuǎn)到②。12/22/2022103軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)自底向上的增殖方式

Bd4EDd5FCd2Ed1Fd3ABCDEF12/22/2022104軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)驅(qū)動(dòng)模塊的幾種選擇

樁模塊driverA表示傳遞的參數(shù)信息調(diào)用從屬模塊從表(或外部文件)中傳送參數(shù)顯示參數(shù)兼有驅(qū)動(dòng)程序B、C的功能樁模塊driverB樁模塊driverC樁模塊driverD12/22/2022105軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)混合增殖式測(cè)試自頂向下增殖方式的缺點(diǎn)是需要建立樁模塊。自底向上增殖方式的缺點(diǎn)是程序一直未能作為一個(gè)實(shí)體存在,直到最后一個(gè)模塊加上去后才形成一個(gè)實(shí)體。鑒于此,通常把以上兩種方式結(jié)合起來(lái)進(jìn)行組裝和測(cè)試。12/22/2022106軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)混合增殖式測(cè)試常見的綜合的增殖方式:衍變的自頂向下的增殖測(cè)試;自底向上-自頂向下的增殖測(cè)試;回歸測(cè)試。12/22/2022107軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)試本章小結(jié)測(cè)試策略人工測(cè)試調(diào)試排錯(cuò)3)組裝測(cè)試的組織和實(shí)施組裝測(cè)試是一種正規(guī)測(cè)試過程,必須精心計(jì)劃,并與單元測(cè)試的完成時(shí)間協(xié)調(diào)起來(lái)。12/22/2022108軟件工程導(dǎo)論7.5.2組裝測(cè)試(integratedtesting7.5.2組裝測(cè)試(integratedtesting)測(cè)試基礎(chǔ)用例設(shè)計(jì)白盒測(cè)試黑盒測(cè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論