51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4241|回复: 5
打印 上一主题 下一主题

[求助] 用例设计方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-18 17:34:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么样可以使自己在写用例的时候逻辑思路特别清晰?请大家帮忙发表下自己的见解。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-5-19 14:50:29 | 只看该作者
在掌握了“等价”“边界”“错误推断”后,剩下的主要问题其实就只是用例框架的搭建了,我一般使用的都是先划分测试单元,再组合的方法。
(刚才回了个帖子,大概就是这样http://bbs.51testing.com/thread-209496-1-1.html

当然,只能对简单的东西有用,如果太复杂,我会在“因果”和“正交”里选一个。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-24 10:12
  • 签到天数: 536 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2010-7-5 17:18:18 | 只看该作者
    最主要的是先对需求非常了解啦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-7-9 16:26:04 | 只看该作者

    回复 1# 的帖子

    我个人感觉是:根据需求,然后选择常说的等价类划分法,边界值法等
    本人也是个新手,所以运用得还不熟练
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-24 10:12
  • 签到天数: 536 天

    连续签到: 1 天

    [LV.9]测试副司令

    5#
    发表于 2010-7-9 16:56:02 | 只看该作者
    测试用例设计方法例子
          一、等价类划分
      问:某程序规定:"输入三个整数 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
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-24 10:12
  • 签到天数: 536 天

    连续签到: 1 天

    [LV.9]测试副司令

    6#
    发表于 2010-7-9 16:57:33 | 只看该作者
    转帖的。。。可能排序有问题,具体可以见http://smt.fortuneage.com/uwang/83-46038.aspx
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-6 02:53 , Processed in 0.070021 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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