测试用例设计方法例子
2011-03-05 00:09
309 查看
Quotes: http://smt.fortuneage.com/uwang/83-46038.aspx
一、
等价类划分
问:
某程序规定:"输入三个整数 a 、 b 、 c
分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 …
"。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
解:
分析题目中给出和隐含的对输入条件的要求:
(1)整数 (2)三个数 (3)非零数 (4)正数
(5)两边之和大于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号
覆盖有效等价类的测试用例:
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)
覆盖无效等价类的测试用例:
二、边界值分析法
NextDate函数的边界值分析测试用例
在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
三、错误推测法
测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:
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.送出啤酒饮料
2)
画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:
11. 投入1元硬币且押下饮料按钮
12.
押下〖橙汁〗或〖啤酒〗的按钮
13.
应当找5角零钱并且售货机有零钱找
14.
钱已付清
3)
转换成判定表:
五、判定表驱动分析方法
问题要求:
”……
对功率大于
50
马力的机器、维修记录不全或已运行
10
年以上的机器,应给予优先的维修处理
……”
。这里假定,
“
维修记录不全
”
和
“
优先维修处理
”
均已在别处有更严格的定义
。请建立判定表。
解答:
①确定规则的个数:这里有
3
个条件,每个条件有两个取值,故应有
2*2*2=8
种规则。
②列出所有的条件茬和动作桩:
③填入条件项。可从最后
1
行条件项开始,逐行向上填满。如第三行是:
Y N Y N Y N Y N
,第二行是:
Y Y N N Y Y N N
等等。
④填入动作桩和动作顶。这样便得到形如图的初始判定表。
初始判定表
⑤化简。合并相似规则后得到图。
一、
等价类划分
问:
某程序规定:"输入三个整数 a 、 b 、 c
分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 …
"。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
解:
分析题目中给出和隐含的对输入条件的要求:
(1)整数 (2)三个数 (3)非零数 (4)正数
(5)两边之和大于第三边 (6)等腰 (7)等边
如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:
1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号
覆盖有效等价类的测试用例:
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)
覆盖无效等价类的测试用例:
二、边界值分析法
NextDate函数的边界值分析测试用例
在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
测试用例 | mouth | day | year | 预期输出 |
Test1 Test2 Test3 Test4 Test5 Test6 Test7 | 6 6 6 6 6 6 6 | 15 15 15 15 15 15 15 | 1911 1912 1913 1975 2049 2050 2051 | 1911.6.16 1912.6.16 1913.6.16 1975.6.16 2049.6.16 2050.6.16 2051.6.16 |
Test8 Test9 Test10 Test11 Test12 Test13 | 6 6 6 6 6 6 | -1 1 2 30 31 32 | 2001 2001 2001 2001 2001 2001 | day超出[1…31] 2001.6.2 2001.6.3 2001.7.1 输入日期超界 day超出[1…31] |
Test14 Test15 Test16 Test17 Test18 Test19 | -1 1 2 11 12 13 | 15 15 15 15 15 15 | 2001 2001 2001 2001 2001 2001 | Mouth超出[1…12] 2001.1.16 2001.2.16 2001.11.16 2001.12.16 Mouth超出[1…12] |
测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:
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.送出啤酒饮料
2)
画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:
11. 投入1元硬币且押下饮料按钮
12.
押下〖橙汁〗或〖啤酒〗的按钮
13.
应当找5角零钱并且售货机有零钱找
14.
钱已付清
3)
转换成判定表:
五、判定表驱动分析方法
问题要求:
”……
对功率大于
50
马力的机器、维修记录不全或已运行
10
年以上的机器,应给予优先的维修处理
……”
。这里假定,
“
维修记录不全
”
和
“
优先维修处理
”
均已在别处有更严格的定义
。请建立判定表。
解答:
①确定规则的个数:这里有
3
个条件,每个条件有两个取值,故应有
2*2*2=8
种规则。
②列出所有的条件茬和动作桩:
③填入条件项。可从最后
1
行条件项开始,逐行向上填满。如第三行是:
Y N Y N Y N Y N
,第二行是:
Y Y N N Y Y N N
等等。
④填入动作桩和动作顶。这样便得到形如图的初始判定表。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
条 件 | 功率大于 50 马力吗? | Y | Y | Y | Y | N | N | N | N |
维修记录不全吗? | Y | Y | N | N | Y | Y | N | N | |
运行超过 10 年吗? | Y | N | Y | N | Y | N | Y | N | |
动 作 | 进行优先处理 | x | x | X | X | X | |||
作其他处理 | X | x | x |
⑤化简。合并相似规则后得到图。
1 | 2 | 3 | 4 | 5 | ||
条 件 | 功率大于 50 马力吗? | Y | Y | Y | N | N |
维修记录不全吗? | Y | N | N | - | - | |
运行超过 10 年吗? | - | Y | N | Y | N | |
动 作 | 进行优先处理 | x | x | X | ||
作其他处理 | x | x |
相关文章推荐
- 黑盒测试的一些设计测试用例的方法及例子
- 测试用例设计方法例子
- 常见的测试用例设计方法都有哪些?分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
- 黑盒测试的一些设计测试用例的方法及例子
- 测试分析与测试用例设计方法
- 功能测试用例和界面测试用例的设计方法
- 测试用例的重要性及设计方法
- 测试用例设计白皮书--等价类划分方法
- 测试用例设计白皮书--判定表驱动分析方法
- 白盒测试用例设计方法-判定条件覆盖法
- 黑盒测试的测试用例设计方法
- 黑盒测试用例设计方法
- 黑盒测试用例设计方法--场景法
- 常用测试用例设计方法总结
- 软件测试方法及测试用例的设计方法
- 黑盒测试用例设计方法
- 黑盒测试用例设计方法
- 界面测试用例的设计方法
- 测试用例设计白皮书--场景设计方法
- 测试用例设计白皮书--等价类划分方法