07黑盒測試—邊界值_第1頁
07黑盒測試—邊界值_第2頁
07黑盒測試—邊界值_第3頁
07黑盒測試—邊界值_第4頁
07黑盒測試—邊界值_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、復旦大學 成都東軟學院 軟 件 測 試 基 礎(chǔ) 軟工團隊軟工團隊 唐遠濤唐遠濤 Tel:Email: Office: Floor 2, Building C7 NEUSOFTNEUSOFT 2 1. 黑盒測試技術(shù) 常用的黑盒測試技術(shù)有: 1.1 等價類劃分法 1.2 邊界值分析法 1.3 錯誤推測法 1.4 因果圖和決策表 1.5 場景法 1.6 功能圖法 1.7判定表驅(qū)動法 1.8正交試驗設(shè)計法 NEUSOFTNEUSOFT 3 1.2 邊界值分析法 (Boundary Value Analysis,BVA) 長期的測試工作經(jīng)驗告訴我們,大量的錯 誤是發(fā)生在輸入或輸

2、出范圍的邊界上,而 不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針 對各種邊界情況設(shè)計測試用例,可以查出 更多的錯誤。 美國陸軍對其軟件進行了研究,令人吃驚 地發(fā)現(xiàn),大量缺陷都是邊界值缺陷。 NEUSOFTNEUSOFT 4 定義: 邊界值分析法就是對輸入或輸出的邊界值進行測 試的一種黑盒測試方法。通常邊界值分析法是作 為對等價類劃分法的補充,這種情況下,其測試 用例來自等價類的邊界。 BVA不是選擇等價類的任何元素,而是選擇等 價類邊界的測試用例 BVA不僅注重于輸入條件,而且也從輸出域?qū)?出測試用例。 NEUSOFTNEUSOFT 5 使用邊界值分析方法設(shè)計測試用例 首先應(yīng)確定邊界情況 通常輸入和輸

3、出等價類的邊界,就是應(yīng)著重測試的 邊界情況。 應(yīng)當選取正好等于,剛剛大于或剛剛小于邊界 的值作為測試數(shù)據(jù),而不是選取等價類中的典 型值或任意值作為測試數(shù)據(jù)。 NEUSOFTNEUSOFT 6 邊界值分析原則 (1) 如果輸入條件規(guī)定了一個輸入值范圍,則 應(yīng)針對范圍的邊界設(shè)計測試用例,針對剛剛 越界的情況設(shè)計無效輸入測試用例。 例如果輸入值的有效范圍是0 -100,那么 應(yīng)針對-1,101設(shè)計測試用例 NEUSOFTNEUSOFT 7 邊界值分析指南 (2) 如果輸入條件規(guī)定了輸入值的數(shù)量,則應(yīng) 針對輸入數(shù)量的最小值、輸入數(shù)量的最大值、 以及比最小數(shù)量少一個,比最大數(shù)量多一個 的情況設(shè)計測試用例

4、。 例如果某個輸入文件可容納1-255條記錄, 那么應(yīng)根據(jù)0、1、255和256條記錄的情況設(shè) 計測試用例 NEUSOFTNEUSOFT 8 邊界值分析指南 (3) 對每個輸出條件應(yīng)用規(guī)則1和2。即設(shè)計測 試用例使輸出值達到邊界值及其左右的值。 例如,某程序的規(guī)格說明要求計算出每月保險金 扣除額為0至1165.25元,其測試用例可取0.00及 1165.24、還可取一0.01及116526等。 再如一程序?qū)儆谇閳髾z索系統(tǒng),要求每次最少顯 示1條、最多顯示4條情報摘要,這時我們應(yīng)考 慮的測試用例包括1和4,還應(yīng)包括0和5等。 NEUSOFTNEUSOFT 9 邊界值分析指南 4)如果程序的規(guī)格說

5、明給出的輸入域或輸出 域是有序集合,則應(yīng)選取集合的第一個元素 和最后一個元素作為測試用例。 5)如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng) 當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作 為測試用例。 6)分析規(guī)格說明,找出其它可能的邊界條件。 NEUSOFTNEUSOFT 10 邊界值的類型及檢驗 數(shù)值 字符 位置 數(shù)量 速度 地點 尺寸 NEUSOFTNEUSOFT 11 邊界值檢驗 在進行邊界值檢驗時,要考慮這些 類型的以下特征: 第一個/最后一個 開始/完成 空/滿 最慢/最快 最大/最小 相鄰/最遠 最小值/最大值 超過/在內(nèi) 最短/最長 最早/最遲 最高/最低 NEUSOFTNEUSOFT 12

6、 越界檢驗的通常做法是簡單地對于最大 值加1或很小的數(shù),以及對于最小值減1 或很小的數(shù),例如: 第一個減1/最后一個加1 開始減1 /完成加1 空了再減/滿了再加 慢上加慢/快上加快 最大加1 /最小減1 最小值減1 /最大值加1 相鄰/最遠 剛剛超過/剛好在內(nèi) 短了再短/長了再長 早了更早/晚了更晚 最高加1/最低減1 NEUSOFTNEUSOFT 13 邊界值附近數(shù)據(jù)的幾種確定方法 項邊界值附件數(shù)據(jù)測試用例的設(shè)計思路 字符 起始-1個字符/結(jié)束 +1個字符 假設(shè)一個文本區(qū)域要求允許輸入1到 255個字符,輸入1個和255個字符作為 有效等價類;輸入字符(0個)和輸入256 個字符作為無效等

7、價類 數(shù)字開始位-1/結(jié)束位+1 如數(shù)據(jù)的輸入域為1-999,其最小值為1, 而最大值為999,則0、1000則剛好在 邊界值附件 空間 小于零空間一點/大 于滿空間一點 測試軟盤的數(shù)據(jù)存儲,使用比剩余磁 盤空間大一點(幾KB)的文件作為測試的 邊界條件附件值 NEUSOFTNEUSOFT 14 技巧: 提出邊界條件時,一定要測試臨近邊 界的有效數(shù)據(jù),測試最后一個可能有 效的數(shù)據(jù),同時測試剛超過邊界的無 效數(shù)據(jù)。 NEUSOFTNEUSOFT 15 例1: 保險費率計算中,投保人年齡范圍為1,99, 年齡 20 39歲6點 40 59歲4點 60歲以上,20歲以下2點 要求采用邊界值分析法設(shè)計

8、測試用例。 0,1,2 19,20,2139,40,4159,60,6199,100 NEUSOFTNEUSOFT 16 int s = new int10; int i ; for(i = 1 ; i = 10 ; i+) si = 0 ; 很明顯,這段代碼的目的是創(chuàng)建包含10個元 素的數(shù)組,并為數(shù)組中的每一個元素賦初 值0??纯从惺裁磫栴}? 例2:分析以下代碼段 NEUSOFTNEUSOFT 17 例3:Office中的頁面設(shè)置 試一下: 幻燈片的寬度和高度的邊界值是什么? 采用邊界值分析法為寬度和高度設(shè)計測 試用例 NEUSOFTNEUSOFT 18 課上練習: 采用邊界值分析法設(shè)計測試

9、用例,對 Taxi1_fat.jar進行測試,找出其中的缺陷。 NEUSOFTNEUSOFT 19 課后預習 以組委單位,熟悉傭金問題(見下頁), 要求: 分析輸入和輸出參數(shù)及其取值范圍 分析并寫出傭金的計算邏輯 進一步思考: 1.如何利用所學的方法來設(shè)計測試用例并對程 序進行測試 NEUSOFTNEUSOFT 20 軟件測試經(jīng)典案例:傭金問題 某步槍經(jīng)銷商銷售某制造商生產(chǎn)的槍槍 托和槍管,槍栓45美元,槍托30美元,槍管 25美元。經(jīng)銷商每月至少要售出一支完整的 步槍,且經(jīng)銷商每月最多可售出槍栓70支, 槍托80支,槍管90支。每月月底,經(jīng)銷商向 制造商報告當月銷售情況,制造商根據(jù)銷售 量計

10、算經(jīng)銷商應(yīng)得的傭金。銷售額不超過 1000美元的部分,傭金為10%,大于1000且不 超過1800美元的部分為15%,超過1800美元的 部分為20%。 NEUSOFTNEUSOFT 21 上節(jié)課內(nèi)容回顧 邊界值測試的重要性 常用邊界值分析法設(shè)計測試用例的步驟 常見的邊界值類型 NEUSOFTNEUSOFT 22 本節(jié)課內(nèi)容 使用邊界值分析法測試用例完成以下任務(wù): Commission 傭金計算程序的測試 calculate_price程序的測試 NEUSOFTNEUSOFT 23 軟件測試經(jīng)典案例:傭金問題 某步槍經(jīng)銷商銷售某制造商生產(chǎn)的槍槍 托和槍管,槍栓45美元,槍托30美元,槍管 25

11、美元。經(jīng)銷商每月至少要售出一支完整的 步槍,且經(jīng)銷商每月最多可售出槍栓70支, 槍托80支,槍管90支。每月月底,經(jīng)銷商向 制造商報告當月銷售情況,制造商根據(jù)銷售 量計算經(jīng)銷商應(yīng)得的傭金。銷售額不超過 1000美元的部分,傭金為10%,大于1000且不 超過1800美元的部分為15%,超過1800美元的 部分為20%。 NEUSOFTNEUSOFT 24 A complex problem, right? 解決問題的步驟: 分析問題 分析輸入和輸出參數(shù)及其取值范圍 分析并寫出傭金的計算邏輯 設(shè)計測試用例 1. 執(zhí)行測試用例 complex adj. 復雜的 NEUSOFTNEUSOFT 25

12、1、問題分析:由此得到什么信息 輸入域: 槍栓、槍托、槍管 1槍栓 70、 1槍托 80、 1槍管90 輸出域: 所得傭金為銷售額乘以傭金比例 NEUSOFTNEUSOFT 26 用函數(shù)表示傭金問題 設(shè)銷售額為S (Sales) ,則: S(x,y,z) = x45+y30+z25 其中:x、y、z分別代表槍栓、槍托和槍管的月銷售量 設(shè)傭金為C (Commission),則: S 10%if S=1000 C(S) = (100010%)+(S-1000) 15% if S1800 NEUSOFTNEUSOFT 27 2、設(shè)計測試用例 利用所學的方法設(shè)計測試用例對傭金 問題進行測試 思考:如何

13、做? 等價類劃分法 邊界值分析法 NEUSOFTNEUSOFT 28 等價類劃分 參數(shù)有效等價類(vEC)無效等價類(iEC) 槍栓1x 70 x70 槍托1y 80 x80 槍管1z 90 x90 思考: 以上測試用例能否測試傭金問題中的計算問題? NEUSOFTNEUSOFT 29 提示: 參數(shù)有效等價類(vEC)無效等價類(iEC) 銷售額 銷售額1000 1000銷售額1800 銷售額1800 同時考慮邊界值 考慮輸出域的等價類: NEUSOFTNEUSOFT 30 邊界值分析 思考:有哪些邊界值? 提示: 對輸入域同時對輸出域采用邊界值分 析法進行測試。 NEUSOFTNEUSOFT

14、 31 Now, design your test cases. 功能 描述 計算傭金 用例 目的 測試傭金計算的正確性 前提 條件 無 編號輸入(槍栓、槍托、槍管)期望的輸出/響應(yīng)實際情況 1有效銷售量,例35, 40, 45640 21, 1, 1100 30, 1, 1報錯 4. 5 NEUSOFTNEUSOFT 32 3. OK. Now, it is time to run test cases. The format of the test case file: Input values of x,y,z Output: commission 運行步驟同三角形問題。 NEUSOFT

15、NEUSOFT 33 Tips: Use Execl to get expected results. Input parameters Output - Commission 中間結(jié)果,方便理解 NEUSOFTNEUSOFT 34 =IF(D2100,Error, IF(D2=1000,D2*10%, IF(D2=1800,1000*10%+(D2-1000)*15%, IF(D2=7800),1000*10%+800*15%+(D2- 1800)*20%,Error) 改進版 =IF(OR(A41,B41,C470,B480,C490),Error , IF(D4=1000,D4*10%,

16、 IF(D4=1800,1000*10%+(D4-1000)*15%, 1000*10%+800*15%+(D4-1800)*20%) NEUSOFTNEUSOFT 35 實驗3: 利用所學的方法設(shè)計測試用例對傭金問 題進行測試 提交形式:紙質(zhì)版 由各班收齊后一起交給我 提交截至時間: NEUSOFTNEUSOFT 36 再看函數(shù)calculate_price() 函數(shù)的功能描述和接口描述如下: 功能:計算購車總價 double calculate_price( double baseprice, /base price of the vehicle double specialprice,/

17、special model addition double extraprice, /price of the extras int extras,/number of extras double discount/dealers discount ) NEUSOFTNEUSOFT 37 函數(shù)的規(guī)格說明: 汽車價格的起點是:基準價(baseprice)減去折扣,其中 基準價是汽車的基本價格,折扣價是銷售商給予的在 基準價基礎(chǔ)上的折扣。 增加特殊設(shè)備的特殊價格和附加設(shè)備的附加價格 如果選擇了3個或更多的附加設(shè)備(這些設(shè)備不包括在 特殊設(shè)備中),這些附加設(shè)備可以有10%的折扣,如果 選擇了5個或更

18、多的附加設(shè)備,這些附加設(shè)備的折扣可 增加到15%。 銷售商提供的折扣只針對基準價,特別設(shè)備的折扣只 能用在特別設(shè)備上,這些折扣不能相互疊加。 NEUSOFTNEUSOFT 38 計算邏輯分析 汽車價格=baseprice(1-discount) +specialprice +Priceforextras 其中: extraprice extras3 Priceforextras = extraprice(1-10%) extras3 extraprice(1-15%) extras5 NEUSOFTNEUSOFT 39 第一步:劃分并標識等價類 參數(shù)等價類代表值 1baseprice vEC1

19、1:0,MAX_DOUBLE20000.00 iEC11:MIN_DOUBLE,0-1.00 iEC12:NaN“abc” 2Specialprice vEC21:0,MAX_DOUBLE3450.00 iEC11:MIN_DOUBLE,0-1.00 iEC22:NaN“abc” 3extraprice vEC31:0,MAX_DOUBLE6000.00 iEC11:MIN_DOUBLE,0-1.00 iEC32:NaN“abc” 4extars vEC41:0,21 vEC41:3,43 vEC41:5,MAX_INT20 iEC41:MIN_INT,0-1.00 iEC42:NaN“abc

20、” 5discount vEC51:0,10010 iEC51:MIN_DOUBLE,0-1.00 iEC11 :100,MAX_DOUBLE 101.00 iEC52:NaN“abc” NEUSOFTNEUSOFT 40 第二步 設(shè)計測試用例 用例編號BasepriceSpecialpriceExtrapriceExtrasDiscountresult 120000.003450.006000.00110.0027450.00 220000.003450.006000.00310.0026850.00 320000.003450.006000.002010.0026550.00 4-1.00

21、3450.006000.00110.00NOT_VALID 5“abc”3450.006000.00110.00NOT_VALID 620000.00-1.006000.00110.00NOT_VALID 720000.00“abc”6000.00110.00NOT_VALID 820000.003450.00-1.00110.00NOT_VALID 920000.003450.00“abc”110.00NOT_VALID 1020000.003450.006000.00-1.0010.00NOT_VALID 1120000.003450.006000.00“abc”10.00NOT_VALI

22、D 1220000.003450.006000.001-1.00NOT_VALID 1320000.003450.006000.001101.00NOT_VALID 1420000.003450.006000.001“abc”NOT_VALID NEUSOFTNEUSOFT 41 考慮本例中的邊界值問題 參數(shù)等價類代表值 1baseprice vEC11:0,MAX_DOUBLE20000.00 iEC11:MIN_DOUBLE,0-1.00 iEC12:NaN“abc” 2Specialprice vEC21:0,MAX_DOUBLE3450.00 iEC11:MIN_DOUBLE,0-1.

23、00 iEC22:NaN“abc” 3extraprice vEC31:0,MAX_DOUBLE6000.00 iEC11:MIN_DOUBLE,0-1.00 iEC32:NaN“abc” 4extars vEC41:0,21 vEC41:3,43 vEC41:5,MAX_INT20 iEC41:MIN_INT,0-1.00 iEC42:NaN“abc” 5discount vEC51:0,10010 iEC51:MIN_DOUBLE,0-1.00 iEC11 :100,MAX_DOUBLE 101.00 iEC52:NaN“abc” 對邊界值0,可設(shè)計測試用 例:-0.01,0,0.01 天

24、上掉餡餅了,100%的折扣! 本例中對各參數(shù)的邊界值沒有明確的定 義。明確定義的邊界值有助于降低測試 的成本。 NEUSOFTNEUSOFT 42 補充以下信息 基本價格在10,000到150,000美元之間 specialprice的價格在800到3,500美元之間 最多可有25個可能的附加選擇extras,他們 的價格在50到750美元之間 經(jīng)銷商給出的最大折扣為25% NEUSOFTNEUSOFT 43 根據(jù)以上邊界的約束條件,常用邊界值分析 法設(shè)計測試用例: 基本價格在10,00010,000到150,000150,000美元之間 specialprice的價格在800800到3,50

25、03,500美元之間 最多可有2525個可能的附加選擇extras,他們 的價格在5050到750750美元之間 經(jīng)銷商給出的最大折扣為25%25% ParametersBoundaryTest cases baseprice 10,000.00 150,000.00 Specialprice 800.00 3,500.00 Extraprice 50.00 18,750.00 Extras 0 2 4 25 discount 0.00 25.00 9999.99,9999.99,10,000.0010,000.00 10,000.0110,000.01 149999.99,149999.99

26、, 150,000.00, 150,000.01 150,000.00, 150,000.01 799.99,799.99,800.00, 800.00, 800.01800.01 3,499.99,3,499.99,3,500.00, 3,500.00, 3,500.013,500.01 49.99,49.99,50.00, 50.00, 50.0150.01 18,749.99,18,749.99, 18,750.00, 18,750.0118,750.00, 18,750.01 -1,-1,0,0,1 1 1,1,2,2,3 3 3,3,4,4,5 5 24,24,25,25,2626

27、-0.01,-0.01,0.00,0.00,0.010.01 24.99,24.99,25.00,25.00,25.0125.01 NEUSOFTNEUSOFT 44 Now,design your test cases 功能描述計算購車費用 用例目的測試購車費用計算的正確性 前提條件無 輸入期望的輸出/相應(yīng)實際情況 20000.00, 3450.00, 6000.00, 1, 1027450.00 20000.00, 3450.00, 6000.00, 3, 1026850.00 20000.00, 3450.00, 6000.00, 20, 1026550.00 輸入數(shù)據(jù)順序如下:base

28、price,specialprice,extraprice,extras,discount NEUSOFTNEUSOFT 45 Run test cases. 運行測試用例 記錄并比較期望結(jié)果和實際結(jié)果 NEUSOFTNEUSOFT 46 例:Office中的頁面設(shè)置 試一下: 幻燈片的寬度和高度的邊界值是什么? 采用邊界值分析法為寬度和高度設(shè)計測 試用例 NEUSOFTNEUSOFT 47 次邊界條件 普通邊界條件很容易找到,它們通常在 產(chǎn)品說明書中定義的很明確或在使用軟件的 過程中明顯。而有些邊界在軟件內(nèi)部,最終 用戶幾乎看不到,但是軟件測試員仍有必要 進行檢查。這樣的邊界條件稱為次邊界條

29、件 (sub-boundary condition)或內(nèi)部邊界條件 (internal-boundary condition) NEUSOFTNEUSOFT 48 數(shù)值的邊界值檢驗 計算機內(nèi)部數(shù)據(jù)是以二進制存儲和計算的,因此 許多不同類型(整型、長整型、布爾型、數(shù)組、 字符串長度等)的數(shù)據(jù)都受到一定的限制,具有 很強的二進制特征,如下表所示: 項范圍或值 位(bit)0或1 字節(jié)(Byte)0255(28個) 整型(Word)065533(216個) 長整型04294967295(232) 千(K)/兆(M)1024/1048576(210/220) 千兆(G)1073741824(230) 萬億(T)1099511627776(240) NEUSOFTNEUSOF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論