• 测试用例设计理论


    参考: http://blog.csdn.net/vincetest/article/details/1475414

    研究这个纯粹是为了面试,面试,面试。

    感觉软件测评师也不错,对将来的测试生涯应该有帮助。等闲下来之后看能不能把这个证给考了。听说很难!

     测试用例的组成要素

    1. 用例ID
    2. 用例名称
    3. 测试目的
    4. 测试级别
    5. 测试环境
    6. 测试步骤
    7. 预期结果

    测试用例的设计方法

    等价类划分法

    定义:把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

    备注:该方法是一种重要的,常用的黑盒测试用例设计方法。

    等价类划分可有两种不同的情况:有效等价类和无效等价类。

    1. 有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
    2. 无效等价类:与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。

    设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

    边界值分析方法

    定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。

    备注:通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 

    长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

    使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

    常见的边界值:

    1. 对16-bit 的整数而言 32767 和 -32768 是边界
    2. 屏幕上光标在最左上、最右下位置
    3. 报表的第一行和最后一行
    4. 数组元素的第一个和最后一个
    5. 循环的第 0 次、第 1 次和倒数第 2 次、最后一次

    因果图方法

    定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

    采用因果图法设计测试用例的步骤:

    1. 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。
    2. 分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图。
    3. 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
    4. 把因果图转换为判定表。
    5. 把判定表的每一列拿出来作为依据,设计测试用例。

    例子。

    有一个处理单价为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. 转换成判定表:
     

    4. 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。

     测试用例设计策略

     1. Myers提出了使用各种测试方法的综合策略:

    1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。 【文章来源:文斯测试技术研究中】
    2)必要时用等价类划分方法补充一些测试用例。
    3)用错误推测法再追加一些测试用例。
    4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
    5)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。

    2. 测试用例的设计步骤 

    1)构造根据设计规格得出的基本功能测试用例;
    2)边界值测试用例;
    3)状态转换测试用例;
    4)错误猜测测试用例;
    5)异常测试用例;
    6)性能测试用例;
    7)压力测试用例。
  • 相关阅读:
    mysql-master-ha 实现mysql master的高可用。
    一个不错的工具版本管理工具
    java的日志知识
    从解决一个java.lang.NoSuchMethodError想到的
    一个单点登录问题的解决
    关于2013年1月21日的DNS故障分析文章
    每日好的资源整理
    mongodb3.4 sharding安装文档
    python 函数
    codis3安装测试
  • 原文地址:https://www.cnblogs.com/miniren/p/4844635.html
Copyright © 2020-2023  润新知