Skip to content

边界值

概念

  1. 边界值只是一个特定的数据。

  2. 若一个文本框要求输入 6~16 位字符,则他的边界值为 6 和 16,次边界值包括 5、7、15、17

边界值的选取原则

  1. 如果输入/输出数给了范围,则边界值应为范围中最小值-1、最小值、最小值+1、最大值-1、最大值、最大值+1。(这里的 1 表示一个单位,不同的系统单位不同,例如:文本框输入字符系统的单位是 1 个字符;ATM 机存取款系统的单位是 100 元)
  2. 如果规格说明中给出的输入域/输出域是一个集合,则边界值应为集合的第一个元素和最后一个元素。例如:选择名族、地址等。
  3. 如果程序中使用了一个内部的数据结构,则边界值应选择该结构中边界的值进行测试。
  4. 6< x <12
    • 边界值: 7、11
    • 次边界:6、8、10、12
  5. 6 <= x <= 12
    • 边界值:6、12
    • 次边界:5、7、11、13
  6. x 属于 (6,12]
    • 边界:7、12
    • 次边界:6、8、11、13
  7. 选择省份:【内蒙、北京、天津、上海】
    • 边界:内蒙、上海
    • 输出邮编

等价类

分类

  1. 有效等价类
  2. 无效等价类

原理

  1. 把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。
  2. 每一类的代表性数据在测试中的作用等价于这一类中的其他值如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。
  3. 反之,如果菜一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。

等价类划分原则

  1. 当输入条件给定了取值范围,可以确定一个有效等价类和两个无效等价类。

    例:输入框输入 6~12 个字符

    有效等价类:6 <= x <=12

    无效等价类:x < 6;x > 12

  2. 当输入条件给定了一个必须值,可以确定一个有效等价类和一个无效等价类。

    例:输入 11 位手机号

    有效等价类:x = 11

    无效等价类:x != 11

  3. 当输入条件位布尔值时,可以确定一个有效等价类和一个无效等价类。

  4. 当输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

  5. 当输入数据规定了一组规则,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

    例:用户名要求 6 ~ 12 位,由字母、数字、下划线组成,以大写字母开头。

    有效等价类:符合规则的

    无效等价类:

    • 输入 < 6 位
    • 输入 > 12 位
    • 输入特殊字符
    • 不用大写字母开头
  6. 在确知己划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。

因果图

什么是因果图

  1. 因果图法:有原因、有结果、有图。用于描述原因和结果之间的关系。
  2. 因果图法是一种适合于描述多种输入条件组合的测试方法。
  3. 根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法。
  4. 它适合于检查程序输入条件涉及的各种组合情况。

因果图的符号

  1. 在因果图中,包含恒等、非、与、或三种关系。
  2. 恒等:原因 A 成立,则结果 B 一定会出现。
  3. 非:原因 A 成立,则结果 B 绝对不会出现。
  4. 或:原因 A、B、C 其中一个成立,则结果 D 一定会出现。
  5. 与:原因 A、B、C 都成立,则结果 D 才会出现。

场景法

原理

  1. 基本流:软件功能按照正确的事件流实现的一条正确的流程。基本流只有一个起点和一个终点。

  2. 备选流:除了基本流以外的各个支流。

注意事项

  1. 场景中必须有基本流。
  2. 场景中必须有内容,从用例开始到用例结束。

分析与实现

  1. 制作流程图。
  2. 根据流程图分析基本流和备选流。
  3. 场景设计:
    • 每个场景里必须包含基本流和至少一个备选流
    • 基本流可以作为一个单独的场景。
  4. 设计测试用例:
    • 根据场景设计,每一个场景对应一条测试用例。
    • 设计测试步骤
    • 设计测试数据

基于 MIT 许可发布