• 黑盒测试用例设计 - 等价类划分法


    说明

    在所有测试数据中,具有某种共同特征的数据集合进行划分。
    分类:

    • 有效等价类:满足需求的数据集合
    • 无效等价类:不满足需求的数据集合

    使用步骤

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

    等价类划分原理:

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

    确定等价类的原则:

    • 在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类
      • 例如:一个文本框规定,输入字符个数为 6 ~ 18 位
      • 一个有效等价类:范围内个数
      • 两个无效等价类:小于6、大于18位
    • 在输入条件规定了输入值的集合或者规定了“必须如何”条件的情况下,可以确立一个有效等价类和一个无效等价类
      • 例如:请输入 11 位的手机号
      • 有效等价类:11位
      • 无效等价类:非11位
    • 在输入条件是一个布尔量的情况下可以确定一个有效等价类和一个无效等价类
      • 例子: 布尔量:表示“真”或者“假”
      • 有效等价类:真
      • 无效等价类:假
    • 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立一个有效等价类和n个无效等价类
      • 例子:输入用户名和密码并且都正确后可以登录
      • 一个有效等价类:账号和密码都对正常登录
      • n个无效等价类:账号和密码不匹配
    • 在规定了输入数据必须遵守的规则情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
      • 例子:用户名要求 6 ~ 18 位、由字母、数字、下划线组成;字母区分大小写; 以大写字母开头
      • 有效等价类:符合规则的用户名
      • 若干个无效等价类:有多少个规则,就违反多少个规则
    • 在已划分的等价类中,各元素再程序处理中的方式不同的情况下,则应将该等价类进一步的划分为更小的等价类,根据需求合理的再扩展一些等价类用例

    使用示例

    以百度的注册页面为例:
    老街头的猫。

    用户名:设置后不可更改,中英文均可,最长14个英文或7个汉字;(用户名不可重复;不可为空;)

    将等价类划分组成表格分析:
    老街头的猫。

    测试用例:
    在这里插入图片描述

  • 相关阅读:
    第六章 图 九、拓扑排序
    【Python】【Fintech】用Python和蒙特卡洛法预测投资组合未来收益
    LeetCode每日一练 —— 27. 移除元素
    22矩阵——向量范数和矩阵范数 : 矩阵范数与向量范数的相容、Numpy计算范数
    87 # express 应用和创建应用的分离
    PCB板常见的表面工艺介绍
    JSP plugin动作
    【Tableau Server 企业日常问题 24】Tableau server提示工具嵌入工作表,服务器字体乱码问题解决
    React报错之组件不能作为JSX组件使用
    免费ip代理池
  • 原文地址:https://blog.csdn.net/weixin_44988085/article/details/128074063