测试用例设计方法例子

    技术2022-05-19  23

    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 。

    测试用例 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

     


    最新回复(0)