软件测试经典案例
- 格式:docx
- 大小:25.88 KB
- 文档页数:6
-可编辑修改-
软件测试一测试用例的经典例子
、等价类划分 问:某程序规定:"输入三个整数a、b、c分别作为三边的边长构成 三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角 形、等腰三角形及等边三角形时, 分别作计算 …"。用等价类划分方法 为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出
之间的关系比较复杂。)
解:
分析题目中给出和隐含的对输入条件的要求:
(1) 整数
(2) 三个数
(3) 非零数
(4) 正数
(5) 两边之和大于第三边
(6) 等腰
(7) 等边
如果a、 b、c满足条件(1 )〜(4 ),则输出下列四种情 况之一:
1) 如果不满足条件(5),则程序输出为”非三角形”。
2) 如果三条边相等即满足条件(7),则程序输出为"等边三角形"c
3) 如果只有两条边相等、即满足条件(6),则程序输出为"等腰三
角形 II 11 -可编辑修改-
4)如果三条边都不相等,则程序输出为 II 般三角形 II
列出等价类表并编号
4PJ
入
条
件 输
A
个
整
数 三个数
菲零数
正数
构成一報
三角形 a+t)》G
b+c^a
o+c>b
构成等腿
三角形 b=c l且两边
f之和
a=c」大千第
三边 9
1Q
初成等嵯
三角形 r逍为非曲
-边为非建熱!乃为非籃数
I c为非整数
「小为非整数 两边为非-整蝌IV肯非整数
L密为非整数
三边• &丄均抑非整数
「只给连
只给一边-只给b
「只给貼 只给两边彳貝给毗
给出三个以上
一边为零
二边为零
二边 ahjC 0
0-0
対为为
匕O 为为
一边 {a r a+Vi1 L a+t^O b+r=« r a+c 1 a+c^b 12 13 M 15 K 17 10 20 2? 22 23 24 25 26 27 28 2P 30 3£ 32 33 34 35 36 37 3S 39 40 ZT 42 43 44 45 -可编辑修改- 覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 4 5 (1)- -(7) 4 4 5 (1)- -(7), (8) 4 5 5 (1)- -(7), (9) 5 4 5 (1)- -(7), (10) 4 4 4 (1)- -(7), (11) 覆盖无效等价类的测试用例: a b c 釐盖等价类号码 a b c 霉盖等价类号钳 2,5 4 5 12 0 0 5 29 3 4.5 5 13 3 0 0 30 3 4 5. 5 14 0 4 0 31 3.5 4.5 5 15 0 0 0 32 3 4. 5 5_5 16 -3 4 5 33 3.5 4 5- 5 1T 3 -4 5 34 4. 5 4. 5 5-5 18 3 4 -5 35 3 19 -3 -4 5 36 4 20 -3 4 _5 37 5 21 3 T -5 38 3 4 22 -3 -4 一5 39 4 5 23 3 1 5 40 3 5 24 3 2 5 41 3 4 5 25 3 1 1 42 0 4 5 26 3 2 1 43 3 0 5 27 1 4 2 44 3 4 0 28 3 4 1 45 二、边界值分析法 NextDate函数的边界值分析测试用例 -可编辑修改- 在NextDate函数中,隐含规定了变量 mouth和变量day的取值范围 为1 ^mouth <12和1 Way <31,并设定变量year的取值范围为 1912 <^ear <2050。 测试用例 mouth day year 预期输出 Test1 6 15 1911 1911.6.16 Test2 6 15 1912 1912.6.16 Test3 6 15 1913 1913.6.16 Test4 6 15 1975 1975.6.16 Test5 6 15 2049 2049.6.16 Test6 6 15 2050 2050.6.16 Test7 6 15 2051 2051.6.16 Test8 6 -1 2001 day超出 Test9 6 1 2001 [1 …31] Test1 6 2 2001 2001.6.2 0 6 30 2001 2001.6.3 Test1 6 31 2001 2001.7.1 1 6 32 2001 输入日期超界 Test1 day超出 2 [1 …31] Test1 3 -可编辑修改- Testi -i i5 200i Mouth超出 4 i i5 200i [i …i2] Testi 2 i5 200i 200i.i.i6 5 ii i5 200i 200i.2.i6 Testi i2 i5 200i 200i.ii.i6 6 i3 i5 200i 200i.i2.i6 Testi Mouth超出 7 [i …i2] Testi 8 Testi 9 三、错误推测法 测试一个对线性表(比如数组)进行排序的程序,可推测列出以 下几项需要特别测试的情况: I. 输入的线性表为空表; II. 表中只含有一个元素; III. 输入表中所有元素已排好序; IV. 输入表已按逆序排好; -可编辑修改- V. 输入表中部分或全部元素相同 四、因果图法 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规 格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗 的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零 钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来 而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭, 在送出饮料的同时退还5角硬币。 1)分析这一段说明,列出原因和结果 原因: 1. 售货机有零钱找 2. 投入1元硬币 3. 投入5角硬币 4. 押下橙汁按钮 5. 押下啤酒按钮 21. 售货机〖零钱找完〗灯亮 22. 退还1元硬币 23. 退还5角硬币 24. 送出橙汁饮料 25. 送出啤酒饮料