版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
單元5軟件項目的綜合測試與驗收【知識疏理】5.1軟件測試的概述5.1.1軟件測試的概念在IEEE所提出的軟件工程標準術(shù)語中,軟件測試的定義為“使用人工或自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清楚預(yù)期結(jié)果與實際結(jié)果之間的差別”。軟件測試的主要工作是驗證(verification)和確認(validation)?!局R疏理】5.1軟件測試的概述5.1.2軟件測試的地位和作用軟件測試在整個軟件開發(fā)生命周期中占據(jù)著重要的地位,軟件工程采用的生命周期方法把軟件開發(fā)劃分成多個階段,把整個開發(fā)工作明確地劃成若干個開發(fā)步驟,可以把復(fù)雜的問題按階段分別加以解決,為中間產(chǎn)品提供了檢驗的依據(jù),各階段完成的軟件文檔成為檢驗軟件質(zhì)量的主要依據(jù)。軟件測試應(yīng)該從生命周期的第一個階段開始,并貫穿于整個軟件開發(fā)生命周期的每個階段,而且越早測試越好,早期檢測和糾錯是系統(tǒng)開發(fā)中最有效的方法。【知識疏理】5.1軟件測試的概述5.1.3軟件測試的目的軟件測試的目的是為了保證軟件產(chǎn)品的最終質(zhì)量,在軟件開發(fā)過程中,對軟件產(chǎn)品進行質(zhì)量控制。測試可以完成許多事情,但最重要的是可以衡量正在開發(fā)軟件的質(zhì)量?!局R疏理】5.1軟件測試的概述5.1.4軟件測試的原則為了進行有效的測試,測試人員理解和遵循以下基本原則。(1)應(yīng)當把“盡早地和不斷地進行軟件測試”作為軟件開發(fā)者的座右銘(2)程序員應(yīng)避免檢查自己的程序(3)測試用例應(yīng)由測試輸入數(shù)據(jù)和與之對應(yīng)的預(yù)期輸出結(jié)果兩部分組成(4)在設(shè)計測試用例時,應(yīng)當包括合理的輸入條件和不合理的輸入條件【知識疏理】5.1軟件測試的概述5.1.4軟件測試的原則(5)充分注意軟件測試時的群集現(xiàn)象(6)嚴格執(zhí)行測試計劃,排除測試的隨意性(7)應(yīng)當對每一個測試結(jié)果做全面檢查(8)妥善保存測試過程中產(chǎn)生的各種數(shù)據(jù)和文檔(9)注意回歸測試的關(guān)聯(lián)性?!局R疏理】5.1軟件測試的概述5.1.5軟件測試的分類軟件測試有多種分類方式,例如按測試階段分類、按是否需要運行被測試軟件分類、按是否需要查看代碼分類,按測試執(zhí)行時是否需要人工干預(yù)分類、按測試目的分類等,表5-1描述了軟件測試的各種分類?!局R疏理】5.1軟件測試的概述5.1.6軟件測試的流程軟件測試流程是指從軟件測試開始到軟件測試結(jié)束所經(jīng)過的一系列準備、執(zhí)行、分析的過程,一般可劃分為制定測試計劃、設(shè)計測試用例和測試過程、實施軟件測試、評估軟件測試等幾個主要階段?!局R疏理】5.1軟件測試的概述5.1.6軟件測試的流程1.制定測試計劃制定測試計劃的主要目的是識別任務(wù)、分析風險、規(guī)劃資源和確定進度。測試計劃一般包括以下幾個方面:(1)軟件測試背景(2)軟件測試依據(jù)(3)測試范圍的界定(4)測試風險的確定(5)測試資源的確定(6)測試策略的確定(7)制定測試進度表?!局R疏理】5.1.6軟件測試的流程2.設(shè)計測試用例和測試過程測試用例是為特定目標開發(fā)的測試輸入、執(zhí)行條件和預(yù)期結(jié)果的集合,這些特定目標可以是驗證一個特定的程序路徑,或核實是否符合特定需求。設(shè)計測試用例就是設(shè)計針對特定功能或組合功能的測試方案,并編寫成文檔。設(shè)計測試過程就是確定測試的基本執(zhí)行過程,為測試的每個階段的工作建立一個基本框架?!局R疏理】5.1軟件測試的概述5.1.6軟件測試的流程3.實施軟件測試實施測試包括測試準備、建立測試環(huán)境、獲取測試數(shù)據(jù)、執(zhí)行測試等方面。(1)測試準備和建立測試環(huán)境(2)獲取測試數(shù)據(jù)(3)執(zhí)行測試。【知識疏理】5.1軟件測試的概述5.1.6軟件測試的流程4.評估與總結(jié)軟件測試軟件測試的主要評估方法包括缺陷評估、測試覆蓋和質(zhì)量評測。質(zhì)量評測是對測試對象的可靠性、穩(wěn)定性以及性能的評測,它建立在對測試結(jié)果的評估和對測試過程中確定的變更請求分析的基礎(chǔ)上?!局R疏理】5.1軟件測試的概述5.1.7軟件測試人員的類型和要求1.軟件測試人員的類型軟件測試過程中,必須要合理地組織人員,一般將軟件測試人員分成三部分:一部分為上機測試人員(測試執(zhí)行者),一部分為測試結(jié)果檢查核對人員,還有一部分是測試數(shù)據(jù)制作人員,這三部分人員應(yīng)該緊密配合、相互協(xié)調(diào),保證軟件測試工作的順利進行?!局R疏理】5.1軟件測試的概述5.1.7軟件測試人員的類型和要求2.軟件測試人員的要求軟件測試已經(jīng)成為了一個獨立的技術(shù)學(xué)科,軟件測試技術(shù)不斷更新和完善,新工具、新流程、新測試方法都在不斷涌現(xiàn),如果沒有合格的測試人員,測試工作是不可能高質(zhì)高效地完成?!局R疏理】5.2測試用例設(shè)計測試用例(TestCase,簡稱為TC)貫穿于整個測試的執(zhí)行過程,一個好的測試用例會使測試工作的效果事半功倍,并且能盡早發(fā)現(xiàn)一些隱藏的缺陷?!局R疏理】5.2測試用例設(shè)計5.2.1測試用例的基本概念測試用例是為某個特定目的而設(shè)計的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果。測試用例=輸入+輸出+測試環(huán)境其中,輸入是指測試數(shù)據(jù)和操作步驟;輸出是指系統(tǒng)的預(yù)期執(zhí)行結(jié)果;測試環(huán)境是指系統(tǒng)環(huán)境配置,包括硬件環(huán)境、軟件環(huán)境和數(shù)據(jù),有時還包括網(wǎng)絡(luò)環(huán)境?!局R疏理】5.2測試用例設(shè)計5.5.2測試用例的主要作用測試用例始終貫穿于整個軟件測試全過程,其作用主要體現(xiàn)在以下幾個方面。(1)指導(dǎo)測試的實施(2)指導(dǎo)測試數(shù)據(jù)的規(guī)劃(3)指導(dǎo)測試腳本的編寫(4)作為評判的基準(5)作為分析缺陷的基準?!局R疏理】5.2測試用例設(shè)計5.5.3測試用例設(shè)計的基本原則設(shè)計測試用例時應(yīng)遵循以下一些基本原則。(1)測試用例的正確性(2)測試用例的代表性(3)測試結(jié)果的可判定性(4)測試結(jié)果的可再現(xiàn)性?!局R疏理】5.2測試用例設(shè)計5.2.4測試用例的編寫標準一個優(yōu)秀的測試用例應(yīng)該包含以下要素。(1)測試用例的編號(2)測試標題(3)測試項(4)測試環(huán)境要求(5)測試的步驟【知識疏理】5.2測試用例設(shè)計5.2.4測試用例的編寫標準(6)測試的預(yù)期結(jié)果(7)測試用例之間的關(guān)聯(lián)(8)測試日期(9)測試用例設(shè)計人員和測試人員(10)測試用例的優(yōu)先級?!局R疏理】5.3黑盒測試5.3.1黑盒測試的基本概念黑盒測試又稱為數(shù)據(jù)驅(qū)動測試或基于規(guī)范的測試。這種方法進行測試時,可以將程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,注重于測試軟件的功能性要求,測試者在程序接口處進行測試,只檢查程序功能是否按照規(guī)格說明書的規(guī)定正常使用,程序是否能接收輸入數(shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持數(shù)據(jù)庫或文件的完整性。因此黑盒測試是從用戶角度的測試,確認測試、系統(tǒng)測試、驗收測試一般都采用黑盒測試。【知識疏理】5.3黑盒測試5.3.1黑盒測試的基本概念1.黑盒測試可以發(fā)現(xiàn)的錯誤類型黑盒測試有兩種結(jié)果,即通過測試和測試失敗。能發(fā)現(xiàn)以下幾類錯誤:(1)功能不能實現(xiàn)或遺漏。(2)界面錯誤。(3)數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤。(4)性能錯誤。(5)初始化和終止錯誤?!局R疏理】5.3.1黑盒測試的基本概念2.黑盒測試對程序功能性測試的要求(1)每個軟件特性必須被一個測試用例或一個被認可的異常所覆蓋。(2)利用數(shù)據(jù)類型和數(shù)據(jù)值的最小集測試。(3)利用一系列真實的數(shù)據(jù)類型和數(shù)據(jù)值運行,測試超負荷及其他“最壞情況”的結(jié)果。(4)利用假想的數(shù)據(jù)類型和數(shù)據(jù)值運行,測試排斥不規(guī)則輸入的能力。(5)測試影響性能的關(guān)鍵模塊,例如基本算法、精度、時間和容量等是否正常。【知識疏理】5.3黑盒測試5.3.1黑盒測試的基本概念3.黑盒測試的優(yōu)缺點黑盒測試具有如下優(yōu)點:(1)有針對性地尋找問題,并且定位問題更準確。(2)黑盒測試可以證明軟件系統(tǒng)是否達到用戶要求的功能,符合用戶的工作要求。(3)能重復(fù)執(zhí)行相同的功用,測試工作中最枯燥的部分可交由機器完成。【知識疏理】5.3黑盒測試5.3.1黑盒測試的基本概念3.黑盒測試的優(yōu)缺點黑盒測試具有如下缺點:(1)需要充分了解軟件系統(tǒng)用到的技術(shù),測試人員需要具有較多經(jīng)驗。(2)在測試過程中很多是手工測試操作。(3)測試人員要負責大量文檔、報表的編制和整理工作。【知識疏理】5.3黑盒測試5.3.1黑盒測試的基本概念4.采用黑盒技術(shù)設(shè)計測試用例的主要方法采用黑盒技術(shù)設(shè)計測試用例的主要方法有以下幾種。(1)等價類劃分法。(2)邊界值分析法。(3)決策表法。(4)因果圖法。(5)功能圖分析法。(6)場景設(shè)計法。(7)錯誤推斷法。(8)正交試驗法?!局R疏理】5.3.2等價類劃分法等價類劃分是一種典型的、常用的黑盒測試方法。1.等價類的劃分等價類可劃分為有效等價類和無效等價類兩種不同的情況。(1)有效等價類有效等價類是指對于程序規(guī)格說明來說,是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。(2)無效等價類無效等價類是指對于程序規(guī)格說明來說,是不合理的、無意義的輸入數(shù)據(jù)構(gòu)成的集合?!局R疏理】5.3黑盒測試5.3.2等價類劃分法2.劃分等價類的方法(1)按區(qū)間劃分如果可能的輸入數(shù)據(jù)屬于一個取值范圍或值的個數(shù)限制范圍,則可以確定1個有效等價類和2個無效等價類。(2)按數(shù)值劃分如果規(guī)格說明規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對每個輸入值分別進行處理。則可為每一個輸入值確立一個有效等價類,并針對這組值確立一個無效等價類,這是所有不允許的輸入的集合?!局R疏理】5.3黑盒測試5.3.2等價類劃分法2.劃分等價類的方法(3)按數(shù)值集合劃分如果規(guī)格說明規(guī)定了輸入值的集合,則可確定1個有效等價類和1個無效等價類。(4)按限制條件劃分在輸入條件是一個布爾量的情況下,可確定一個有效等價類(符合限制條件)和一個無效等價類(不符合限制條件)?!局R疏理】5.3黑盒測試5.3.2等價類劃分法2.劃分等價類的方法(5)按限制規(guī)則劃分在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。(6)按處理方式劃分在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進一步劃分為更小的等價類?!局R疏理】5.3.2等價類劃分法3.等價類劃分測試用例設(shè)計根據(jù)等價類表設(shè)計測試用例的方法如下。(1)劃分等價類,形成等價類表,為每個等價類規(guī)定一個唯一的編號。(2)設(shè)計一個新的測試用例,使它盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直到測試用例覆蓋了所有有效等價類。(3)設(shè)計一個新的測試用例,使它僅覆蓋一個還沒有被覆蓋的無效等價類,重復(fù)這一步,直到測試用例覆蓋了所有的無效等價類?!局R疏理】5.3.3邊界值分析法邊界值分析法是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。在測試過程中,邊界值分析法通過選擇等價類邊界的測試用例進行測試。使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況,通常輸入等價類和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況。應(yīng)當選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù)?!局R疏理】5.3.3邊界值分析法邊界值分析方法選擇測試用例的原則如下所示。(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)該取剛達到這個范圍的邊界值,以及剛剛超過這個范圍邊界的值作為測試輸入數(shù)據(jù)。(2)如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最大個數(shù)多1個,比最小個數(shù)少1個的數(shù)作為測試數(shù)據(jù)。(3)根據(jù)規(guī)格說明的每1個輸出條件,使用前面兩條規(guī)則。(4)如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第1個和最后1個元素作為測試用例。(5)如果程序使用了1個內(nèi)部結(jié)構(gòu),應(yīng)該選取這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界值作為測試用例。(6)分析規(guī)格說明,找出其他可能的邊界條件?!局R疏理】5.3.4決策表法決策表是把作為條件的所有輸入的各種組合值以及對應(yīng)輸出值都羅列出來而形成的表格。決策表通常由條件樁、條件項、動作樁和動作項4個部分組成。構(gòu)造決策表的主要步驟如下所示。(1)列出所有的條件樁和動作樁。(2)分析輸入域,對輸入域進行等價類劃分。(3)分析輸出域,對輸出進行細化,以指導(dǎo)具體的輸出動作。(4)確定規(guī)則的個數(shù),假如有n個條件,每一個條件有兩個取值,則有2n種規(guī)則。(5)填寫條件項和動作項,得到初始決策表。(6)合并相似規(guī)則,簡化決策表,得到最終決策表?!局R疏理】5.4白盒測試5.4.1白盒測試的基本概念白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。【知識疏理】5.4白盒測試5.4.1白盒測試的基本概念“白盒”法是窮舉路徑測試,在使用這一方法時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。白盒測試通??煞譃殪o態(tài)測試和動態(tài)測試兩類方法。白盒測試的測試方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、邏輯覆蓋法、基本路徑測試法、域測試法、符號測試法、數(shù)據(jù)流測試法、Z路徑覆蓋法和程序變異法等?!局R疏理】5.4白盒測試5.4.2代碼檢查法代碼檢查是靜態(tài)測試的主要方法,它包括代碼走查、桌面檢查、流程圖審查等。1.代碼檢查的概念代碼檢查主要檢查代碼和設(shè)計意圖的一致性、代碼結(jié)構(gòu)的合理性、代碼編寫的標準性和可讀性、代碼邏輯表達的正確性等方面?!局R疏理】5.4.2代碼檢查法2.代碼檢查的目的代碼檢查是為達到以下目的:(1)檢查程序是不是按照某種編碼標準或規(guī)范編寫的。(2)檢查代碼是不是符合流程圖要求。(3)發(fā)現(xiàn)程序缺陷和程序產(chǎn)生的錯誤。(4)檢查有沒有遺漏的項目。(5)檢查代碼是否易于移植。(6)使代碼易于閱讀、理解和維護?!局R疏理】5.4白盒測試5.4.2代碼檢查法3.代碼檢查的方式代碼檢查的方式主要有以下3種。(1)桌面檢查(2)走查(3)代碼審查4.代碼檢查項目及原則代碼檢查的主要項目及原則如表5-5所示?!局R疏理】5.4白盒測試5.4.2代碼檢查法5.使用缺陷檢查表列出典型錯誤在進行人工代碼檢查時,可以制作代碼走查缺陷表。在缺陷檢查表中,我們列出工作中遇到的典型錯誤,如表5-6所示。【知識疏理】5.4白盒測試5.4.2代碼檢查法6.靜態(tài)結(jié)構(gòu)分析靜態(tài)結(jié)構(gòu)分析是測試者通過使用測試工具分析程序源代碼的系統(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)系圖等各種圖形和圖表,清晰地標識整個軟件的組成結(jié)構(gòu),通過分析這些圖表(包括控制流分析、數(shù)據(jù)流分析、接口分析、表達式分析),檢查軟件是否存在缺陷或錯誤?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法從覆蓋源代碼的不同程度可以分為以下6個標準:語句覆蓋(StatementCoverage,SC)、判定覆蓋(DecisionCoverage,DC,又稱為分支覆蓋)、條件覆蓋(ConditionCoverage,CC)、判定/條件覆蓋(Decision/ConditionCoverage,D/CC,又稱為分支/條件覆蓋)、條件組合覆蓋(ConditionCombinationCoverage,CCC)和路徑覆蓋(PathCoverage,PC)。【知識疏理】5.4.3邏輯覆蓋法首先對表5-7所示的方法logicExample()的代碼進行分析?!局R疏理】5.4.3邏輯覆蓋法根據(jù)源代碼畫出流程圖。方法logicExample()的流程圖如圖5-1所示。圖5-1方法logicExample()的流程圖【知識疏理】5.4白盒測試5.4.3邏輯覆蓋法1.語句覆蓋(1)基本概念設(shè)計足夠多的測試用例,使得被測試程序中的每條可執(zhí)行語句至少被執(zhí)行一次。在本例中,可執(zhí)行語句是指語句塊1、語句塊2、語句塊3、語句塊4中的語句?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法1.語句覆蓋(2)設(shè)計測試用例語句覆蓋的測試用例如表5-8所示。【知識疏理】5.4白盒測試5.4.3邏輯覆蓋法1.語句覆蓋(2)設(shè)計測試用例{x=3,y=3}可以執(zhí)行到語句塊1和語句塊4,所走的路徑:a-b-e-f。{x=-3,y=0}可以執(zhí)行到語句塊2、語句塊3和語句塊4,所走的路徑:a-c-d-f。在六種邏輯覆蓋標準中,語句覆蓋標準是最弱的。【知識疏理】5.4白盒測試5.4.3邏輯覆蓋法2.判定覆蓋(分支覆蓋)(1)基本概念設(shè)計足夠多的測試用例,使得被測試程序中的每個判斷的“真”、“假”分支至少被執(zhí)行一次。在本例中共有兩個判斷if(x>0&&y>0)(記為P1)和if(magic<0)(記為P2)?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法2.判定覆蓋(分支覆蓋)(2)設(shè)計測試用例判定覆蓋的測試用例如表5-9所示?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法2.判定覆蓋(分支覆蓋)(2)設(shè)計測試用例判斷條件的取真和取假分支都已經(jīng)被執(zhí)行過,所以滿足了判定覆蓋的標準。判定覆蓋比語句覆蓋更強。【知識疏理】5.4白盒測試5.4.3邏輯覆蓋法3.條件覆蓋(1)基本概念設(shè)計足夠多的測試用例,使得被測試程序中的每個判斷語句中的每個邏輯條件的可能值至少被滿足一次。在本例中有兩個判斷if(x>0&&y>0)(記為P1)和if(magic<0)(記為P2),共計三個條件x>0(記為C1)、y>0(記為C2)和magic<0(記為C3)?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法3.條件覆蓋(2)設(shè)計測試用例條件覆蓋的測試用例如表5-10所示?!局R疏理】5.4.3邏輯覆蓋法3.條件覆蓋(2)設(shè)計測試用例三個條件的各種可能取值都滿足了一次,因此,達到了100%條件覆蓋的標準。條件覆蓋的第2組測試用例如表5-11所示。【知識疏理】5.4.3邏輯覆蓋法3.條件覆蓋(2)設(shè)計測試用例既然條件覆蓋標準不能100%達到判定覆蓋的標準,也就不一定能夠達到100%的語句覆蓋標準了。【知識疏理】5.4白盒測試5.4.3邏輯覆蓋法4.判定/條件覆蓋(分支/條件覆蓋)(1)基本概念設(shè)計足夠多的測試用例,使得被測試程序中的每個判斷本身的判定結(jié)果(真假)至少滿足一次,同時,每個邏輯條件的可能值也至少被滿足一次。即同時滿足100%判定覆蓋和100%條件覆蓋的標準?!局R疏理】5.4.3邏輯覆蓋法4.判定/條件覆蓋(分支/條件覆蓋)(2)設(shè)計測試用例判定/條件覆蓋的測試用例如表5-12所示。所有條件的可能取值都滿足了一次,而且所有的判斷本身的判定結(jié)果也都滿足了一次。達到100%判定-條件覆蓋標準一定能夠達到100%條件覆蓋、100%判定覆蓋和100%語句覆蓋?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法5.條件組合覆蓋(1)基本概念設(shè)計足夠多的測試用例,使得被測試程序中的每個判斷的所有可能條件取值的組合至少被滿足一次。(2)設(shè)計測試用例條件組合覆蓋的測試用例如表5-13所示?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法5.條件組合覆蓋C1和C2處于同一判斷語句中,它們的所有取值的組合都被滿足了一次。100%滿足條件組合標準一定滿足100%條件覆蓋標準和100%判定覆蓋標準。【知識疏理】5.4白盒測試5.4.3邏輯覆蓋法6.路徑覆蓋(1)基本概念設(shè)計足夠多的測試用例,使得被測試程序中的每條路徑至少被覆蓋一次。(2)設(shè)計測試用例路徑覆蓋的測試用例如表5-14所示?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法6.路徑覆蓋所有可能的路徑都滿足過一次。由上表可見,100%滿足路徑覆蓋,但并不一定能100%滿足條件覆蓋(C2只取到了真),但一定能100%滿足判定覆蓋標準?!局R疏理】5.4白盒測試5.4.3邏輯覆蓋法7.六種邏輯覆蓋的強弱關(guān)系一般都認為這6種邏輯覆蓋從弱到強的排列順序是:語句覆蓋->判定覆蓋->條件覆蓋->判定/條件覆蓋->條件組合覆蓋->路徑覆蓋?!局R疏理】5.4白盒測試5.4.4基本路徑測試法1.基本概念基本路徑測試法在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計測試用例的方法。設(shè)計出的測試用例要保證在測試中程序的每個可執(zhí)行語句至少執(zhí)行一次?!局R疏理】5.4白盒測試5.4.4基本路徑測試法1.基本概念基本路徑測試法包括以下4個步驟和1個工具方法。(1)繪制程序控制流圖,程序控制流圖是描述程序控制流的一種圖示方法。(2)計算程序的環(huán)路復(fù)雜度,即McCabe復(fù)雜性度量。(3)確定獨立路徑。
(4)設(shè)計測試用例?!局R疏理】5.4白盒測試5.4.4基本路徑測試法2.基本路徑測試法的實現(xiàn)步驟例如,對于表5-15所示的方法NumCalc(),用基本路徑測試法進行測試?!局R疏理】5.4白盒測試5.4.4基本路徑測試法例如,對于表5-15所示的方法NumCalc(),用基本路徑測試法進行測試。2.基本路徑測試法的實現(xiàn)步驟【知識疏理】5.4白盒測試5.4.4基本路徑測試法2.基本路徑測試法的實現(xiàn)步驟第一步:繪制程序流程圖控制流圖方法NumCalc()的程序流程圖和對應(yīng)的控制流圖如圖5-6所示。第二步:計算環(huán)路復(fù)雜度環(huán)路復(fù)雜度(也稱為圈復(fù)雜度)是一種為程序邏輯復(fù)雜性提供定量測度的軟件度量,將該度量用于計算程序基本的獨立路徑數(shù)目,這是確保所有語句至少執(zhí)行一次的測試數(shù)量的上界?!局R疏理】5.4白盒測試5.4.4基本路徑測試法下面,以圖5-7為例討論環(huán)路復(fù)雜度的計算方法。有以下三種方法計算環(huán)路復(fù)雜度:(1)觀察法控制流圖中區(qū)域的數(shù)量對應(yīng)于環(huán)型的復(fù)雜性,環(huán)路復(fù)雜度=總的區(qū)域數(shù)=控制流圖中封閉區(qū)域數(shù)量+1個開放區(qū)域。圖5-7中有3個封閉區(qū)域,分別為Ⅰ、Ⅱ、Ⅲ,Ⅳ為開放區(qū)域,因此環(huán)路復(fù)雜度為4。【知識疏理】5.4白盒測試5.4.4基本路徑測試法下面,以圖5-7為例討論環(huán)路復(fù)雜度的計算方法。有以下三種方法計算環(huán)路復(fù)雜度:(2)公式法控制流圖G的環(huán)路復(fù)雜度V(G)的計算公式為:V(G)=e-n+2其中,e表示控制流圖中邊的數(shù)量,n表示控制流圖中結(jié)點的數(shù)量。圖5-7中有10條邊、8個結(jié)點,所以環(huán)路復(fù)雜度V(G)=10-8+2=4?!局R疏理】5.4.4基本路徑測試法(3)判定結(jié)點法利用程序代碼中獨立判定結(jié)點的數(shù)量來計算環(huán)路復(fù)雜度。控制流圖G的環(huán)路復(fù)雜度V(G)的計算公式為:V(G)=P+1其中P表示控制流圖G中判定結(jié)點的數(shù)量。圖5-7中有3個判定結(jié)點,分別為④、⑥、⑧,所以環(huán)路復(fù)雜度V(G)=3+1=4。環(huán)路復(fù)雜度“4”是構(gòu)成基本路徑集的獨立路徑數(shù)的上界,可以據(jù)此得到應(yīng)該設(shè)計的測試用例的數(shù)目?!局R疏理】5.4.4基本路徑測試法第三步:確定獨立路徑根據(jù)上面的計算方法,可得出4個獨立路徑,所謂獨立路徑,是指和其他的獨立路徑相比,至少引入一個新處理語句或一個新判斷的程序通路。V(G的)值正好等于該程序的獨立路徑的條數(shù)?!局R疏理】5.4.4基本路徑測試法第三步:確定獨立路徑圖5-7中的4條獨立路徑如下所示。路徑1:4→14路徑2:4→6→7→14路徑3:4→6→8→10→13→4→14路徑4:4→6→8→11→13→4→14根據(jù)上面的獨立路徑,去設(shè)計輸入數(shù)據(jù),使程序分別執(zhí)行到上面四條路徑?!局R疏理】5.4.4基本路徑測試法第四步:設(shè)計測試用例為了確保基本路徑集中的每一條路徑的執(zhí)行,根據(jù)判斷結(jié)點給出的條件,選擇適當?shù)臄?shù)據(jù)以保證某一條路徑可以被測試到,滿足上面例子基本路徑集的測試用例如表5-16所示?!局R疏理】5.4.4基本路徑測試法第四步:設(shè)計測試用例每個測試用例執(zhí)行之后,與預(yù)期結(jié)果進行比較,如果所有測試用例都執(zhí)行完畢,則可以確信程序中所有的可執(zhí)行語句至少被執(zhí)行了一次?!局R疏理】5.4白盒測試5.4.4基本路徑測試法3.基本路徑測試法的圖形矩陣工具為了使導(dǎo)出控制流圖和決定基本測試路徑的過程均自動化實現(xiàn),可以開發(fā)一個輔助基本路徑測試的方法工具,稱為圖形矩陣(graphmatrix)。利用圖形矩陣可以實現(xiàn)自動地確定一個基本路徑集。一個圖形矩陣是一個方陣,其行/列數(shù)對應(yīng)程序控制流圖中的結(jié)點數(shù),每行和每列依次對應(yīng)到一個被標識的結(jié)點,矩陣元素對應(yīng)到結(jié)點間的連接(即邊)?!局R疏理】5.4白盒測試5.4.4基本路徑測試法5.4.5循環(huán)語句測試循環(huán)語句測試是一種白盒測試技術(shù),它總是與邊界值測試密切相關(guān)??梢园蜒h(huán)語句分為以下4種:簡單循環(huán)、串接循環(huán)、嵌套循環(huán)和不規(guī)則循環(huán),如圖5-9所示。圖5-9常見循環(huán)類型【方法指導(dǎo)】5.5集成測試1.集成測試的基本概念集成測試又稱為組裝測試或聯(lián)合測試,是介于單元測試和系統(tǒng)測試之間,將所有經(jīng)過單元測試的軟件構(gòu)成單位按照設(shè)計要求組裝成子系統(tǒng)或系統(tǒng),然后進行測試的活動?!痉椒ㄖ笇?dǎo)】5.5集成測試2.集成測試的主要關(guān)注內(nèi)容集成測試關(guān)注的是軟件單元間的接口,接口之間的數(shù)據(jù)傳遞關(guān)系以及單元組合后是否實現(xiàn)預(yù)計的功能,具體包括以下幾個方面。(1)在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失。(2)一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響?!痉椒ㄖ笇?dǎo)】5.5集成測試2.集成測試的主要關(guān)注內(nèi)容(3)各個子功能組合起來,能否達到預(yù)期要求的父功能。(4)全局數(shù)據(jù)結(jié)構(gòu)是否存在問題。(5)單個模塊的誤差累積起來,是否會放大,以至于達到不能接受的程度。【方法指導(dǎo)】5.5集成測試3.系統(tǒng)集成的主要策略集成策略是在對測試對象分析的基礎(chǔ)上,描述軟件單元集成(組裝)的方式和方法。集成策略是集成測試過程中各種活動的基礎(chǔ),其后的各項活動都是以集成策略為依據(jù)。集成策略有多種,本單元主要介紹基于功能分解的集成和基于MM路徑的集成兩種策略?!痉椒ㄖ笇?dǎo)】5.5集成測試4.集成測試的主要過程集成測試的主要依據(jù)是《軟件需求規(guī)格說明書》、《軟件設(shè)計說明書》和源代碼等。集成測試過程是一系列相互關(guān)聯(lián)的受控活動組成,主要包括集成測試計劃、集成測試設(shè)計、集成測試實現(xiàn)、集成測試執(zhí)行和集成測試執(zhí)行5個階段,當然也包含集成回歸測試活動?!痉椒ㄖ笇?dǎo)】5.5集成測試5.集成測試執(zhí)行和報告在集成測試執(zhí)行階段,集成測試人員將搭建測試環(huán)境,運行測試用例,查看實際運行結(jié)果并判斷該結(jié)果是否與預(yù)期結(jié)果相吻合,以確定被測對象中是否存在缺陷?!痉椒ㄖ笇?dǎo)】5.6系統(tǒng)測試1.系統(tǒng)測試的基本概念系統(tǒng)測試是將已經(jīng)集成好的軟件系統(tǒng),作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、某些支持軟件、數(shù)據(jù)庫和人員等其他系統(tǒng)元素結(jié)合在一起,在實際運用或使用環(huán)境中,對計算機系統(tǒng)進行一系列的組裝測試和確認測試?!痉椒ㄖ笇?dǎo)】5.6系統(tǒng)測試2.系統(tǒng)測試的承擔人員開發(fā)人員在系統(tǒng)測試階段的主要職責是參與系統(tǒng)測試計劃和方案的評審、跟蹤解決測試人員發(fā)現(xiàn)的缺陷、評審系統(tǒng)測試報告。測試人員在系統(tǒng)測試階段的主要職責包括制定系統(tǒng)測試計劃和方案并組織評審、按照系統(tǒng)測試方案實現(xiàn)測試用例和測試代碼、選用所需的測試工具、編寫測試規(guī)程、執(zhí)行系統(tǒng)測試用例、提交并跟蹤缺陷、完成系統(tǒng)測試報告并組織評審、輸出測試案例和總結(jié)等文檔。另外系統(tǒng)測試過程中還可能涉及到系統(tǒng)分析人員、配置管理人員和質(zhì)量保證人員等?!痉椒ㄖ笇?dǎo)】5.6系統(tǒng)測試3.系統(tǒng)測試的主要過程系統(tǒng)測試過程通常包括系統(tǒng)測試計劃、系統(tǒng)測試設(shè)計、系統(tǒng)測試實現(xiàn)、系統(tǒng)預(yù)測試、系統(tǒng)測試執(zhí)行、回歸測試和系統(tǒng)測試報告等活動。在系統(tǒng)執(zhí)行期間可包含多輪回歸測試。4.系統(tǒng)測試的入口準則和出口準則系統(tǒng)測試的入口準則是可以開始進行系統(tǒng)測試的前提條件,通常描述為當某些活動完成并達到指定的質(zhì)量標準?!痉椒ㄖ笇?dǎo)】5.6系統(tǒng)測試3.系統(tǒng)測試的主要過程常用的入口準則包括:(1)集成測試結(jié)束報告已提交并通過批準。(2)集成測試后的代碼完成基線。(3)系統(tǒng)預(yù)測試項全部通過。(4)系統(tǒng)測試計劃和用例開發(fā)完成并通過評審。④系統(tǒng)測試報告提交,通過評審并獲得批準?!痉椒ㄖ笇?dǎo)】5.6系統(tǒng)測試3.系統(tǒng)測試的主要過程系統(tǒng)測試的出口準則是指系統(tǒng)測試可以結(jié)束的標準,常用的出口準則包括:①達到100%的功能覆蓋。②缺陷呈收斂狀態(tài)。③缺陷修改完成并通過回歸測試。④系統(tǒng)測試報告提交,通過評審并獲得批準?!痉椒ㄖ笇?dǎo)】5.7驗收測試5.7.1驗收測試概述1.驗收測試的基本概述驗收測試(AcceptanceTesting)又稱為接受測試,是在系統(tǒng)測試后期,以用戶測試為主,或有質(zhì)量保證人員共同參與的測試?!痉椒ㄖ笇?dǎo)】5.7驗收測試5.7.1驗收測試概述2.驗收測試的總體思路用戶驗收測試是軟件開發(fā)結(jié)束后,用戶對軟件產(chǎn)品投入實際應(yīng)用以前進行的最后一次質(zhì)量檢驗活動。它要回答開發(fā)的軟件產(chǎn)品是否符合預(yù)期的各項要求,以及用戶能否接受的問題?!痉椒ㄖ笇?dǎo)】5.7驗收測試5.7.2驗收測試的常用策略實施驗收測試的常用策略有三種:正式驗收測試、非正式驗收測試或Alpha(α)測試、Beta(β)測試,驗收測試時選擇的策略通常建立在合同需求、組織和公司標準以及應(yīng)用領(lǐng)域的基礎(chǔ)上?!痉椒ㄖ笇?dǎo)】5.7驗收測試5.7.3驗收測試的測試流程驗收測試的測試步驟和主要測試活動如下所示。(1)軟件需求分析。(2)編制《測試計劃》和《項目驗收準則》。(3)測試設(shè)計和測試用例設(shè)計。(4)測試環(huán)境搭建。(5)測試實施。(6)測試結(jié)果分析。(7)測試報告?!痉椒ㄖ笇?dǎo)】5.7驗收測試5.7.4驗收測試的測試內(nèi)容驗收測試通常可以包括:安裝(升級)、啟動與關(guān)機、功能測試(正例、重要算法、邊界、時序、反例、錯誤處理)、性能測試(正常的負載、容量變化)、壓力測試(臨界的負載、容量變化)、配置測試、平臺測試、安全性測試、恢復(fù)測試(在出現(xiàn)掉電、硬件故障或切換、網(wǎng)絡(luò)故障等情況時,系統(tǒng)是否能夠正常運行)、可靠性測試等?!灸0孱A(yù)覽】5.8軟件項目的綜合測試與驗收階段的主要文檔軟件項目的綜合測試與驗收階段的主要文檔包括《測試用例標準》、《測試計劃》、《系統(tǒng)測試報告》等。5.8.1測試用例標準模板表5-17是ANSI/IEEE829標準中給出的測試用例編寫的表格形式,編寫測試用例時可以參考。5.8.2測試計劃模板測試計劃描述了要進行的測試活動的范圍、方法、資源和進度的文檔。它確定測試項、被測特性、測試任
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《知識產(chǎn)權(quán)常識》課件
- 2024年標準個人財產(chǎn)抵押借款協(xié)議范本版B版
- 2024年版餐飲業(yè)租賃協(xié)議標準模板版B版
- 2024年度物流配送與新能源充電服務(wù)承包合同3篇
- 2025關(guān)于揚州市的勞動合同范本
- 2025短期借款合同2
- 2024年木工職業(yè)培訓(xùn)與就業(yè)服務(wù)合同范本3篇
- 2024年標準型塑料產(chǎn)品購銷協(xié)議樣本版B版
- 2024年度智能停車場租賃及管理服務(wù)合同模板3篇
- 2024年開業(yè)慶典禮儀模特服務(wù)合同
- 數(shù)獨-九宮格學(xué)習(xí)資料課件
- 市場調(diào)研員工作流程圖
- 生態(tài)毒理學(xué)-山西大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 區(qū)?;愤\輸車輛停車場專項應(yīng)急預(yù)案
- 動畫分鏡頭腳本文檔模板
- 大事記編寫規(guī)范
- 當代大學(xué)生國家安全教育學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- 外立面泛光照明施工方案
- 住院患者非計劃拔管危險因素評估量表
- 斯坦福大學(xué)人生設(shè)計課
- 人教版PEP英語四年級上冊全冊雙減同步分層作業(yè)設(shè)計含答案
評論
0/150
提交評論