軟件測試等價類劃分,邊界值劃分_第1頁
軟件測試等價類劃分,邊界值劃分_第2頁
軟件測試等價類劃分,邊界值劃分_第3頁
軟件測試等價類劃分,邊界值劃分_第4頁
軟件測試等價類劃分,邊界值劃分_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1內(nèi)容內(nèi)容(1)等價類劃分等價類理論互動“大學(xué)管理系統(tǒng)”等價類測試互動(2)邊界值分析 邊界值方法互動“大學(xué)管理系統(tǒng)”邊界值測試互動2等價類劃分等價類劃分l 1.1.等價類劃分等價類劃分等價類劃分法是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。使用等價類劃分法設(shè)計測試用例時,要同時考慮有效等價類和無效等價類。u 有效等價類對于程序的規(guī)格說明來說,是合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合;u 無效等價類對于程序的規(guī)格說明來說,是不合理的、沒有意義的輸入數(shù)據(jù)所構(gòu)成的集合;3等價類劃分等價類劃分 假定一臺ATM機允許提取增量為50

2、元,總金額從1002000(包含2000元)不等的金額,請等價類方法進行測試。有效等價類有效等價類編號編號無效等價類無效等價類編號編號整數(shù)1浮點數(shù)4在100到2000之間2小于1005大于20006能被50整除3不能被50整除71. 劃分等價類,如下表所示。例1:4等價類劃分等價類劃分例12.設(shè)計測試用例,如下表所示。用例編號輸入數(shù)據(jù)預(yù)期結(jié)果覆蓋的等價類1100提取成功1、2、32100.5提示:輸入無效4350提示:輸入無效542050提示:輸入無效65101提示:輸入無效75等價類劃分等價類劃分 假定一臺ATM機允許提取增量為50元,總金額從1002000(包含2000元)不等的金額,請等

3、價類方法進行測試。例1: volunteer ?6等價類劃分等價類劃分例2:7等價類劃分等價類劃分例2: volunteer ?8等價類劃分等價類劃分例2:9等價類劃分等價類劃分例2:10等價類劃分等價類劃分11等價類劃分等價類劃分12等價類劃分等價類劃分13等價類劃分等價類劃分14等價類劃分等價類劃分(4)15等價類劃分:等價類劃分:“大學(xué)管理系統(tǒng)大學(xué)管理系統(tǒng)”實例:“大學(xué)學(xué)籍管理系統(tǒng)-維護學(xué)生成績”16等價類劃分:等價類劃分:“大學(xué)管理系統(tǒng)大學(xué)管理系統(tǒng)”1.劃分等價類2.為每一個有效等價類和無效等價類規(guī)定一個唯一的編號3.設(shè)計一個測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類, 重復(fù)這一

4、步直到所有有效等價類均被測試用例所覆蓋4.設(shè)計一個測試用例,使其只覆蓋一個無效等價類,重復(fù)這一步,直到所有無效等價類均被覆蓋 n使用下面的表格有利于確定測試用例17等價類劃分:等價類劃分:“大學(xué)管理系統(tǒng)大學(xué)管理系統(tǒng)” volunteer ?18等價類劃分:等價類劃分:“大學(xué)管理系統(tǒng)大學(xué)管理系統(tǒng)”分析:學(xué)生的成績隱含的條件是:0 x 100Step1:等價類劃分:一個有效等價類,2個無效等價類Step2:確定編號,形成等價類表Step3Step輸入條件有效等價類無效等價類編號0100分1.100分2.0分3.輸入條件有效等價類無效等價類編號551.1202.-93.19等價類劃分:等價類劃分:“

5、大學(xué)管理系統(tǒng)大學(xué)管理系統(tǒng)” volunteer ? 尚未解決的問題20等價類劃分:等價類劃分:“大學(xué)管理系統(tǒng)大學(xué)管理系統(tǒng)”實例:“大學(xué)學(xué)籍管理系統(tǒng)-維護學(xué)生成績”21邊界值分析邊界值分析邊邊界界值值分析法的定分析法的定義義: :邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。22邊界值分析邊界值分析23邊界值分析邊界值分析邊界值分析關(guān)注的是輸入空間的邊界。確定邊界值應(yīng)遵循以下幾條原則:確定邊界值應(yīng)遵循以下幾條原則:如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊

6、界的值作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最小個數(shù)少一、比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個元素和最后一個元素作為測試數(shù)據(jù)。如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù)。分析規(guī)格說明,找出其他可能的邊界條件。24邊界值分析邊界值分析 volunteer ?例: 有一個小程序,能夠求出三個在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計測試用例。25邊界值分析邊界值分析例: 有一個小程序,能夠求出三個在0到9999間整數(shù)中的最大者,請邊界值測試方法設(shè)計

7、測試用例。(1)各變量分別取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值,所以A、B、C分別取值為:-1、0、1、5000、9998、9999、10000。(2)設(shè)計測試用例,見教材上表2-8。26邊界值分析邊界值分析 為什么使用邊界值分析法? 無數(shù)的測試實踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對各種邊界情況設(shè)計測試用例,通常會取得很好的測試效果。 怎樣用邊界值分析法設(shè)計測試用例?(1)首先確定邊界情況。通常輸入或輸出等價類的邊界就是應(yīng)該著重測試的邊界情況。(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),

8、而不是選取等價類中的典型值或任意值。27邊界值分析邊界值分析 volunteer ? 常見的邊界值有哪些?28邊界值分析邊界值分析 對16-bit 的整數(shù)而言 32767 和 -32768 是邊界 屏幕上光標在最左上、最右下位置 報表的第一行和最后一行 數(shù)組元素的第一個和最后一個 循環(huán)的第 0 次、第 1 次和倒數(shù)第 2 次、最后一次29邊界值分析邊界值分析 volunteer ? 等價類分析與邊界值的區(qū)別? 請舉例說明30邊界值分析邊界值分析 邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在于劃分的邊界上,因此在等價類的邊界上以及兩側(cè)的情況設(shè)計測試用例。 例例:測試計

9、算平方根的函數(shù) 輸入:實數(shù) 輸出:實數(shù) 規(guī)格說明:當輸入一個0或比0大的數(shù)的時候,返回其正平方根;當輸入一個小于0的數(shù)時,顯示錯誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯誤信息。31邊界值分析邊界值分析 例例:測試計算平方根的函數(shù) 輸入:實數(shù) 輸出:實數(shù) 規(guī)格說明:當輸入一個0或比0大的數(shù)的時候,返回其正平方根;當輸入一個小于0的數(shù)時,顯示錯誤信息“平方根非法-輸入值小于0”并返回0;庫函數(shù)Print-Line可以用來輸出錯誤信息。 volunteer ? 給出等價類、邊界值方案?32邊界值分析邊界值分析等價類劃分: 可以考慮作出如下劃分: 輸入 (i

10、)=0 輸出 (a)=0 和 (b) Error 測試用例有兩個: 輸入4,輸出2。對應(yīng)于 (ii) 和 (a) 。 輸入-10,輸出0和錯誤提示。對應(yīng)于 (i) 和 (b) 。邊界值分析: 劃分(ii)的邊界為0和最大正實數(shù);劃分(i)的邊界為最小負實數(shù)和0。由此得到以下測試用例: 輸入 最小負實數(shù) 輸入 絕對值很小的負數(shù) 輸入 0 輸入 絕對值很小的正數(shù) 輸入 最大正實數(shù)33邊界值分析邊界值分析 通常情況下,軟件測試所包含的邊界檢驗有幾種類型: 數(shù)字、字符、位置、質(zhì)量、大小、速度、方位、尺寸、 空間等 相應(yīng)地,以上類型的邊界值應(yīng)該在: 最大/最小、首位/末位、上/下、最快/最慢、最高/最低

11、、 最短/最長、 空/滿等情況下34邊界值分析邊界值分析項邊界值測試用例的設(shè)計思路字符起始-1個字符/結(jié)束+1個字符假設(shè)一個文本輸入?yún)^(qū)域允許輸入1個到255個 字符,輸入1個和255個字符作為有效等價類;輸入0個和256個字符作為無效等價類,這幾個數(shù)值都屬于邊界條件值。數(shù)值最小值-1/最大值+1假設(shè)某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以使用10000作為最小值、99999作為最大值;然后使用剛好小于5位和大于5位的 數(shù)值來作為邊界條件??臻g小于空余空間一點/大于滿空間一點例如在用U盤存儲數(shù)據(jù)時,使用比剩余磁盤空間大一點(幾KB)的文件作為邊界條件。35邊界值分析邊界值分析在多數(shù)情況下,邊

12、界值條件是基于應(yīng)用程序的功能設(shè)計而需要考慮的因素,可以從軟件的規(guī)格說明或常識中得到,也是最終用戶可以很容易發(fā)現(xiàn)問題的。然而,在測試用例設(shè)計過程中,某些邊界值條件是不需要呈現(xiàn)給用戶的,或者說用戶是很難注意到的,但同時確實屬于檢驗范疇內(nèi)的邊界條件,稱為內(nèi)部邊界值條件或子邊界值條件。內(nèi)部邊界值條件主要有下面幾種: 數(shù)值的邊界值檢驗 字符的邊界值檢驗n 小結(jié): 在實際的測試用例設(shè)計中,需要將基本的軟件設(shè)計要求和程序定義的要求結(jié)合起來,即結(jié)合基本邊界值條件和內(nèi)部邊界值條件來設(shè)計有效的測試用例36邊界值分析邊界值分析 計算機是基于二進制進行工作的,因此,軟件的任何數(shù)值運算都有一定的范圍限制。項范圍或值位(

13、bit)0 或 1字節(jié)(byte)0 255字(word)065535(單字)或 04294967295(雙字)千(K)1024兆(M)1048576吉(G) 1073741824 計算機數(shù)值運算的范圍37邊界值分析邊界值分析 在計算機軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。下表中列出了一些常用字符對應(yīng)的ASCII碼值。字符ASCII碼值字符ASCII碼值空 (null)0A65空格 (space)32a97斜杠 ( / )47Z90048z122冒號 ( : )58單引號 ( )966438邊界值分析邊界值分析(1) 如果輸入條件規(guī)定了值的范圍,則應(yīng)

14、取剛達到這個范圍的邊界值以及剛剛超過這個范圍邊界的值作為測試輸入數(shù)據(jù)。(2) 如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)和比最大個數(shù)多1個、比最小個數(shù)少1個的數(shù)作為測試數(shù)據(jù)。(3) 根據(jù)程序規(guī)格說明的每個輸出條件,使用原則 (1)。(4) 根據(jù)程序規(guī)格說明的每個輸出條件,使用原則 (2) 。(5) 如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合 (如有序表、順序文件等),則應(yīng)選取集合中的第一個和 最后一個元素作為測試用例。(6) 如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。(7) 分析程序規(guī)格說明,找出其它可能的邊界條件。 測試用例設(shè)計原則3

15、9邊界值分析邊界值分析 采用邊界值分析測試的基本思想是:故障往往出現(xiàn)在輸入變量的邊界值附近。 因此,邊界值分析法利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設(shè)計測試用例。 邊界值分析法是基于可靠性理論中稱為“單故障”的假設(shè),即有兩個或兩個以上故障同時出現(xiàn)而導(dǎo)致軟件失效的情況很少,也就是說,軟件失效基本上是由單故障引起的。 因此,在邊界值分析法中獲取測試用例的方法是: (1) 每次保留程序中一個變量,讓其余的變量取正常值,被保留的變量依次取min、min+、nom、max-和max。 (2) 對程序中的每個變

16、量重復(fù) (1) 。40邊界值分析邊界值分析 例:例:有兩個輸入變量x1(ax1b)和x2(cx2d)的程序F的邊界值分析: volunteer ?41邊界值分析邊界值分析 例例1:有兩個輸入變量x1(ax1b)和x2(cx2d)的程序F的邊界值分析測試用例如下: , , , , , , , , x1x2a bcd42邊界值分析邊界值分析例例2:有二元函數(shù)f(x,y),其中x1,12,y1,31。 則采用邊界值分析法設(shè)計的測試用例是: volunteer ?43邊界值分析邊界值分析例例2:有二元函數(shù)f(x,y),其中x1,12,y1,31。 則采用邊界值分析法設(shè)計的測試用例是: , , , ,

17、, , , , 44邊界值分析邊界值分析例例2:有二元函數(shù)f(x,y),其中x1,12,y1,31。 則采用邊界值分析法設(shè)計的測試用例是: , , , , , , , , 推論:對于一個含有推論:對于一個含有n個變量的程序,采用邊界值分析法測試程個變量的程序,采用邊界值分析法測試程序會產(chǎn)生序會產(chǎn)生4n+1個測試用例。個測試用例。45邊界值分析邊界值分析例例2:有二元函數(shù)f(x,y),其中x1,12,y1,31。 則采用邊界值分析法設(shè)計的測試用例是: , , , , , , , , 推論:對于一個含有推論:對于一個含有n個變量的程序,采用邊界值分析法測試程個變量的程序,采用邊界值分析法測試程序會

18、產(chǎn)生序會產(chǎn)生4n+1個測試用例。個測試用例。練習(xí):練習(xí):有函數(shù)f(x,y,x),其中x1900,2100,y1,12,z1,31的。請寫出該函數(shù)采用邊界值分析法設(shè)計的測試用例。 volunteer ?46邊界值分析邊界值分析例例2:有二元函數(shù)f(x,y),其中x1,12,y1,31。 則采用邊界值分析法設(shè)計的測試用例是: , , , , , , , , 推論:對于一個含有推論:對于一個含有n個變量的程序,采用邊界值分析法測試程個變量的程序,采用邊界值分析法測試程序會產(chǎn)生序會產(chǎn)生4n+1個測試用例。個測試用例。練習(xí):練習(xí):有函數(shù)f(x,y,x),其中x1900,2100,y1,12,z1,31的

19、。請寫出該函數(shù)采用邊界值分析法設(shè)計的測試用例。 , , , , , , , , , , , , 47邊界值分析邊界值分析 健壯性測試是作為邊界值分析的一個簡單的擴充,它除了對變量的5個邊界值分析取值外,還需要增加一個略大于最大值(max+)以及略小于最小值(min-)的取值,檢查超過極限值時系統(tǒng)的情況。因此,對于有n個變量的函數(shù)采用健壯性測試需要6n+1個測試用例。 前面例1中的程序F的健壯性測試如下圖所示:x1x2a bcd 健壯性測試48邊界值分析邊界值分析n實例1 三角形問題的邊界值分析測試用例 在三角形問題描述中,除了要求邊長是整數(shù)外,沒有給出其它的限制條件。在此,我們將三角形每邊邊長

20、的取范圍值設(shè)值為1, 100 。 說明:如果程序規(guī)格說明中沒有顯式地給出邊界值,則可以在設(shè)計測試用例前先設(shè)定取值的下限值和上限值。 volunteer ?49邊界值分析邊界值分析測試用例測試用例abc預(yù)期輸出預(yù)期輸出Test 1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等腰三角形等腰三角形等邊三角形等邊三角形等腰三角形等腰三角形非三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形非三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形非三角形非三角形50邊界值分析邊界值分析n實例2 NextDate函數(shù)的邊界值分析測試

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論