51Testing软件测试论坛

标题: 设计该测试用例该用什么方法?等价类?判定表?求完整用例 [打印本页]

作者: 793200619    时间: 2013-7-16 18:12
标题: 设计该测试用例该用什么方法?等价类?判定表?求完整用例
1.车的基础费用是500元

2.25岁以下男性需额外支付费用1500元

3.25岁以上优惠100

4.拥有家庭型车的优惠100

5.45至65岁的不享受任何折扣优惠

6.拥有跑车的需要额外支付费用1500

设计测试用例
作者: 793200619    时间: 2013-7-17 09:39

作者: liuyuanyuan133    时间: 2013-7-17 18:23
同问,看了上面的描述不知道怎么入手啊
作者: sy070904    时间: 2013-7-18 23:21
等价类是相对穷举法的,穷举法就是把所有的数据都来测试一下。

这个用例是一个人买车,根据这个人的不同情况,会有不同的优惠,所以要测试这个,要分析清楚这个优惠条件
设计测试用例要先分析有哪些输入,这个题目中的输入是各种不同的条件,列举如下:
1.性别
2.年龄
3.是否有家庭型车
4.是否有跑车

每个输入的取值范围如下:
1.性别  男、女 (人妖?这个不考虑)
2.年龄  1岁、2岁。。。200岁(年龄无最大值的,但是我们需要考虑的最大值是66),这个题目中不同年龄段
优惠不同,弄清几个年龄段来设计用例
3.是否有家庭型车 有、没有
4.是否有跑车   有、没有

用最笨拙的的方式写测试用例,只有一个条件改变,其他条件不变 ,罗列出所有的情况:
男 1岁 没有家庭型车 没有跑车 需要支付的费用是 500+1500
男 2岁 没有家庭型车 没有跑车 需要支付的费用是 500+1500
。。。。。
男24岁 没有家庭型车 没有跑车 需要支付的费用是 500+1500

从上面看出1-24之间的数值对支付的费用是一样的,无影响的,故称为等价类。所以只考虑这其中一个数字测试即可。
这个题目中等价类特别多,比如当年龄>25,无论你是男,是女都会优惠100;当年龄大于等于45,小于等于65,无论你的性别,无论是否有跑车、无论是否有家庭型车,统统都是基础价500.

按照这种等价类的思路设计用例如下:
1.男 24岁 无家庭型车 无跑车 支付费用为 2000
2.男/女 25岁 无家庭型车 无跑车 费用为500
3.男/女 44岁 无家庭型车 无跑车 费用为 400
4.男/女 45岁 有/无家庭型车 有/无跑车 费用为 500
5.男/女 66岁 无家庭型车 无跑车 费用为 400

6.男  24岁  有家庭型车  无跑车 1900
7.男/女 25岁 有家庭型车 无跑车 400
8.男/女 44岁 有家庭型车 无跑车 300
9.男/女 66岁 有家庭型车 无跑车 300

10.男 24岁 无家庭型车 有跑车 3500
11.男/女 25岁 无家庭型车 有跑车 2000
12.男/女 44岁 无家庭型车 有跑车 1900
13.男/女 66岁 无家庭型车 有跑车 1900

14.男 24岁 有家庭型车 有跑车 3400
15.男/女 25岁 有家庭型车 有跑车 1900
16.男/女 44岁 有家庭型车 有跑车 1800
17.男/女 66岁 有家庭型车 有跑车 1800
作者: sy070904    时间: 2013-7-20 14:24
编写用例的前提是理解清楚需求,这道题目,我也许理解错了,条件 45至65岁的不享受任何折扣优惠 与有跑车的需要额外支付费用,应该不冲突,也就是说 45-64岁之间的,如果有跑车,则需要支付2000.
作者: sy070904    时间: 2013-7-20 16:00
判定表法(也有一个名称叫决策表发)是指程序在一些数据处理问题中,某些操作依赖多个逻辑条件的取值,即就是这些逻辑条件取值组合所构成的多种情况下,分别执行不同的操作,所以想处理这类问题就需要用判定表(Decision Table)。
判定表组成
条件桩:列出了问题的所有条件  
动作桩:列出了问题规定可能采取的操作  
条件项:列出针对它所列条件的取值,在所有可能情况下的真假值
动作项:列出在条件项的各种取值情况下应该采取的动作
规则:任何一个条件组合的特定取值及其相应要执行的操作
对于这题目来说,
条件
年龄?
1-24、25-44/大于65 、45-65

性别是男吗?
男、女

有家庭型车吗?
有、没有

有跑车吗?
有、没有
动作
25岁以下男额外支付1500
A1

25岁以上优惠100
        A2

拥有家庭车型优惠100
A3

45-65不享受任何优惠
A4

有跑车额外支付1500
A5
把基础费用当成A0,即500块钱。

列举出的决策表如下:
作者: sy070904    时间: 2013-7-20 16:11
[attach]86432[/attach]

图中把很多可以合并的项合并在一起了,用--表示,不需要考虑值的项。

这个用例中的年龄段被分成了四段,小于24,大于25小于44,45至65,大于65。其中第二第四个年龄段是这个题目来说是没有区别的。

我第一次回答这个问题时,把25岁以上享受100优惠理解成了 年龄大于25,但不包括25岁,所以把25岁单独列出来了。但这个题目最初的需求应该是大于等于25岁,就可享受100的优惠。
作者: 793200619    时间: 2013-7-22 11:55
赞一个
作者: xiaobaicai123    时间: 2016-1-24 19:01

作者: xiaobaicai123    时间: 2016-1-24 19:01
赞一个
作者: xiaobaicai123    时间: 2016-1-24 19:02
赞一个
作者: 猛虎的那些花儿    时间: 2016-3-14 17:01
sy070904 发表于 2013-7-18 23:21
等价类是相对穷举法的,穷举法就是把所有的数据都来测试一下。

这个用例是一个人买车,根据这个人的不同 ...

思路清晰
作者: 远方的小企鹅    时间: 2016-3-15 09:26
sy070904 发表于 2013-7-20 14:24
编写用例的前提是理解清楚需求,这道题目,我也许理解错了,条件 45至65岁的不享受任何折扣优惠 与有跑车的 ...

思路真是清晰,写的不错,学习了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2