版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單元2 結(jié)構(gòu)化應(yīng)用程序的黑盒測(cè)試與白盒測(cè)試測(cè)試用例設(shè)計(jì)2.1黑盒測(cè)試方法 2.2白盒測(cè)試方法2.3教學(xué)目標(biāo)(1)熟悉測(cè)試用例的基本概念、主要作用、基本原則和編寫標(biāo)準(zhǔn)(2)掌握等價(jià)類劃分法、邊界值分析法和決策表法等黑盒測(cè)試方法(3)掌握代碼檢查法、邏輯覆蓋法、基本路徑測(cè)試法等白盒測(cè)試方法(4)掌握循環(huán)語(yǔ)句測(cè)試的方法(5)學(xué)會(huì)編寫測(cè)試計(jì)劃(6)學(xué)會(huì)使用黑盒測(cè)試方法測(cè)試三角形問題(7)學(xué)會(huì)使用白盒測(cè)試方法測(cè)試三角形問題(8)學(xué)會(huì)測(cè)試計(jì)算下一天日期的函數(shù)nextDate()教學(xué)方法講授分析法、任務(wù)驅(qū)動(dòng)法、探究學(xué)習(xí)法課時(shí)建議8課時(shí)測(cè)試階段單元測(cè)試測(cè)試對(duì)象結(jié)構(gòu)化應(yīng)用程序測(cè)試方法黑盒測(cè)試方法:等價(jià)類劃分方法
2、、邊界值分析方法、決策表法;白盒測(cè)試方法:代碼檢查法、邏輯覆蓋法、基本路徑測(cè)試法2.1測(cè)試用例設(shè)計(jì)2.1.1測(cè)試用例的基本概念 測(cè)試用例是為某個(gè)特定目的而設(shè)計(jì)的一組測(cè)試輸入、執(zhí)行條件以及預(yù)期結(jié)果的描述。2.1.2測(cè)試用例的主要作用(1)指導(dǎo)測(cè)試的實(shí)施。(2)指導(dǎo)測(cè)試數(shù)據(jù)的規(guī)劃。(3)指導(dǎo)測(cè)試腳本的編寫。(4)作為評(píng)判的基準(zhǔn)。(5)作為分析缺陷的基準(zhǔn)。2.1.3測(cè)試用例設(shè)計(jì)的基本原則(1)測(cè)試用例的正確性。(2)測(cè)試用例的代表性。(3)測(cè)試結(jié)果的可判定性。(4)測(cè)試結(jié)果的可再現(xiàn)性。2.1.4測(cè)試用例的編寫標(biāo)準(zhǔn)(1)測(cè)試用例的編號(hào)。(2)測(cè)試標(biāo)題。(3)測(cè)試項(xiàng)。(4)測(cè)試環(huán)境要求。(5)測(cè)試的步驟
3、。(6)測(cè)試的預(yù)期結(jié)果。(7)測(cè)試用例之間的關(guān)聯(lián)。(8)測(cè)試日期。(9)測(cè)試用例設(shè)計(jì)人員和測(cè)試人員。(10)測(cè)試用例的優(yōu)先級(jí)。 表2-1是ANSI/IEEE 829標(biāo)準(zhǔn)中給出的測(cè)試用例編寫的表格形式,編寫測(cè)試用例時(shí)可以參考。續(xù)表續(xù)表2.2黑盒測(cè)試方法 2.2.1黑盒測(cè)試的基本概念 黑盒測(cè)試又稱為數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)范的測(cè)試。 黑盒測(cè)試有兩種結(jié)果,即通過(guò)測(cè)試和測(cè)試失敗。 黑盒測(cè)試能發(fā)現(xiàn)以下幾類錯(cuò)誤。 (1)功能不能實(shí)現(xiàn)或遺漏。 (2)界面錯(cuò)誤。 (3)數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫(kù)訪問錯(cuò)誤。 (4)性能錯(cuò)誤。 (5)初始化和終止錯(cuò)誤。 黑盒測(cè)試對(duì)程序的功能性測(cè)試有以下要求。 (1)每個(gè)軟件特性必須被一個(gè)測(cè)
4、試用例或一個(gè)被認(rèn)可的異常所覆蓋。 (2)利用數(shù)據(jù)類型和數(shù)據(jù)值的最小集測(cè)試。 (3)利用一系列真實(shí)的數(shù)據(jù)類型和數(shù)據(jù)值運(yùn)行,測(cè)試超負(fù)荷及其他“最壞情況”的結(jié)果。 (4)利用假想的數(shù)據(jù)類型和數(shù)據(jù)值運(yùn)行,測(cè)試排斥不規(guī)則輸入的能力。 (5)測(cè)試影響性能的關(guān)鍵模塊,如基本算法、精度、時(shí)間和容量等是否正常。 黑盒測(cè)試具有如下優(yōu)點(diǎn)。 (1)可以有針對(duì)性地尋找問題,并且定位問題更準(zhǔn)確。 (2)黑盒測(cè)試可以證明軟件系統(tǒng)是否達(dá)到用戶要求的功能,符合用戶的工作要求。 (3)能重復(fù)執(zhí)行相同的功用,測(cè)試工作中最枯燥的部分可交由機(jī)器完成。 黑盒測(cè)試具有如下缺點(diǎn)。 (1)需要充分了解軟件系統(tǒng)用到的技術(shù),測(cè)試人員需要具有較多經(jīng)
5、驗(yàn)。 (2)在測(cè)試過(guò)程中很多是手工測(cè)試操作。 (3)測(cè)試人員要負(fù)責(zé)大量文檔、報(bào)表的編制和整理工作。 黑盒測(cè)試主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試,而不考慮內(nèi)部邏輯結(jié)構(gòu)。 采用黑盒技術(shù)設(shè)計(jì)測(cè)試用例的方法主要有以下幾種。 (1)等價(jià)類劃分法。 (2)邊界值分析法。 (3)決策表法。(4)因果圖法。(5)功能圖分析法。(6)場(chǎng)景設(shè)計(jì)法。(7)錯(cuò)誤推斷法。(8)正交試驗(yàn)法。2.2.2等價(jià)類劃分法 等價(jià)類劃分是一種典型的、常用的黑盒測(cè)試方法。 等價(jià)類是指某個(gè)輸入域的子集,使用這一方法時(shí),是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分為若干子集,然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例。 1等價(jià)類
6、的劃分 (1)有效等價(jià)類。 有效等價(jià)類是指對(duì)于程序規(guī)格說(shuō)明來(lái)說(shuō),是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。 (2)無(wú)效等價(jià)類。 無(wú)效等價(jià)類是指對(duì)于程序規(guī)格說(shuō)明來(lái)說(shuō),是不合理的、無(wú)意義的輸入數(shù)據(jù)構(gòu)成的集合。 2劃分等價(jià)類的方法(1)按區(qū)間劃分。(2)按數(shù)值劃分。(3)按數(shù)值集合劃分。(4)按限制條件劃分。(5)按限制規(guī)則劃分。(6)按處理方式劃分。編號(hào)輸入條件有效等價(jià)類編號(hào)無(wú)效等價(jià)類表2-2 等價(jià)類表3等價(jià)類劃分測(cè)試用例設(shè)計(jì) (1)劃分等價(jià)類,形成等價(jià)類表,為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào)。 (2)設(shè)計(jì)一個(gè)新的測(cè)試用例,使它盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,重復(fù)這一步,直到測(cè)試用例覆蓋了所有的有效
7、等價(jià)類。 (3)設(shè)計(jì)一個(gè)新的測(cè)試用例,使它僅覆蓋一個(gè)還沒有被覆蓋的無(wú)效等價(jià)類,重復(fù)這一步,直到測(cè)試用例覆蓋了所有的無(wú)效等價(jià)類。2.2.3邊界值分析法 邊界值分析法是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。 測(cè)試實(shí)踐表明,大量的錯(cuò)誤都發(fā)生在輸入或輸出范圍的邊界上,因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。 常見的邊界值如下所示。 (1)對(duì)于循環(huán)結(jié)構(gòu),第0次、第1次、最后1次和倒數(shù)第2次是邊界。 (2)對(duì)于16位整型數(shù)據(jù),32767和-32768是邊界。 (3)數(shù)組的第1個(gè)和最后1個(gè)元素是邊界。 (4)報(bào)表的第1行和最后1行是邊界。 (5)屏幕上光標(biāo)在最左上和最右下的位置是邊界
8、。 邊界值分析方法是有效的黑盒測(cè)試方法,是對(duì)等價(jià)類劃分方法的補(bǔ)充。 通常情況下,軟件測(cè)試所包含的邊界檢驗(yàn)有幾種類型:數(shù)值、字符、位置、重量、速度、尺寸、空間等。 邊界值分析方法選擇測(cè)試用例的原則如下所示。 (1)如果輸入條件規(guī)定了值的范圍,則應(yīng)該取剛達(dá)到這個(gè)范圍的邊界值,以及剛剛超過(guò)這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。 (2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1個(gè),比最小個(gè)數(shù)少1個(gè)的數(shù)作為測(cè)試數(shù)據(jù)。 (3)根據(jù)規(guī)格說(shuō)明的每1個(gè)輸出條件,使用前面兩條規(guī)則。 (4)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合的第1個(gè)和最后1個(gè)元
9、素作為測(cè)試用例。 (5)如果程序使用了1個(gè)內(nèi)部結(jié)構(gòu),應(yīng)該選取這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界值作為測(cè)試用例。 (6)分析規(guī)格說(shuō)明,找出其他可能的邊界條件。2.2.4決策表法 決策表是把作為條件的所有輸入的各種組合值以及對(duì)應(yīng)輸出值都羅列出來(lái)而形成的表格。 決策表通常由條件樁、條件項(xiàng)、動(dòng)作樁和動(dòng)作項(xiàng)4個(gè)部分組成。 (1)條件樁。 列出了問題的所有條件,除了某些問題對(duì)條件的先后次序有特定的要求外,通常在這里列出的條件其先后次序無(wú)關(guān)緊要。 (2)條件項(xiàng)。 針對(duì)條件樁給出的條件列出所有可能的取值。 (3)動(dòng)作樁。 列出了問題規(guī)定的可能采取的操作,這些操作的排列順序一般沒有什么約束,但為了便于閱讀也可令其按適當(dāng)?shù)捻?/p>
10、序排列。 (4)動(dòng)作項(xiàng)。 列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。樁規(guī)則1規(guī)則2規(guī)則3規(guī)則4規(guī)則5規(guī)則6條件C1TTTFFFC2TTFTTFC3TFTF動(dòng)作A1A2A3A4表2-3決策表 構(gòu)造決策表的主要步驟如下所示。 (1)列出所有的條件樁和動(dòng)作樁。 (2)分析輸入域,對(duì)輸入域進(jìn)行等價(jià)類劃分。 (3)分析輸出域,對(duì)輸出進(jìn)行細(xì)化,以指導(dǎo)具體的輸出動(dòng)作。 (4)確定規(guī)則的個(gè)數(shù),假如有n個(gè)條件,每一個(gè)條件有兩個(gè)取值(分別取值、假值),則有2n種規(guī)則。 (5)填寫條件項(xiàng)和動(dòng)作項(xiàng),得到初始決策表。 (6)合并相似規(guī)則,簡(jiǎn)化決策表,得到最終決策表。2.3白盒測(cè)試方法2.3.1白盒測(cè)試的基本概念 白盒
11、測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。 白盒測(cè)試通常可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試兩類方法。 白盒測(cè)試的測(cè)試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、邏輯覆蓋法、基本路徑測(cè)試法、域測(cè)試法、符號(hào)測(cè)試法、數(shù)據(jù)流測(cè)試法、Z路徑覆蓋法和程序變異法等。 采用白盒測(cè)試方法必須遵循以下幾條原則。 (1)保證一個(gè)模塊中的所有獨(dú)立路徑至少被使用一次。 (2)對(duì)所有邏輯值均需測(cè)試邏輯真(True)和邏輯假(False)。 (3)在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。 (4)檢查程序的內(nèi)部數(shù)據(jù)結(jié)
12、構(gòu),以確保其結(jié)構(gòu)的有效性。 在白盒測(cè)試中,可以使用各種測(cè)試方法進(jìn)行測(cè)試。 但是,測(cè)試時(shí)要考慮以下5個(gè)問題。 (1)測(cè)試中盡量先用自動(dòng)化工具來(lái)進(jìn)行靜態(tài)結(jié)構(gòu)分析。 (2)測(cè)試中建議先從靜態(tài)測(cè)試開始,如靜態(tài)結(jié)構(gòu)分析、代碼走查和靜態(tài)質(zhì)量度量,然后進(jìn)行動(dòng)態(tài)測(cè)試,如覆蓋率測(cè)試。 (3)將靜態(tài)分析的結(jié)果作為依據(jù),再使用代碼檢查和動(dòng)態(tài)測(cè)試的方式對(duì)靜態(tài)分析結(jié)果進(jìn)行進(jìn)一步確認(rèn),提高測(cè)試效率及準(zhǔn)確性。 (4)覆蓋測(cè)試是白盒測(cè)試中的重要手段,在測(cè)試報(bào)告中可以作為量化指標(biāo)的依據(jù),對(duì)于軟件的重點(diǎn)模塊,應(yīng)使用多種覆蓋率標(biāo)準(zhǔn)衡量代碼的覆蓋率。 (5)在不同的測(cè)試階段,測(cè)試的側(cè)重點(diǎn)是不同的。 單元測(cè)試階段:以程序語(yǔ)法檢查、程序
13、邏輯檢查、代碼檢查、邏輯覆蓋為主。 集成測(cè)試階段:需要增加靜態(tài)結(jié)構(gòu)分析、靜態(tài)質(zhì)量度量,以接口測(cè)試為主。 系統(tǒng)測(cè)試階段:在真實(shí)系統(tǒng)工作環(huán)境下通過(guò)與系統(tǒng)的需求定義做比較,檢驗(yàn)完整的軟件配置項(xiàng)能否和系統(tǒng)正確連接 。 驗(yàn)收測(cè)試階段:按照需求開發(fā),體驗(yàn)該產(chǎn)品是否能夠滿足使用要求,有沒有達(dá)到原設(shè)計(jì)水平,完成的功能怎樣,是否符合用戶的需求,以達(dá)到預(yù)期目的為主。2.3.2代碼檢查法 代碼檢查是靜態(tài)測(cè)試的主要方法,包括代碼走查、桌面檢查、流程圖審查等。1代碼檢查的概念 代碼檢查主要檢查代碼和設(shè)計(jì)意圖的一致性、代碼結(jié)構(gòu)的合理性、代碼編寫的標(biāo)準(zhǔn)性和可讀性、代碼邏輯表達(dá)的正確性等方面 。2代碼檢查的目的 (1)檢查程
14、序是不是按照某種編碼標(biāo)準(zhǔn)或規(guī)范編寫的。 (2)檢查代碼是不是符合流程圖要求。 (3)發(fā)現(xiàn)程序缺陷和程序產(chǎn)生的錯(cuò)誤。(4)檢查有沒有遺漏的項(xiàng)目。(5)檢查代碼是否易于移植。(6)使代碼易于閱讀、理解和維護(hù)。3代碼檢查的方式(1)桌面檢查。(2)走查。(3)代碼審查。4代碼檢查項(xiàng)目(1)檢查目錄文件組織。(2)檢查函數(shù)。(3)檢查數(shù)據(jù)類型及變量。(4)檢查條件判斷語(yǔ)句。(5)檢查循環(huán)語(yǔ)句。(6)檢查代碼注釋。(7)桌面檢查。(8)其他檢查。5使用缺陷檢查表列出典型錯(cuò)誤 在進(jìn)行人工代碼檢查時(shí),可以制作代碼走查缺陷表。在缺陷檢查表中,我們列出工作中遇到的典型錯(cuò)誤,如表2-4所示。(1)格式部分 嵌套的
15、if是否正確地縮進(jìn) 注釋是否準(zhǔn)確并有意義 使用的符號(hào)是否有意義 代碼是否與開始時(shí)的模塊模式統(tǒng)一、一致 是否遵循了全套的編程標(biāo)準(zhǔn)(2)入口和出口的連接 初始入口和最終出口是否正確 被傳送的參數(shù)值是否正確地設(shè)置了 對(duì)被調(diào)用的關(guān)鍵模塊的意外情況是否有所處理(如丟失、混亂) 對(duì)另一個(gè)模塊的每一次調(diào)用時(shí),全部所需的參數(shù)是否傳送給每一個(gè)被調(diào)用的模塊(3)存儲(chǔ)器問題 每一個(gè)域在第一次使用前是否正確地初始化 規(guī)定的域是否正確 每個(gè)域是否有正確的變量類型聲明(4)判斷及轉(zhuǎn)移 用于判斷的是否是正確的變量 是否判斷了正確的條件 每個(gè)轉(zhuǎn)移目標(biāo)是否正確地并且至少執(zhí)行了1次(5)性能性能是否最佳(6)可靠性對(duì)從外部接口采
16、集的數(shù)據(jù)是否確認(rèn)過(guò)(7)可維護(hù)性 清單格式是否適用于提高可讀性 各個(gè)程序塊之間是否符合代碼的邏輯意義(8)邏輯 全部設(shè)計(jì)是否已經(jīng)實(shí)現(xiàn) 代碼所做的是否是設(shè)計(jì)規(guī)定的內(nèi)容 每一個(gè)循環(huán)是否執(zhí)行了正確的次數(shù)(9)內(nèi)存設(shè)計(jì) 數(shù)組或指針的下標(biāo)是否越界 是否修改了指向常量的指針的內(nèi)容 是否有效地處理了內(nèi)存耗盡的問題 是否出現(xiàn)了不規(guī)范指針(指針變量沒有被初始化、用free或者delete釋放了內(nèi)存之后,忘記將指針設(shè)置為Null) 是否忘記為數(shù)組和動(dòng)態(tài)內(nèi)存賦初值 用malloc或者new申請(qǐng)內(nèi)存之后,是否立即檢查指針值是否為Null表2-4缺陷檢查表6靜態(tài)結(jié)構(gòu)分析 靜態(tài)結(jié)構(gòu)分析是指測(cè)試者通過(guò)使用測(cè)試工具分析程序源
17、代碼的系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)接口、內(nèi)部控制邏輯等內(nèi)部結(jié)構(gòu),生成函數(shù)調(diào)用關(guān)系圖、模塊控制流圖、內(nèi)部文件調(diào)用關(guān)系圖等各種圖形和圖表,清晰地標(biāo)識(shí)整個(gè)軟件的組成結(jié)構(gòu),通過(guò)分析這些圖表(包括控制流分析、數(shù)據(jù)流分析、接口分析、表達(dá)式分析),檢查軟件是否存在缺陷或錯(cuò)誤。2.3.3邏輯覆蓋法 邏輯覆蓋是白盒測(cè)試的主要?jiǎng)討B(tài)測(cè)試方法之一,是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試技術(shù),通過(guò)對(duì)程序邏輯結(jié)構(gòu)的遍歷實(shí)現(xiàn)程序的覆蓋。 從覆蓋源代碼的不同程度可以分為以下6個(gè)標(biāo)準(zhǔn):語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋。序號(hào)程序代碼0102030405060708091011121314/*-*/*
18、功 能:邏輯覆蓋測(cè)試示例 */* 日 期:2013-10-8 */* 作者:陳承歡 */*-*/private int logicExample(int x , int y ) int magic=0; if(x0 & y0) magic = x+y+10 ; / 語(yǔ)句塊1 else 表2-5方法logicExample()的程序代碼序號(hào)程序代碼1516171819202122 magic = x+y-10 ; / 語(yǔ)句塊2 if(magic 0 ) if( num2 = 0 ) x=y+2 ; break ; else if ( num2 = 1) x=y+10 ; else x=y+20
19、; 表2-13方法NumCalc()的程序代碼圖2-6方法NumCalc()的程序流程圖和對(duì)應(yīng)的控制流圖第二步:計(jì)算環(huán)路復(fù)雜度。 環(huán)路復(fù)雜度(也稱為圈復(fù)雜度)是一種為程序邏輯復(fù)雜性提供定量測(cè)度的軟件度量,將該度量用于計(jì)算程序基本的獨(dú)立路徑數(shù)目 。圖2-7環(huán)路復(fù)雜度計(jì)算示例 有以下3種方法計(jì)算環(huán)路復(fù)雜度。 (1)觀察法。 (2)公式法。 (3)判定結(jié)點(diǎn)法。第三步:確定獨(dú)立路徑。第四步:設(shè)計(jì)測(cè)試用例測(cè)試用例ID輸入數(shù)據(jù)預(yù)期輸出路徑num1num2xyTC010000路徑1TC021020路徑2TC0311100路徑3TC0412200路徑4表2-14基本路徑集的測(cè)試用例3基本路徑測(cè)試法的圖形矩陣工
20、具 利用圖形矩陣可以實(shí)現(xiàn)自動(dòng)地確定一個(gè)基本路徑集。 對(duì)每個(gè)矩陣項(xiàng)加入連接權(quán)值(Link Weight),圖矩陣就可以用于在測(cè)試中評(píng)估程序的控制結(jié)構(gòu),連接權(quán)值為控制流提供了另外的信息。4678101113144116117181110111113114圖2-8圖形矩陣2.3.5循環(huán)語(yǔ)句測(cè)試 從本質(zhì)上說(shuō),循環(huán)語(yǔ)句測(cè)試的目的就是檢查程序中循環(huán)結(jié)構(gòu)的有效性。 循環(huán)語(yǔ)句是實(shí)現(xiàn)算法的重要組成部分,循環(huán)語(yǔ)句測(cè)試是一種白盒測(cè)試技術(shù),它總是與邊界值測(cè)試密切相關(guān)。 可以把循環(huán)語(yǔ)句分為4種:簡(jiǎn)單循環(huán)、串接循環(huán)、嵌套循環(huán)和不規(guī)則循環(huán),如圖2-9所示。圖2-9常見循環(huán)類型1簡(jiǎn)單循環(huán) 零次循環(huán) 1次循環(huán) 2次循環(huán) m次循
21、環(huán) n-1次循環(huán) n次循環(huán) n+1次循環(huán)2嵌套循環(huán) 從最內(nèi)層循環(huán)開始,將其他循環(huán)設(shè)置為最小值。 對(duì)最內(nèi)層循環(huán)使用簡(jiǎn)單循環(huán),而使外層循環(huán)的迭代參數(shù)(即循環(huán)計(jì)數(shù)器)取最小值,并為范圍外或排除的值增加一些額外的測(cè)試。 從內(nèi)向外構(gòu)造下一個(gè)循環(huán)的測(cè)試,但其他的外層循環(huán)為最小值,并使其他的嵌套循環(huán)為“典型”值。 繼續(xù)執(zhí)行,直到測(cè)試完所有的循環(huán)為止。3串接循環(huán) 串接循環(huán)也稱為并列循環(huán)。 如果串接循環(huán)的每個(gè)循環(huán)都彼此獨(dú)立,則可以簡(jiǎn)化為兩個(gè)單個(gè)循環(huán)來(lái)分別處理。 4不規(guī)則循環(huán) 應(yīng)盡可能先將不規(guī)則循環(huán)重新設(shè)計(jì)為結(jié)構(gòu)化的程序結(jié)構(gòu),再進(jìn)行測(cè)試。 【引導(dǎo)測(cè)試】 三角形問題是軟件測(cè)試文獻(xiàn)中使用最廣泛的一個(gè)示例,它包含了清晰
22、而復(fù)雜的邏輯關(guān)系,這正是它在軟件測(cè)試界經(jīng)久不衰的主要原因之一。 【任務(wù)2-1】使用黑盒測(cè)試方法測(cè)試三角形問題【任務(wù)描述】 假定三角形的3條邊的取值限制在1100,這里選擇100作為邊長(zhǎng)的上限只是為了問題研究方便而設(shè)定,另外,這里的邊長(zhǎng)只取整數(shù),三角形問題可以更具體描述為以下形式 輸入3個(gè)數(shù)a、b、c分別作為三角形的3條邊,要求a、b、c必須滿足以下條件。Con1:1a100Con2:1b100Con3:1c100Con4:ab+cCon5:ba+cCon6:ca+bCon7:輸入3個(gè)數(shù) 【任務(wù)實(shí)施】 使用黑盒測(cè)試方法測(cè)試三角形問題的測(cè)試計(jì)劃如表2-15所示。計(jì)劃標(biāo)識(shí)符TestPlan-02-0
23、1測(cè)試概述測(cè)試目標(biāo)測(cè)試三角形問題,判斷三角形的類型測(cè)試范圍三角形邊長(zhǎng)為正整數(shù)限制條件三角形的3條邊的取值限制在1100 參考資料無(wú)測(cè)試項(xiàng)目(1)輸入3個(gè)數(shù);(2)取值范圍在1100;(3)三角形類型測(cè)試特征邊長(zhǎng)的取值在1100的正整數(shù)測(cè)試方法黑盒測(cè)試方法:等價(jià)類劃分方法、邊界值分析方法、決策表法測(cè)試標(biāo)準(zhǔn)程序運(yùn)行結(jié)果與預(yù)期結(jié)果完全一致測(cè)試環(huán)境Windows XP及以上版本的操作系統(tǒng)、Microsoft Visual Studio 2008人員和時(shí)間測(cè)試實(shí)施人員1人,測(cè)試時(shí)間1h表2-15使用黑盒測(cè)試方法測(cè)試三角形問題的測(cè)試計(jì)劃【任務(wù)2-1-1】使用等價(jià)類劃分法對(duì)三角形問題進(jìn)行測(cè)試1等價(jià)類劃分測(cè)試
24、用例設(shè)計(jì)2輸出域等價(jià)類劃分測(cè)試用例設(shè)計(jì)3構(gòu)建測(cè)試環(huán)境4執(zhí)行軟件測(cè)試與分析測(cè)試結(jié)果編號(hào)有效等價(jià)類編號(hào)無(wú)效等價(jià)類1整數(shù)41條邊為非整數(shù)52條邊為非整數(shù)63條邊為非整數(shù)2輸入3個(gè)數(shù)7只有1條邊8只有2條邊9多于3條邊31a1001b1001c100101條邊為0112條邊為0123條邊為0131條邊0142條邊0153條邊100172條邊100183條邊100表2-16三角形問題的等價(jià)類測(cè)試用例編號(hào)a,b,c預(yù)期輸出覆蓋等價(jià)類Test012.5,4,5限制無(wú)法輸入小數(shù)點(diǎn)4Test022.5,3.5,5限制無(wú)法輸入小數(shù)點(diǎn)5Test032.5,3.5,4.5限制無(wú)法輸入小數(shù)點(diǎn)6Test043提示“請(qǐng)輸入
25、3條邊長(zhǎng)”7Test054,5提示“請(qǐng)輸入3條邊長(zhǎng)”8Test064,5,6,7提示“請(qǐng)輸入3條邊長(zhǎng)”9Test070,4,5提示“請(qǐng)輸入1100之間的數(shù)”10Test080,0,5提示“請(qǐng)輸入1100之間的數(shù)”11Test090,0,0提示“請(qǐng)輸入1100之間的數(shù)”12Test10-3,4,5提示“請(qǐng)輸入1100之間的數(shù)”13表2-17三角形問題的無(wú)效等價(jià)類測(cè)試用例測(cè)試用例編號(hào)a,b,c預(yù)期輸出覆蓋等價(jià)類Test11-3,-4,5提示“請(qǐng)輸入1100之間的數(shù)”14Test12-3,-4,-5提示“請(qǐng)輸入1100之間的數(shù)”15Test13101,55,65提示“請(qǐng)輸入1100之間的數(shù)”16Te
26、st14101,101,65提示“請(qǐng)輸入1100之間的數(shù)”17Test15101,101,101提示“請(qǐng)輸入1100之間的數(shù)”18續(xù)表測(cè)試用例abc預(yù)期輸出測(cè)試用例abc預(yù)期輸出Test17555等邊三角形Test19345一般三角形Test18335等腰三角形Test20215非三角形表2-18 三角形問題的4個(gè)輸出域等價(jià)類測(cè)試用例圖2-10用于測(cè)試經(jīng)典三角形問題的界面圖2-11測(cè)試用例Test01的測(cè)試結(jié)果圖2-12測(cè)試用例Test06的測(cè)試結(jié)果圖2-13測(cè)試用例Test08的測(cè)試結(jié)果圖2-14測(cè)試用例Test17的測(cè)試結(jié)果圖2-15測(cè)試用例Test18的測(cè)試結(jié)果圖2-16測(cè)試用例Test
27、20的測(cè)試結(jié)果【任務(wù)2-1-2】使用邊界值分析法對(duì)三角形問題進(jìn)行測(cè)試1設(shè)計(jì)軟件測(cè)試用例2執(zhí)行軟件測(cè)試與分析測(cè)試結(jié)果用例編號(hào)abc預(yù)期輸出用例編號(hào)abc預(yù)期輸出Test0115060非三角形Test084010060非三角形Test0225060非三角形Test0940501非三角形Test03995060一般三角形Test1040502非三角形Test041005060一般三角形Test11405099非三角形Test0540160非三角形Test124050100非三角形Test0640260非三角形Test13405060一般三角形Test07409960非三角形表2-19 三角形問題的邊
28、界值測(cè)試用例圖2-17測(cè)試用例Test04的測(cè)試結(jié)果圖2-18測(cè)試用例Test8的測(cè)試結(jié)果圖2-19測(cè)試用例Test13的測(cè)試結(jié)果【任務(wù)2-1-3】使用決策表法對(duì)三角形問題進(jìn)行測(cè)試1列出所有的條件樁和動(dòng)作樁2確定規(guī)則的個(gè)數(shù)3構(gòu)造決策表4設(shè)計(jì)軟件測(cè)試用例5執(zhí)行軟件測(cè)試與分析測(cè)試結(jié)果用例編號(hào)abc預(yù)期輸出用例編號(hào)abc預(yù)期輸出Test0145060非三角形Test051006060等腰三角形Test02401260非三角形Test068012080等腰三角形Test0340508非三角形Test077070110等腰三角形Test04405060一般三角形Test08505050等邊三角形表2-2
29、2使用決策表法測(cè)試三角形問題的測(cè)試用例圖2-20測(cè)試用例Test01的測(cè)試結(jié)果圖2-21測(cè)試用例Test04的測(cè)試結(jié)果圖2-22測(cè)試用例Test05的測(cè)試結(jié)果圖2-23測(cè)試用例Test08的測(cè)試結(jié)果【任務(wù)2-2】使用白盒測(cè)試方法測(cè)試三角形問題【任務(wù)描述】 表2-23所示代碼的功能是輸入3個(gè)整數(shù)a、b、c,分別作為三角形的3條邊,是否能構(gòu)成三角形,如果能構(gòu)成三角形,則判斷三角形的類型(等邊三角形、等腰三角形、一般三角形)。另外,三角形邊長(zhǎng)的取值限制為1100。序號(hào)程序代碼01020304050607080910111213141516171819private string judgeTrian
30、gle(int a , int b , int c ) string strType; /三角形類型 if (a + b c & b + c a & a + c b) if (a = b | b = c | a = c) if (a = b & b = c) strType = 等邊三角形; else strType = 等腰三角形; else strType = 一般三角形; else strType = 不能構(gòu)成三角形; return strType;表2-23待測(cè)試的有關(guān)三角形問題的代碼【任務(wù)實(shí)施】 使用白盒測(cè)試方法測(cè)試三角形問題的測(cè)試計(jì)劃如表2-25所示。計(jì)劃標(biāo)識(shí)符TestPlan-0
31、2-02測(cè)試概述測(cè)試目標(biāo)測(cè)試三角形問題,判斷三角形的類型測(cè)試范圍三角形邊長(zhǎng)為正整數(shù)限制條件三角形的3條邊的取值限制在1100 參考資料無(wú)測(cè)試項(xiàng)目(1)輸入3個(gè)數(shù);(2)取值范圍在1100;(3)三角形類型測(cè)試特征邊長(zhǎng)的取值在1100的正整數(shù)測(cè)試方法白盒測(cè)試方法:代碼檢查法、邏輯覆蓋法、基本路徑測(cè)試法測(cè)試標(biāo)準(zhǔn)程序運(yùn)行結(jié)果與預(yù)期結(jié)果完全一致測(cè)試環(huán)境Windows XP及以上版本的操作系統(tǒng)、Microsoft Visual Studio 2008人員和時(shí)間測(cè)試實(shí)施人員1人,測(cè)試時(shí)間2h表2-25使用白盒測(cè)試方法測(cè)試三角形問題的測(cè)試計(jì)劃【任務(wù)2-2-1】使用代碼檢查法對(duì)三角形問題進(jìn)行測(cè)試 針對(duì)于表2-
32、23和表2-24中程序代碼對(duì)代碼結(jié)構(gòu)的合理性、代碼編寫的標(biāo)準(zhǔn)性和可讀性、代碼邏輯表達(dá)的正確性等方面進(jìn)行檢查,測(cè)試結(jié)果如表2-26所示?!救蝿?wù)2-2-2】使用邏輯覆蓋法對(duì)三角形問題進(jìn)行測(cè)試1分析程序的邏輯結(jié)構(gòu)2執(zhí)行語(yǔ)句覆蓋的測(cè)試3執(zhí)行判定覆蓋的測(cè)試4執(zhí)行條件覆蓋的測(cè)試5執(zhí)行條件/判定覆蓋的測(cè)試6執(zhí)行條件組合覆蓋的測(cè)試圖2-24表2-23中程序代碼的流程圖編號(hào)輸入預(yù)期輸出通過(guò)路徑abcSC-001505050等邊三角形路徑1SC-002405050等腰三角形路徑2SC-003405060一般三角形路徑3SC-004203060不能構(gòu)成三角形路徑4表2-27實(shí)現(xiàn)語(yǔ)句覆蓋的測(cè)試用例 圖2-25測(cè)試用例
33、SC-004的測(cè)試結(jié)果判定結(jié)點(diǎn)1判定結(jié)點(diǎn)2判定結(jié)點(diǎn)3路徑1TTT路徑2TTF路徑3TF路徑4F表2-28每條路徑中判定結(jié)點(diǎn)的取值編號(hào)C1C2C3D1C4C5C6D2D3通過(guò)路徑a+bcb+caa+cba+bc & b+ca & a+cba=bb=ca=ca=b | b=c | a=ca=b & b=c1FTTF路徑42TFTF路徑43TTFF路徑44TTTTTTTTT路徑15TTTTFFFF路徑3表2-29 符合條件覆蓋的各個(gè)邏輯判定條件的取值以及通過(guò)的路徑編號(hào)輸入預(yù)期輸出通過(guò)路徑abcCC-001203060不能構(gòu)成三角形路徑4CC-002603020不能構(gòu)成三角形路徑4CC-0033060
34、20不能構(gòu)成三角形路徑4CC-004505050等邊三角形路徑1CC-005405060一般三角形路徑3表2-30實(shí)現(xiàn)條件覆蓋的測(cè)試用例編號(hào)輸入預(yù)期輸出通過(guò)路徑abcDCC-001203060不能構(gòu)成三角形路徑4DCC-002603020不能構(gòu)成三角形路徑4表2-31實(shí)現(xiàn)條件/判定覆蓋的測(cè)試用例編號(hào)輸入預(yù)期輸出通過(guò)路徑abcDCC-003306020不能構(gòu)成三角形路徑4DCC-004505050等邊三角形路徑1DCC-005605050等腰三角形路徑2DCC-006405060一般三角形路徑3續(xù)表編號(hào)C1C2C3D1C4C5C6D2D3通過(guò)路徑1FTTF路徑42TFTF路徑43TTFF路徑44
35、TTTTTTTTT路徑15TTTTFFFF路徑36TTTTTFFTF路徑27TTTTFTFTF路徑28TTTTFFTTF路徑2表2-32符合條件組合覆蓋的各個(gè)邏輯判定條件的取值以及通過(guò)的路徑編號(hào)輸入預(yù)期輸出通過(guò)路徑abcCCC-001203060不能構(gòu)成三角形路徑4CCC-002603020不能構(gòu)成三角形路徑4CCC-003306020不能構(gòu)成三角形路徑4CCC-004505050等邊三角形路徑1CCC-005405060一般三角形路徑3CCC-006505060等腰三角形路徑2CCC-007605050等腰三角形路徑2CCC-008506050等腰三角形路徑2表2-33實(shí)現(xiàn)條件組合覆蓋的測(cè)試用例【任務(wù)2-2-3】使用基本路徑測(cè)試法對(duì)三角形問題進(jìn)行測(cè)試1繪制程序流程圖2繪制程序控制流圖3計(jì)算環(huán)路復(fù)雜度4確定獨(dú)立路徑5設(shè)計(jì)軟件測(cè)試用例6執(zhí)行軟件測(cè)試與分析測(cè)試結(jié)果圖2-26判斷三角形類型的函數(shù)代碼的程序流程圖圖2-27判斷三角形類型的函數(shù)代碼的控制流圖編號(hào)輸入預(yù)期輸出通過(guò)路徑abcBP-001505050等邊三角形路徑1BP-002605050等腰三角形路徑2BP-003304050一般三角形路徑3BP-004306020不能構(gòu)成三角形路徑4表2-34判斷三角形類型的函數(shù)代碼的測(cè)試用例圖2-28
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際學(xué)校新生學(xué)習(xí)協(xié)議書
- 四則混合運(yùn)算同步練習(xí)題帶答案
- 2025年度學(xué)校圖書館圖書管理員勞務(wù)用工合同協(xié)議書
- 2025版?zhèn)鶛?quán)債務(wù)轉(zhuǎn)讓及合規(guī)性審查協(xié)議3篇
- 2024年版:二手書籍買賣合同
- 2025年生物農(nóng)藥及微生物農(nóng)藥合作協(xié)議書
- 2024年特定區(qū)域零星建設(shè)施工協(xié)議版B版
- 2024年物流服務(wù)合同標(biāo)的及詳細(xì)條款
- 2024年版辦公設(shè)備租賃合同8篇
- 2025年化合物半導(dǎo)體材料合作協(xié)議書
- 乒乓球校隊(duì)選拔方案
- 熱水供水系統(tǒng)運(yùn)營(yíng)維護(hù)服務(wù)投標(biāo)方案(技術(shù)方案)
- 現(xiàn)實(shí)與理想-西方古典繪畫 課件-2023-2024學(xué)年高中美術(shù)人美版(2019)美術(shù)鑒賞
- 模糊決策培訓(xùn)課件教案模板
- 快遞安全教育培訓(xùn)課件
- 混凝土攪拌站安全操作規(guī)程技術(shù)交底培訓(xùn)
- 2023年高爾夫球車行業(yè)市場(chǎng)突圍建議及需求分析報(bào)告
- 陵水黎族自治縣食品公司椰林屠宰場(chǎng)生豬定點(diǎn)屠宰項(xiàng)目環(huán)評(píng)報(bào)告
- 迎新年卡拉OK比賽主持詞
- 玻璃廠質(zhì)檢工作總結(jié)
- v型開槽機(jī)安全操作規(guī)程
評(píng)論
0/150
提交評(píng)論