《軟件測試基礎》課件-第4章_第1頁
《軟件測試基礎》課件-第4章_第2頁
《軟件測試基礎》課件-第4章_第3頁
《軟件測試基礎》課件-第4章_第4頁
《軟件測試基礎》課件-第4章_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第4章黑盒測試

4.1概述4.2等價類劃分法4.3邊界值分析法4.4決策表法4.5因果圖法4.6場景法4.7思考與習題

4.1概述

黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看做一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結構和內(nèi)部特性的情況下,對程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。

黑盒測試著眼于程序外部結構,不考慮內(nèi)部邏輯結構,主要針對軟件界面和軟件功能進行測試。

【例4-1】

任意輸入三角形的三邊,判斷三角形類型。

如圖4.1所示,輸入三角形的三條邊a、b、c,設計測試用例數(shù)量。假設在字長為16位的計算機上運行,則每個整數(shù)可能的取值為216種,那么a、b、c三條邊的各種可能取值的排列組合就有216×216×216≈3×1014種,執(zhí)行完所有的測試大約需要執(zhí)行3×1014次,也就是說,大約需要執(zhí)行3×1014次才能做到“窮盡”測試。假設執(zhí)行1次需耗時1ms,則執(zhí)行完所有的測試數(shù)據(jù)就需1萬年。圖4.1三角形三邊取值情況的測試用例

4.2等?價?類?劃?分?法

等價類劃分為兩種情況:有效等價類和無效等價類。

(1)有效等價類:對于程序的規(guī)格說明來說是有意義的、合理的輸入數(shù)據(jù)構成的集合,利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。

(2)無效等價類:與有效等價類相反,無效等價類是指對程序的規(guī)格說明無意義的、不合理的輸入數(shù)據(jù)構成的集合。4.2.1劃分原則

按照如下幾條規(guī)則對等價類進行劃分:

(1)如果規(guī)定了輸入值的范圍,可定義一個有效等價類和兩個無效等價類。

(2)當規(guī)定了輸入的規(guī)則時,則可以劃分出一個有效的等價類(符合規(guī)則)和若干無效的等價類(從不同角度違反規(guī)則)。

(3)如規(guī)定了輸入數(shù)據(jù)的一組值,且程序對不同輸入值做不同處理,則每個允許的輸入值是一個有效等價類,并有一個無效等價類(所有不允許的輸入值的集合)。

(4)如規(guī)定了輸入數(shù)據(jù)是整型,則可劃分出正整數(shù)、零、負整數(shù)三個有效等價類。

(5)當處理表格時,有效類可分為空表、含一項的表、含多項的表等。4.2.2設計測試用例的步驟

采用等價類設計測試用例一般經(jīng)歷如下幾下步驟:

(1)形成等價類表,每一等價類規(guī)定一個唯一的編號;

(2)設計一測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類,重復這一步驟,直到所有有效等價類均被測試用例所覆蓋;

(3)設計一新測試用例,使其只覆蓋一個無效等價類,重復這一步驟直到所有無效等價類均被覆蓋(通常程序執(zhí)行一個錯誤后不繼續(xù)檢測其它錯誤,故每次只測試一個無效類)。

【例4-2】

任意輸入3個整數(shù)作為三角形的3條邊的長度,判斷三角形的類型。

【解答】

采用等價類劃分法設計的測試用例如表4.1所示。

4.3邊界值分析法

4.3.1設計原則

使用邊界值分析法設計測試用例,應確定輸入和輸出等價類的邊界,應當選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù)。

邊界值分析方法具有如下原則:

(1)如果輸入條件規(guī)定了值的范圍,則應選取剛達到范圍的邊界值,以及剛剛超越邊界的值作為測試輸入數(shù)據(jù)。

例如,輸入變量為X1、X2,取值范圍是a≤X1≤b,c≤X2≤b,邊界分析圖如圖4.2所示。圖4.2兩變量函數(shù)邊界分析測試用例

(2)如果輸入條件規(guī)定了值的個數(shù),則用略低于最小值(Min-)、最小值(Min)、略高于最小值(Min+)、正常值(Normal)、略低于最大值(Max-)、最大值(Max)、略高于最大值(Max+)等值作為測試數(shù)據(jù)。

(3)如果程序規(guī)格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例。4.3.2應用舉例

【例4-3】

某報表處理系統(tǒng)要求用戶輸入處理報表的日期,日期限制在2003年1月至2008年12月,即系統(tǒng)只能對該期間內(nèi)的報表進行處理,如日期不在此范圍內(nèi),則顯示輸入錯誤信息。

【解答】采用邊界值分析法設計的測試用例如表4.2所示。

4.4決策表法

決策表由四個部分組成,如圖4.3所示。

(1)條件樁:列出了問題的所有條件,通常認為列出的條件次序無關緊要。

(2)動作樁:列出了問題規(guī)定可能采取的操作,這些操作的排列順序沒有約束。

(3)條件項:列出了針對其它條件樁的取值,在所有可能情況下的真假值。圖4.3決策表的組成

(4)動作項:列出了在條件項的各種取值的有機關聯(lián)情況下應該采取的動作。

規(guī)則:任何條件組合的特定取值及其相應要執(zhí)行的操作。在決策表中貫穿條件項和動作項的列就是規(guī)則。顯然,決策表中列出多少條件取值,就有多少規(guī)則,條件項和動作項就有多少列。

所有條件都是邏輯結果(即真/假、是/否、0/1)的決策表稱為有限條件決策表。如果條件有多個值,則對應的決策表叫做擴展條目決策表。使用決策表設計測試用例時,條件解釋為輸入,動作解釋為輸出。決策表適合以下特征的應用程序:

(1)?if-then-else分支邏輯突出;

(2)輸入變量之間存在邏輯關系;

(3)涉及輸入變量子集的計算;

(4)輸入和輸出之間存在因果關系;

(5)很高的圈復雜度。

決策表中具有n個條件的有限條目決策表有2n個規(guī)則,可通過如下方法減少規(guī)則數(shù)目,如使用擴展條目決策表、代數(shù)簡化表、查找條件條目的重復模式等。

如表4.3所示,打印機工作用決策表右上部分的“Y”表示它左邊條件成立,“F”表示條件不成立,空白表示這個條件成立與否并不影響動作的選擇。決策表右下部分中畫“√”表示做它左邊的相應動作,空白表示不做這項動作。4.4.1應用舉例

使用判定表設計測試用例的具體步驟如下:

(1)確定規(guī)則的個數(shù)。假如有n個條件,每個條件有兩個取值(0,1),則有2n種規(guī)則。

(2)列出所有的條件樁和動作樁。

(3)填入條件項。

(4)填入動作項。

(5)簡化,合并相似規(guī)則(相同動作)。

【例4-4】

某國有企業(yè)改革重組,對職工重新分配工作的政策是:年齡在20歲以下者,初中文化程度脫產(chǎn)學習,高中文化程度當電工;年齡在20歲到40歲之間者,中學文化程度男性當鉗工,女性當車工,大學文化程度都當技術員;年齡在40歲以上者,中學文化程度當材料員,大學文化程序當技術員。請用決策表描述上述問題的加工邏輯。

【解答】

條件取值表如表4.4所示。決策表如表4.5所示。4.4.2優(yōu)點和缺點

決策表把復雜問題的各種可能情況一一列出,易于理解。但是,決策表不能表達重復執(zhí)行動作的缺點。B.Beizer指出使用判定表設計測試用例的條件如下:

(1)規(guī)格說明以判定表形式給出,或很容易轉換成判定表。

(2)條件的排列順序不會也不影響執(zhí)行哪些操作。

(3)規(guī)則的排列順序不會也不影響執(zhí)行哪些操作。

(4)每當某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則。

(5)如果某一規(guī)則得到滿足要執(zhí)行多個操作,這些操作的執(zhí)行順序無關緊要。

這5個必要條件使得操作的執(zhí)行完全依賴于條件的組合,對于不滿足條件的判定表,可增加其它的測試用例。

4.5因果圖法

等價類劃分法和邊界值分析法只是孤立地考慮各個輸入數(shù)據(jù)的測試效果,沒有考慮輸入數(shù)據(jù)的組合及其相互制約關系。這樣雖然各種輸入條件可能出錯的情況已經(jīng)測試到了,但多個輸入條件組合起來可能出錯的情況卻被忽視了。如果在測試時必須考慮輸入條件的各種組合,則可能的組合數(shù)目將是天文數(shù)字,因此必須考慮采用一種適合于描述多種條件的組合、相應產(chǎn)生多個動作的形式來進行測試用例的設計,這就需要利用因果圖(邏輯模型)。因果圖利用圖解法分析輸入的各種組合情況,適合描述多種輸入條件的組合、相應產(chǎn)生多個動作的方法。因果圖法具有如下優(yōu)點:

(1)考慮多個輸入之間的相互組合、相互制約關系。

(2)指導測試用例的選擇,指出需求規(guī)格說明描述中存在的問題。

(3)能夠幫助測試人員按照一定的步驟,高效率地開發(fā)測試用例。

(4)因果圖法是將自然語言規(guī)格說明轉化成形式語言規(guī)格說明的一種嚴格的方法,可以指出規(guī)格說明存在的不完整性和二義性。4.5.1基本術語

下面介紹因果圖的基本圖形符號。

1)原因—結果圖

原因—結果圖使用了簡單的邏輯符號,以直線連接左右結點。左結點表示輸入狀態(tài)(原因),右結點表示輸出狀態(tài)(結果)。圖4.4表示規(guī)格說明中的4種因果關系,其中ci表示原因,通常置于圖的左部;ei表示結果,通常位于圖的右部。ci和ei均可取值0或1(0表示某狀態(tài)不出現(xiàn),1表示某狀態(tài)出現(xiàn))。圖4.4原因—結果圖

2)約束圖

輸入/輸出狀態(tài)相互之間存在的某些依賴關系,稱為約束。例如,某些輸入條件不可能同時出現(xiàn)等,如圖4.5所示。圖4.5約束圖

(1)?E約束(Exclusive,異):a和b中至多有一個可能為1,即a和b不能同時為1。

(2)?I約束(Inclusive,或):a、b和c中至少有一個是1,即a、b和c不能同時為0。

(3)?O約束(OneandOnly,唯一):a和b中必須有一個且僅有一個為1。

(4)?R約束(Require,要求):a是1時,結果b是1。

(5)?M約束(Masks,強制):a是1時,結果b是0。

因果圖法設計測試用例的步驟如圖4.6所示。圖4.6因果圖法生成測試用例的步驟示意圖4.5.2應用舉例

【例4-5】

軟件需求規(guī)格說明如下:第一列字符必須是A或B,第二列字符必須是一個數(shù)字,在此情況下進行文件的修改。但如果第一列字符不正確,則給出信息L;如果第二列字符不是數(shù)字,則給出信息M。

【解答】

采用因果圖方法,具體步驟如下:

步驟1:分析程序規(guī)格說明書,識別哪些是原因,哪些是結果,原因往往是輸入條件或者輸入條件的等價類,而結果常常是輸出條件。如下:原因:

1—第一列字符是A;

2—第一列字符是B;

3—第二列字符是一數(shù)字。

結果:

21—修改文件;

22—給出信息L;

23—給出信息M。

步驟2:根據(jù)原因和結果產(chǎn)生因果圖,如圖4.7所示。

步驟3:狀態(tài)1和狀態(tài)2不能同時為1,輸入3個狀態(tài)只有6種取值,如表4.6所示。圖4.7【例4-5】因果圖

4.6場景法

4.6.1基本流和備選流

場景法的描述如圖4.8所示,圖中經(jīng)過用例的每條路徑都用基本流和備選流來表示。直黑線表示基本流,是經(jīng)過用例的最簡單的路徑。備選流用不同的顏色表示,一個備選流可能從基本流開始,在某個特定條件下執(zhí)行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個備選流(如備選流2),或者終止用例而不再重新加入到某個流(如備選流2和4)中。圖4.8基本流和備選流4.6.2應用舉例

【例4-6】

采用場景法設計ATM系統(tǒng)的測試用例。

【解答】

1)例子描述

圖4.9是ATM系統(tǒng)的流程示意圖。

2)場景設計

圖4.9所示ATM系統(tǒng)中的基本流和某些備選流如表4.7所示。圖4.9ATM流程示意圖

3)用例設計

對于這7個場景中的每一個場景都需要確定測試用例,一般采用矩陣或決策表來確定和管理測試用例?!纠?-6】中的測試用例包含測試用例ID、場景/條件、測試用例中涉及的所有數(shù)據(jù)元素和預期結果等項目。首先確定執(zhí)行用例場景所需的數(shù)據(jù)元素,然后構建矩陣,最后要確定包含執(zhí)行場景所需的適當條件的測試用例。表4.9中的“行”代表各個測試用例;“列”代表測試用例的信息;V表示這個條件必須是有效的才可執(zhí)行基本流;I表示這種條件下將激活所需備選流;n/a表示這個條件不適用于測試用例。每個場景只有一個正面測試用例和負面測試用例是不充分的,場景4正是這樣的一個示例。要全面地測試場景4(PIN有誤),至少需要三個正面測試用例,以激活場景4。

(1)輸入了錯誤的PIN,但仍存在輸入機會,此備選流重新加入基本流中的步驟3(輸入PIN)。

(2)輸入了錯誤的PIN,而且不再有輸入機會,則此備選流將保留銀行卡并終止用例。

(3)最后一次輸入了“正確”的PIN。備選流在步驟5(輸入金額處)重新加入基本流。

4)數(shù)據(jù)設計

一旦確定了所有的測試用例,則應對這些用例進行復審和驗證以確保其準確且適度,并取消多余或等效的測試用例,如表4.10所示。

4.7思?考?與?習?題

一、選擇題

1.黑盒測試是通過軟件的外部表現(xiàn)來發(fā)現(xiàn)軟件缺陷和錯誤的測試方法,具體地說,黑盒測試用例設計技術包括()等。

A.等價類劃分法、因果圖法、邊界值分析法、錯誤推測法、判定表驅動法

B.等價類劃分法、因果圖法、邊界值分析法、正交試驗法、符號法

C.等價類劃分法、因果圖法、邊界值分析法、功能圖法、基本路徑法

D.等價類劃分法、因果圖法、邊界值分析法、靜態(tài)質量度量法、場景法

2.常用的黑盒測試方法有邊界值分析、等價類劃分、錯誤推測、因果圖等。其中()經(jīng)常與其它方法結合起來使用。軟件測試的步驟主要有單元測試、集成測試和確認測試。

A.邊界值分析 B.等價類劃分

C.錯誤推測 D.因果圖

3.等價類劃分完成后,就可得出(),它是確定測試用例的基礎。

A.有效等價類

B.無效等價

C.等價類表 D.測試用例集

4.在設計測試用例時,()是用得最多的一種黑盒測試方法。

A.等價類劃分

B.邊界值分析

C.因果圖

D.功能圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論