• 4.软件测试用例设计


    1.黑盒测试用例设计方法

    • 等价类划分法
    1. 等价类划分法是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的说明来设计测试用例;
    2. 等价类划分法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例;
    3. 使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步;
      • 划分等价类:等价类是指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,测试某等价类的代表值就等价于这一类其他值的测试;
      • 等价类的两种情况:有效等价类和无效等价类。
    4. 划分等价类原则如下:
      • 按区间划分;
      • 按数值划分;
      • 按数值集合划分;
      • 按限制条件或规则划分。
    5. 举例说明
    6. 从划分出的等价类中按以下原则选择测试用例
      • 为每一个等价类规定一个惟一的编号;
      • 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖为止;
      • 设计一个新的测试用例,使其仅覆盖一个无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止。
    • 边界值分析法
    1. 边界值分析法也是一种黑盒测试方法,是对等价类划分法的补充;
    2. 人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误;
    3. 举例说明
    4. 这里的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况;
    5. 使用边界值分析法设计测试用例,首先确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
    • 场景法
    1. 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。这种在软件涉及方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的场景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行;
    2. 场景说明
    3. 用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流;
    4. 如图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3),也可能起源于基本流或备选流,然后结束用例(如备选流4和2)
    • 测试要素分析法
    • 错误推测法
    1. 也可以靠经验和直觉推测程序中可能存在的错误,从而有针对性地编写检查这些错误的例子,这就是错误推测法;
    2. 错误推测法的基本思想是:列举出程序中所有可能的错误和容易发生错误的特殊情况,根据它们选择测试用例。
    • 因果图法
    1. 等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系。如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天文数字。因此必须考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图;
    2. 因果图法是一个非常有效的黑盒测试方法,它能够生成没有重复性的且发现错误能力强的测试用例,而且对输入、输出同时进行了校验;
    3. 举例说明:有一个表格的输入,在第一列必须是A或B,第二列必须是数字,在此情况下进行文件的修改,如果第一列字符不正确,则给出信息L,如果第二列不是数字,则给出信息M。
    • 正交矩阵法
    1. 优点:正交试验设计(Orthogonal experimental design)是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验;
    2. 缺点:部分点可能在实际生产环境中极少用到,但测试过程中却花费了大量人力及时间去设计测试,而实际情况下,我们应该将更多的时间花费在用户可能大量使用的测试点中;
    3. 参考路径:https://www.cnblogs.com/Goongo/articles/9077477.html
    • 综合策略
    1. 首先进行等价类划分,包括输入条件和输出条件的等价类划分,将无线测试变为有限测试,这是减少工作量和提高测试效率最有效的方法;
    2. 在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出来的测试用例发现程序错误的能力最强;
    3. 可以用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验;
    4. 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;
    5. 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法;
    6. 对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果;
    7. 对于业务流清晰的系统,可以利用场景法贯穿这个测试案例过程,在案例中综合使用各种测试方法
  • 相关阅读:
    理解Java中字符流与字节流的区别
    程序员常见面试问题(不定期更新)
    软链接 硬链接
    《大数据时代》读后的思考
    mysql——int(size) 中的size表示什么意思
    Access denied for user ''@'localhost' to
    Effective c++——条款03:尽可能使用const
    http——wireshark抓包分析
    vim——vim配置步骤
    正则表达式和通配符
  • 原文地址:https://www.cnblogs.com/Goongo/p/9073503.html
Copyright © 2020-2023  润新知