51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5294|回复: 12
打印 上一主题 下一主题

[讨论] 设计该测试用例该用什么方法?等价类?判定表?求完整用例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-7-16 18:12:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.车的基础费用是500元

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

3.25岁以上优惠100

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

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

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

设计测试用例
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

推荐
发表于 2013-7-18 23:21:23 | 只看该作者
等价类是相对穷举法的,穷举法就是把所有的数据都来测试一下。

这个用例是一个人买车,根据这个人的不同情况,会有不同的优惠,所以要测试这个,要分析清楚这个优惠条件
设计测试用例要先分析有哪些输入,这个题目中的输入是各种不同的条件,列举如下:
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

评分

参与人数 1测试积点 +10 收起 理由
lsekfe + 10 积极回复获得测试积点10

查看全部评分

回复 支持 2 反对 0

使用道具 举报

该用户从未签到

推荐
发表于 2013-7-20 16:11:41 | 只看该作者


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

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

我第一次回答这个问题时,把25岁以上享受100优惠理解成了 年龄大于25,但不包括25岁,所以把25岁单独列出来了。但这个题目最初的需求应该是大于等于25岁,就可享受100的优惠。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

推荐
发表于 2013-7-20 14:24:35 | 只看该作者
编写用例的前提是理解清楚需求,这道题目,我也许理解错了,条件 45至65岁的不享受任何折扣优惠 与有跑车的需要额外支付费用,应该不冲突,也就是说 45-64岁之间的,如果有跑车,则需要支付2000.
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2013-7-17 09:39:22 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2013-7-17 18:23:24 | 只看该作者
同问,看了上面的描述不知道怎么入手啊
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2013-7-20 16:00:34 | 只看该作者
判定表法(也有一个名称叫决策表发)是指程序在一些数据处理问题中,某些操作依赖多个逻辑条件的取值,即就是这些逻辑条件取值组合所构成的多种情况下,分别执行不同的操作,所以想处理这类问题就需要用判定表(Decision Table)。
判定表组成
条件桩:列出了问题的所有条件  
动作桩:列出了问题规定可能采取的操作  
条件项:列出针对它所列条件的取值,在所有可能情况下的真假值
动作项:列出在条件项的各种取值情况下应该采取的动作
规则:任何一个条件组合的特定取值及其相应要执行的操作
对于这题目来说,
条件
年龄?
1-24、25-44/大于65 、45-65

性别是男吗?
男、女

有家庭型车吗?
有、没有

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

25岁以上优惠100
        A2

拥有家庭车型优惠100
A3

45-65不享受任何优惠
A4

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

列举出的决策表如下:
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2013-7-22 11:55:43 | 只看该作者
赞一个
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2016-3-14 17:01:18 | 只看该作者
sy070904 发表于 2013-7-18 23:21
等价类是相对穷举法的,穷举法就是把所有的数据都来测试一下。

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

思路清晰
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2015-11-11 15:40
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2016-3-15 09:26:23 | 只看该作者
    sy070904 发表于 2013-7-20 14:24
    编写用例的前提是理解清楚需求,这道题目,我也许理解错了,条件 45至65岁的不享受任何折扣优惠 与有跑车的 ...

    思路真是清晰,写的不错,学习了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 00:51 , Processed in 0.073383 second(s), 31 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表