测试用例方法--等价类划分法

定义

是一种黑盒测试方法。依据是软件需求规格说明书
等价类的定义:是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。
等价类分为有效等价类和无效等价类。
有效等价类:正确的输入值;无效等价类:不正确的输入值。

划分原则

在给定了输入或外部条件之后,等价类的划分原则如下:

输入条件规定 有效等价类 无效等价类
区间(如,1 1个(1 2个(a>=100, a<=1)
数值(如,“汽车可登记一至六名车主”) 1个 (车主个数1至6个) 2个(无车主,车主个数大于6个)
限制条件(如,“交通工具的类型必须是公共汽车、卡车、出租车、火车或摩托车”) 5个 (公共汽车、卡车、出租车、火车、摩托车) 1个(飞机)
数据存储类型(如,测试加法器,两个文本框,要求输入-99~99之间的整数) 2个(-99至-1, 0至99) 2个(<-99, >99)

划分等价类的标准

  • 子集互不相交,子集的并集为整个集合
  • 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"

用例设计步骤

  1. .确定等价类
  2. 建立等价类表
    列出与每一个输入条件对应的有效等价类和无效等价类, 最好有对每个子集编号
序号 功能项 有效等价类 编号 无效等价类 编号
1
2
  1. 生成测试用例
    现在利用等价类表来生成测试用例,其过程如下:
  • 编写新的测试用例,尽可能多地覆盖那些尚未被涵盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖(包含进去)。
  • 编写新的用例,每次覆盖一个(仅一个)尚未被涵盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖(包含进去)。

测试用例的完整性划分

针对是否对无效数据进行测试,可以将等价类测试分为标准等价测试类和健壮等价类测试。

  1. 标准等价类测试: 只针对有效数据, 不考虑无效数据。
  2. 健壮等价类测试:无效+有效数据

健壮等价类测试存在两个问题:
1)需要花费精力定义无效测试用例的期望输出
2)对强类型的语言没有必要考虑无效的输入,程序可以自己检测

注意事项

不仅要针对输入域进行等价类划分,也应针对输出域进行等价类划分

示例

程序要求:输入三个整数a、b、c分别作为三角形的三边长度,通过程序判定所构成的三角形的类型;当三角形为一般三角形、等腰三角形或等边三角形时,分别作处理。

  1. 等价类分析

    输入域
    A三个、B整数、C正数、D两边之和大于第三边、E三边均不相等、F两边相等但不等于第三边、G三边相等(D~G由输出值域的等价类隐性确定)

    输出域
    R1={不构成三角形}、R2={一般三角形}、R3={等腰三角形}、R4={等边三角形}

  2. 等价类表

  3. 生成用例

你可能感兴趣的:(软件测试,测试用例)