本篇文章,来分享大家比较熟悉的测试用例设计方法—— 等价类划分法 。

首先,我们可以使用上一篇文章介绍的场景法来梳理业务流程。

其次,根据流程中的每个节点的需求说明,使用等价来划分来设计用例。

定义

等价类划分:

依据需求,将输入域划分为若干部分,再从每个部分中选取少数代表性数据当做测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其他值。

在同一个等价类中的数据,如果该测试用例通过,则代表该等价类的所有数据都通过测试,否则,都不通过测试。

软件测试用例设计方法-等价类划分法_软件测试用例设计

图片中的输入框,是一个公司的用户 ID 输入框,限制输入3位数的整数。

由此可以分为3个等价类:

  1. 100-999
  2. 少于100
  3. 大于999

第一个等价类 100-999,输入数据:202 通过测试,则代表其他100-999中的其他数据也通过测试。

适用场景

对于等价类划分法,一般适用于有无限多种输入,但又不可能完全穷尽测试,此方法可以使得我们用较少的测试用例,尽可能多地将功能覆盖掉。

分类

在等价类划分法中,可以将数据分为有效等价类和无效等价类。

* *有效等价类:

有意义的输入构成的集合,对于需求规格说明书是合法的

前面的例子中,100-999 属于有效等价类。

无效等价类:

不满足需求的集合,对于需求规格说明书是不合法的

前面的例子中,后面两项分类,都属于无效的等价类。

设计步骤

  1. 明确测试对象,非测试对象保证正确
  2. 为每一个等价类规定一个唯一的编号

软件测试用例设计方法-等价类划分法_软件测试用例设计_02

基于等价类划分的用例设计:

  1. 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步,最后使得所有有效等价类均被测试用例所覆盖
  2. 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使所有无效等价类均被覆盖

等价类的特点

  1. 测试相同的内容
  2. 如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷
  3. 如果等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷
  4. 如果正确的划分等价类,可以大大降低测试用例的数量,测试会准确有效
  5. 如果错误地将两个不同的等价类当做一个等价类,那就会遗漏一种测试情况
  6. 相反,把同一个等价类看作两个不同的等价类,那么测试就会是冗余的

注意事项:

  1. 不但要考虑有效等价类,也要考虑无效等价类
  2. 仔细划分,审查划分
  3. 过于粗略可能会遗漏掉软件缺陷
  4. 组织评审

以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。

Leo Never Stop Fighting!


文章标题:软件测试用例设计方法-等价类划分法

本文作者:程序员二黑

本文链接: 

欢迎关注公众号:「程序员二黑」及时接收最新技术文章!