1.設有乙個檔案管理系統,要求使用者輸入以年月表示的日期。假設日期限定在2023年1月~2023年12月,並規定日期由6位數字字元組成,前4位表示年,後2位表示月。現用等價類劃分法設計測試用例,來測試程式的"日期檢查功能"。
1)劃分等價類並編號,下表等價類劃分的結果
2)設計測試用例,以便覆蓋所有的有效等價類在表中列出了3個有效等價類,編號分別為①、⑤、⑧,設計的測試用例如下:
測試資料 期望結果 覆蓋的有效等價類
200211 輸入有效 ①、⑤、⑧
3)為每乙個無效等價類設計乙個測試用例,設計結果如下:
測試資料 期望結果 覆蓋的無效等價類
95june 無效輸入 ②
20036 無效輸入 ③
2001006 無效輸入 ④
198912 無效輸入 ⑥
200401 無效輸入 ⑦
200100 無效輸入 ⑨
200113 無效輸入 ⑩
3.nextdate 函式包含三個變數:month 、 day 和 year ,函式的輸出為輸入日期後一天的日期。 例如,輸入為 2023年3月 7日,則函式的輸出為 2023年3月8日 。要求輸入變數 month 、 day 和 year 均為整數值,並且滿足下列條件:
①1≤month≤12
②1≤day≤31
③1920≤year≤2050
1)有效等價類為:
m1=d1=y1=
2)若條件
① ~ ③中任何乙個條件失效,則 nextdate 函式都會產生乙個輸出,指明相應的變數超出取值範圍,比如 "month 的值不在 1-12 範圍當中 " 。顯然還存在著大量的 year 、 month 、 day 的無效組合, nextdate 函式將這些組合作統一的輸出: " 無效輸入日期 " 。其無效等價類為:
m2=m3=
d2=d3=
y2=y3=
弱一般等價類測試用例
月份 日期 年 預期輸出 6 15 1912 2023年6月16日
強一般等價類測試用例同弱一般等價類測試用例
注:弱--有單缺陷假設;健壯--考慮了無效值
(一)弱健壯等價類測試
用例id 月份 日期 年 預期輸出
wr1 6 15 1912 2023年6月16日
wr2 -1 15 1912 月份不在1~12中
wr3 13 15 1912 月份不在1~12中
wr4 6 -1 1912 日期不在1~31中
wr5 6 32 1912 日期不在1~31中
wr6 6 15 1811 年份不在1812~2012中
wr7 6 15 2013 年份不在1812~2012中
(二)強健壯等價類測試
用例id 月份 日期 年 預期輸出
sr1 -1 15 1912 月份不在1~12中
sr2 6 -1 1912 日期不在1~31中
sr3 6 15 1811 年份不在1812~2012中
sr4 -1 -1 1912 兩個無效乙個有效
sr5 6 -1 1811 兩個無效乙個有效
sr6 -1 15 1811 兩個無效乙個有效
sr7 -1 -1 1811 三個無效
4.佣金問題等價類測試用例,它是根據佣金函式的輸出值域定義等價類,來改進測試用例集合。
輸出銷售額≤1000元 佣金10%
1000《銷售額≤1800 佣金=100+(銷售額-1000)*15%
銷售額》1800 佣金=220+(銷售額-1800)*20%
測試用例 槍機(45) 槍托(30) 槍管(25) 銷售額 佣金
1 5 5 5 500 50
2 15 15 15 1500 175
3 25 25 25 2500 360
根據輸出域選擇輸入值,使落在輸出域等價類內,可以結合弱健壯測試用例結合。
邊界值分析方法:
一.方法簡介
1.定義:
邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。
2.與等價劃分的區別
1)邊界值分析不是從某等價類中隨便挑乙個作為代表,而是使這個等價類的每個邊界都要作為測試條件。 2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。
3.邊界值分析方法的考慮:
長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。因此針對各種邊界情況設計測試用例,可以查出更多的錯誤。 使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況。應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值作為測試資料。
4.常見的邊界值1)對16-bit 的整數而言 32767 和 -32768 是邊界 2)螢幕上游標在最左上、最右下位置 3)報表的第一行和最後一行 4)陣列元素的第乙個和最後乙個 5)迴圈的第 0 次、第 1 次和倒數第 2 次、最後一次
5.邊界值分析
1)邊界值分析使用與等價類劃分法相同的劃分,只是邊界值分析假定錯誤更多地存在於劃分的邊界上,因此在等價類的邊界上以及兩側的情況設計測試用例。
例:測試計算平方根的函式
--輸入:實數
--輸出:實數
--規格說明:當輸入乙個0或比0大的數的時候,返回其正平方根;當輸入乙個小於0的數時,顯示錯誤資訊"平方根非法-輸入值小於0"並返回0;庫函式print-line可以用來輸出錯誤資訊。
2)等價類劃分:
i.可以考慮作出如下劃分:
a、輸入 (i)<0 和 (ii)>=0
b、輸出 (a)>=0 和 (b) error
ii.測試用例有兩個:
a、輸入4,輸出2。對應於 (ii) 和 (a) 。
b、輸入-10,輸出0和錯誤提示。對應於 (i) 和 (b) 。
3)邊界值分析:
劃分(ii)的邊界為0和最大正實數;劃分(i)的邊界為最小負實數和0。由此得到以下測試用例:
a、輸入
b、輸入
c、輸入 0
d、輸入
e、輸入
4)通常情況下,軟體測試所包含的邊界檢驗有幾種型別:數字、字元、位置、重量、大小、速度、方位、尺寸、空間等。
5)相應地,以上型別的邊界值應該在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最長、 空/滿等情況下。
6)利用邊界值作為測試資料
測試用例與測試用例的設計方法
測試用例 test case 是為某個特殊目標而編制的一組測試輸入 執行條件以及預期結果,以便測試某個程式路徑或核實是否滿足某個特定需求。目前黑盒測試的測試用例設計方法有5種 等價類劃分 邊界值分析 錯誤推測法 目前黑盒測試 的測試用例 設計方法有5種 等價類劃分 邊界值分析 錯誤推測法 因果圖功能...
測試用例設計方法
設計 方法 測試用例 1.測試用例設計方法 1.1.白盒測試的測試用例設計 邏輯覆蓋法 這種方法是從程式 內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程式的邏輯結構十分清楚,甚至應掌握源程式的所有細節。1.1.1.語句覆蓋 設計若干測試用例,執行被測試程式,使得每個可執行語句至少執行一...
測試用例設計方法
1.測試用例設計方法 1.1.白盒測試的測試用例設計 邏輯覆蓋法 這種方法是從程式內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程式的邏輯結構十分清楚,甚至應掌握源程式的所有細節。1.1.1.語句覆蓋 設計若干測試用例,執行被測試程式,使得每個可執行語句至少執行一次。1.1.2.判斷覆蓋...