邊界值分析法---測試用例設(shè)計方法

邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。根據(jù)大量的測試統(tǒng)計數(shù)據(jù),很多錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入/輸出范圍的中間區(qū)域。因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。

邊界值分析法

??邊界值分析不是從某等價類中隨便挑一個典型值或者任意值作為測試數(shù)據(jù),而是著重測試已劃分出的等價類的每個邊界,選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù)。也就是邊界值方法中常說的邊界5點,即上點、內(nèi)點和離點。

(1)上點:是指邊界上的點,如果域的邊界是閉區(qū)間的,上點就是在域范圍內(nèi),如果是開區(qū)間的話,上點就是在域范圍外。

(2)離點:是指離上點最近的點,如果域的邊界是是開區(qū)間,那么離點就在范圍域內(nèi),如果是閉區(qū)間,那么離點就在域范圍外。

(3)內(nèi)點:域內(nèi)的任意一個點都是內(nèi)點。

??舉例說明邊界值中上點、離點、內(nèi)點的取值。如下:

(1)區(qū)間為正整數(shù)值域[66,88],上點就是66,88,并且都是在域范圍內(nèi)。內(nèi)點就是域內(nèi)得任意點,離點是65,89。

(2)區(qū)間為正整數(shù)值域(66,88],這種情況上點是66,88,其中一個是域內(nèi),一個是域外,內(nèi)點就是域內(nèi)的任意點,離點是:67,89。

(3)區(qū)間為正整數(shù)值域(66,88),這樣的情況上點還是66,88,只是都是在域外,內(nèi)點還是域內(nèi)的任意點,離點此時為:67,87。

再做進一步說明,如下:

(1)上點、離點的確定和這個域的邊界是開區(qū)間還是閉區(qū)間有關(guān),不論邊界是開區(qū)間還是閉區(qū)間,上點和離點總有一個在域范圍內(nèi),一個在域范圍外。如邊界是開區(qū)間,上點在域范圍內(nèi),離點在域范圍外,如果是閉區(qū)間,則相反。

(2)上點、離點的選擇還和區(qū)間的數(shù)據(jù)類型有關(guān)。如果是整數(shù),可以通過在上點的基礎(chǔ)上加1或者減1確定離點。如果是實數(shù),可以人為設(shè)置一個精度,在這個精度下選擇一個最靠近的點。

(3)總結(jié)。不論是開區(qū)間還是閉區(qū)間,上點就是邊界值。離點是在閉區(qū)間下,上點取值減去1或者人為設(shè)置的精度。如果是開區(qū)間,上點取值是加1或者人為設(shè)置的精度。內(nèi)點就是域范圍內(nèi)的任意一個點。

邊界值使用場景

??下面根據(jù)不同場景的輸入或輸出條件下,基于邊界值分析方法選擇測試用例的原則如下:

(1)如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。例如,如果程序的規(guī)格說明中規(guī)定:"重量在10公斤至50公斤范圍內(nèi)的郵件,其郵費計算公式為……"??紤]重量是實數(shù),設(shè)置精度為0.01,則邊界取值為10、50(上點),9.99、50.01(離點),10.01(內(nèi)點)。

(2)如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù),最小個數(shù),比最小個數(shù)少一,比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。例如,一個輸入文件應包括1~255個記錄,因為取值個數(shù)是整數(shù),所以邊界值取值為1、255(上點),0、256(離點),126(內(nèi)點)。

(3)將規(guī)則(1)和(2)應用于輸出域,即設(shè)計測試用例使輸出值達到邊界值及其左右的值。例如,某程序的規(guī)格說明要求計算出“每月保險金扣除額為0至1165.25元",則邊界取值為可0.00、1165.25(上點),0.01、1165.26(離點),1165.24(內(nèi)點)。

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

(5)如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容