白盒黑盒測試設計方法_第1頁
白盒黑盒測試設計方法_第2頁
白盒黑盒測試設計方法_第3頁
白盒黑盒測試設計方法_第4頁
白盒黑盒測試設計方法_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、白盒測試技術設計方法1 1、語句覆蓋 使程序中每個語句至少執行一次。開始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce只需設計一個測試用例: 輸入數據:A=2, B=0, X=4 即達到了語句覆蓋。語句覆蓋是最弱的邏輯覆蓋(如:AND 寫成 OR,X1 寫成 X 1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce可設計兩組測試用例: A=3,B=0 ,X=3 可覆蓋c、d分支 A=2,B=1 ,X=1 可覆蓋b、e分支 兩組測試用例可覆蓋所有判定的真假分支 判定覆蓋仍是弱的邏輯覆蓋,只覆蓋了全部路徑的一

2、半。33、條件覆蓋使每個判定的每個條件的可能取值至少執行一次。開始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce滿足條件:T1,T1, T2,T2 T3,T3 T4,T4第一判定表達式:設條件 A1 取真 記為T1 假 T1 條件 B=1 取真 記為T2 假 T2第二判定表達式:設條件 A=2 取真 記為T3 假 T3 條件 X1 取真 記為T4 假 T44測試用例 通過 滿足的 覆蓋A B X 路徑 條件 分支1 0 3 abe T1,T2,T3,T4 b,e2 1 1 abe T1,T2,T3,T4 b,e 兩個測試用例覆蓋了四個條件八種可

3、能取值。 未覆蓋c、d分支,不滿足判定覆蓋的要求. 條件覆蓋不一定包含判定覆蓋 判定覆蓋也不一定包含條件覆蓋54 判定/條件覆蓋 選取足夠多的測試用例,使判斷中的每個條件的所有可能取值至少執行一次,同時每個判斷本身的所有可能判斷結果至少執行一次.開始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce滿足條件:T1,T1, T2,T2 T3,T3 T4,T46測試用例 通過 滿足的條件 覆蓋A B X 路徑 分支2 0 4 ace T1,T2,T3,T4 c,e1 1 1 abd T1,T2,T3,T4 b,d能同時滿足判定、條件兩種覆蓋標準的取值7

4、 5、條件組合覆蓋所有可能的條件取值組合至少執行一次 A1, B=0 A1, B0 A1, B=0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1測試用例 通過 滿足的 覆蓋A B X 路徑 條件 分支2 0 4 ace T1,T2,T3,T4 c,e2 1 1 abe T1,T2,T3,T4 b,e1 0 2 abd T1,T2,T3,T4 b,d1 1 1 abd T1,T2,T3,T4 b,d8 以上根據測試數據對源程序語句檢測的詳盡程度,簡單討論了幾種邏輯覆蓋標準。在上面的分析過程中常常談到測試數據執行的程序路徑,顯然,測試數據可以檢測的程序路徑的多少,也反映

5、了對程序測試的詳盡程度。從對程序路徑的覆蓋程度分析,能夠提出下述一些主要的邏輯覆蓋標準。9黑盒測試著重測試軟件功能。黑盒測試并不能取代白盒測試,它是與白盒測試互補的測試方法,它很可能發現白盒測試不易發現的其他類型的錯誤。黑盒測試力圖發現下述類型的錯誤: 功能不正確或遺漏了功能; 界面錯誤; 數據結構錯誤或外部數據庫訪問錯誤; 性能錯誤; 初始化和終止錯誤。黑盒測試技術:等價劃分法、邊界值分析法、錯誤推測法、因果圖法等。6.7 黑盒測試技術(理解)10 1 等價類劃分法(等價分配) 把所有可能的輸入數據(有效的和無效的)劃分成若干個等價的子集(稱為等價類別或等價區間), 使得每個子集中的一個典型

6、值在測試中的作用與這一子集中所有其它值的作用相同. 可從每個子集中選取一組數據來測試程序 等價類別或等價區間是指測試相同目標或者暴露相同軟件缺陷的一組測試用例 11例:某報表處理系統要求用戶輸入處理報表 的日期,日期限制在2003年1月至2008年 12月,即系統只能對該段期間內的報表 進行處理,如日期不在此范圍內,則顯 示輸入錯誤信息。 系統日期規定由年、月的6位數字字符組 成,前四位代表年,后兩位代表月。 如何用等價類劃分法設計測試用例, 來測試程序的日期檢查功能?12如何劃分等價類?有效等價類(合理等價類)無效等價類(不合理等價類) 劃分等價類的標準:覆蓋不相交代表性13劃分等價類的規則

7、 (1)如果輸入條件規定了取值范圍,可定義一個有 效等價類和兩個無效等價類。例 輸入值是學生成績,范圍是01000 100 有效等價類0成績100無效等價類 成績100 無效等價類 成績0(2)如果輸入條件代表集合的某個元素,則可定義 一個有效等價類和一個無效等價類。14劃分等價類的規則:(3)如規定了輸入數據的一組值,且程序對不同輸 入值做不同處理,則每個允許的輸入值是一個 有效等價類,并有一個無效等價類(所有不允 許的輸入值的集合)。例:輸入條件說明學歷可為:專科、本科、碩士、博士四 種之一,則分別取這四個值作為四個有效等價類, 另外把四種學歷之外的任何學歷作為無效等價類(4)如果規定了輸

8、入數據必須遵循的規則,可確定 一個有效等價類(符合規則)和若干個無效等 價類(從不同角度違反規則)。(5)如已劃分的等價類各元素在程序中的處理方式 不同,則應將此等價類進一步劃分成更小的等 價類。15用等價類劃分法設計測試用例步驟:(1)形成等價類表,每一等價類規定一個 唯一的編號;(2)設計一測試用例,使其盡可能多地覆 蓋尚未覆蓋的有效等價類,重復這一 步驟,直到所有有效等價類均被測試 用例所覆蓋;(3)設計一新測試用例,使其只覆蓋一個 無效等價類,重復這一步驟直到所有 無效等價類均被覆蓋;16第一步:等價類劃分輸入條件 有效等價類 無效等價類 報表日期的類型及長度6位數字字符(1)有非數字

9、字符 (4)少于6個數字字符 (5)多于6個數字字符 (6)年份范圍在20032008之間 (2)小于2003 (7)大于2008 (8)月份范圍在112之間(3)“報表日期”輸入條件的等價類表小于1 (9)大于12 (10)17第二步:為有效等價類設計測試用例 測試數據 期望結果 覆蓋范圍200306等價類(1)(2)(3)輸入有效對表中編號為1,2,3的3個有效等價類用一個測試用例覆蓋:(1)6位數字字符(2)年在20032008之間 (3)月在112之間18第三步:為每一個無效等價類設至少 設計一個測試用例 測試數據 期望結果 覆蓋范圍003MAY等價類(4)輸入無效20035等價類(5

10、)輸入無效等價類(6)輸入無效200105等價類(7)輸入無效200905等價類(8)輸入無效200300等價類(9)輸入無效200313等價類(10)輸入無效不能出現相同的測試用例本例的10個等價類至少需要8個測試用例19例:對招干考試系統“輸入學生成績”子模塊 設計測試錄入準考證號的測試用例準考證號數據格式定義:共6為數字組成,其中第一位為專業代號:1-行政專業,2-法律專業,3-財經專業后5位為考生順序號,編碼范圍為: 行政專業準考證號碼為:110001111215 法律專業準考證號碼為:210001212006 財經專業準考證號碼為:310001314015 準考證號碼的等價類劃分 有

11、效等價類: (1) 110001 111215 (2) 210001 212006 (3) 310001 314015 無效等價類: (4) - 110000 (5) 111216 210000 (6) 212007 31000 (7) 314016 + 20 等價類劃分即把輸入空間分解成一系列子域,軟件在一個子域內的行為應是等價的。軟件錯誤分為兩類: 計算錯誤 域錯誤針對計算錯誤的測試方法針對域錯誤的測試方法:測試域邊界 劃定的正確性212 邊界值分析法邊界值分析法與等價類劃分法區別(1)邊界值分析不是從某等價類中 隨便挑一個作為代表,而是使 這個等價類的每個邊界都要作 為測試條件。(2)邊

12、界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況被測試子 域測試內點測試外點 如果在懸崖峭壁邊可以自信地安全行走,平地就不在話下。 如果軟件在能力達到極限時能夠運行,那么在正常情況下就不會出什么問題。軟件邊界與懸崖很類似22 邊界條件類型 如果軟件測試問題包含確定的邊界,那么數據類型可能是:數值字符位置數量速度地址尺寸還要考慮數據類型的特征:第一個/最后一個最小值/最大值開始/完成空/滿最慢/最快相鄰/最遠超過/在內23測試邊界線測試臨近邊界的合法數據,以及剛超過邊界的非法數據.越界測試通常簡單地加1或很小的數 (對于最大值)和減1或很小的數(對于最小值). 24輸入條件報表日期的類型

13、及長度1個數字字符5個數字字符7個數字字符有1個非數字字符全部是非數字字符6個數字字符顯示出錯顯示出錯顯示出錯顯示出錯顯示出錯輸入有效日期范圍月份范圍“報表日期( 6位數字字符)”邊界值分析法測試用例測試用例說明測試數據期望結果選取理由5200352003.5MAY-200305月份為1月月份為12月月份12200301200312200300200313200301200812200300200813輸入有效輸入有效顯示出錯顯示出錯輸入有效輸入有效顯示出錯顯示出錯在有效范圍邊界上選取數據僅有1個合法字符比有效長度少1比有效長度多1只有1個非法字符6個非法字符類型及長度均有效最小日期最大日期剛好小于最小日期剛好大于最大日期最小月份最大月份剛好小于最小月份剛好大于最大月份25有效等價類和用來測試getNumDaysInMonth()方法所選的有效輸入 有效等價類一個月有31天,非閏年19017(七月)一個月有31天, 閏年19047(七月

溫馨提示

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

評論

0/150

提交評論