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


    说明

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

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

    使用步骤

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

    等价类划分原理:

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

    确定等价类的原则:

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

    使用示例

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

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

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

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

  • 相关阅读:
    MindSpore:【JupyterLab】按照新手教程训练时报错
    嵌入式数据库是什么
    上海亚商投顾:沪指窄幅震荡 煤炭板块午后大涨
    ChatGPT的问世给哪些行业带来了冲击?
    Ubuntu下运行QEMU模拟riscv64跑Debian
    TIOBE 6 月编程语言排行榜:C++ 即将超越 Java
    如何设定员工满意度调研的维度?
    AIGC启示录:深度解析AIGC技术的现代性与系统性的奇幻旅程
    Spring与OAuth2:实现第三方认证和授权的最佳实践
    蚂蚁三面滑铁卢!遭分布式截胡,靠这些笔记潜修 30 天,挺进京东
  • 原文地址:https://blog.csdn.net/weixin_44988085/article/details/128074063