邊界值與等價類區別


1.     邊界值分析法與等價類分析法的區別:

1)    邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。

2)    邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。

例:測試計算平方根的函數

--輸入:實數

--輸出:實數

--需求說明:當輸入一個0或比0大的數的時候,返回其正平方根;當輸入一個小於0的數時,顯示錯誤信息"平方根非法-輸入值小於0"並返回0;庫函數Print-Line可以用來輸出錯誤信息。

A.    等價類划分:
            I.可以考慮作出如下划分:
                        a、輸入 (i)<0 和 (ii)>=0
                        b、輸出 (a)>=0 和 (b) Error
            II.測試用例有兩個:
                        a、輸入4,輸出2。對應於 (ii) 和 (a) 。
                        b、輸入-10,輸出0和錯誤提示。對應於 (i) 和 (b) 。

B.     邊界值分析:

划分(ii)的邊界為0和最大正實數;划分(i)的邊界為最小負實數和0。由此得到以下測試用例:
                        a、輸入 {最小負實數}
                        b、輸入 {絕對值很小的負數}
                        c、輸入 0
                        d、輸入 {絕對值很小的正數}
                        e、輸入 {最大正實數}

2.     通常情況下,軟件測試所包含的邊界檢驗有幾種類型:數字、字符、位置、重量、大小、速度、方位、尺寸、空間等。

3.     相應地,以上類型的邊界值應該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、  最短/最長、 空/滿等情況下。利用邊界值作為測試數據

 

邊界值

測試用例的設計思路

字符

起始-1個字符/結束+1個字符

假設一個文本輸入區域允許輸入1個到255個 字符,輸入1個和255個字符作為有效等價類;輸入0個和256個字符作為無效等價類,這幾個數值都屬於邊界條件值。

數值

最小值-1/最大值+1

假設某軟件的數據輸入域要求輸入5位的數據值,可以使用10000作為最小值、99999作為最大值;然后使用剛好小於5位和大於5位的 數值來作為邊界條件。

空間

小於空余空間一點/大於滿空間一點

例如在用U盤存儲數據時,使用比剩余磁盤空間大一點(幾KB)的文件作為邊界條件。

 

4.     內部邊界值分析:
    在多數情況下,邊界值條件是基於應用程序的功能設計而需要考慮的因素,可以從軟件的規格說明或常識中得到,也是最終用戶可以很容易發現問題的。然而,在測試用例設計過程中,某些邊界值條件是不需要呈現給用戶的,或者說用戶是很難注意到的,但同時確實屬於檢驗范疇內的邊界條件,稱為內部邊界值條件或子邊界值條件。
    內部邊界值條件主要有下面幾種:

1)    數值的邊界值檢驗:計算機是基於二進制進行工作的,因此,軟件的任何數值運算都有一定的范圍限制。

范圍或值

位(bit)

0 或 1

字節(byte)

0 ~ 255

字(word)

0~65535(單字)或 0~4294967295(雙字)

千(K)

1024

兆(M)

1048576

吉(G)

1073741824

 

2)    字符的邊界值檢驗:在計算機軟件中,字符也是很重要的表示元素,其中ASCII和Unicode是常見的編碼方式。如下列出了一些常用字符對應的ASCII碼值。

 

字符

ASCII碼值

空 (null)

0

空格 (space)

32

可輸入的字符

33~126

0~9

48~57

A~Z

65~90

a~z

97~122

 

3)     其它邊界值檢驗:在不同的行業應用領域,依據硬件和軟件的標准不同而具有各自特定的邊界值。如下列出部分手機相關的邊界值:

硬件設備

范圍或值

手機鋰電池電壓

工作電壓:3.6~4.2V;

保護電壓:2.5~3V不等

手機正常使用溫度

-25°C~+60°C

 

5.     基於邊界值分析方法選擇測試用例的原則

1)    如果輸入條件規定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數據。

Ø  例如,如果程序的規格說明中規定:"重量在10公斤至50公斤范圍內的郵件,其郵費計算公式為……"。作為測試用例,我們應取10及50,還應取10.01,49.99,9.99及50.01等。

2)    如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數少一,比最大個數多一的數作為測試數據。

Ø  例如,一個輸入文件應包括1~255個記錄,則測試用例可取1和255,還應取0及256等。

3)    將規則1)和2)應用於輸出條件,即設計測試用例使輸出值達到邊界值及其左右的值。

Ø  例如,某程序的規格說明要求計算出"每月保險金扣除額為0至1165.25元",其測試用例可取0.00及1165.24、還可取一0.01及1165.26等。

Ø  再如一程序屬於情報檢索系統,要求每次"最少顯示1條、最多顯示4條情報摘要",這時我們應考慮的測試用例包括1和4,還應包括0和5等。

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

5)    如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界上的值作為測試用例。

6)    分析規格說明,找出其它可能的邊界條件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM