• 测试用例设计方法——等价类划分法


    等价类划分,指的是一种典型的、重要的黑盒测试方法。其就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,以此发现更多的软件缺陷,统计好数据后由此对软件进行改进升级。

    在这里插入图片描述

    有效等价类划分

    有效等价类指对于程序规格说明来说,是合理的、有意义地输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。有效等价类可以是一个,也可以是多个,根据系统的输入域划分若干部分,然后从每个部分中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。以下是对有效等价类数据集的一些例子。

    终端用户输入的命令

    与最终用户交互的系统提示

    接受相关的用户文件的名称

    提供初始化值和边界等

    提供格式化输出数据的命令

    在图形模式(比如鼠标点击时)提供的数据

    失败时显示的回应消息

    无效等价类划分

    无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理地输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。以下是无效等价类数据集的一些例子。

    在一个不正确的地方提供适当的值。

    验证边界值

    验证外部边界的值

    用户输入的命令

    最终用户收到系统交互的提示

    验证与边界和外部边界值的数值数据

    等价类划分的方法

    按区间划分。

    按数值划分。

    按数值集合划分。

    按限制条件或规划划分。

    按处理方式划分。

    等价类划分的原则

    在输入条件规定的取值范围或值得个数的情况下,可以确定一个有效等价类和两个无效等价类。

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

    在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。

    在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。

    在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。

    等价类表的建立

    等价类表的建立如表3-1所示。

    表3-1是等价类表的基础,可依据表3-1确定测试用例。测试用例可按下列步骤来确定:

    表3-1 等价类表

    1)在分析需求规格说明的基础上划分等价类,列出等价类表,为每一个等价类规定一个唯一的编号。

    2)将程序可能的输入数据分成若干个子集,从每个子集中选取一个有代表性的数据作为测试用例。等价类是某个输入域的子集,在该子集中的每个输入数据的作用都是等效的。

    3)设计新的测试用例,使其尽可能多地覆盖未覆盖的有效等价类,按照这一步骤重复进行,直到所有的有效等价类都被覆盖为止。

    4)设计新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,按照这一步骤重复进行,直到所有的无效等价类都被覆盖为止。

    最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

    在这里插入图片描述

    这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

    如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

    点击文末小卡片领取

    敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

    自学推荐B站视频:

    零基础转行软件测试:25天从零基础转行到入职软件测试岗,今天学完,明天就业。【包括功能/接口/自动化/python自动化测试/性能/测试开发】

    自动化测试进阶:2022B站首推超详细python自动化软件测试实战教程,备战金三银四跳槽季,进阶学完暴涨20K

  • 相关阅读:
    【云计算 | OpenStack】Centos7通过源码快速安装Open vSwitch
    学自动化测试可以用这几个练手项目
    今日分享一个软件测试刷题小程序,面试题一千+了,刷完还怕面试不过吗?
    论文精读:Feature Pyramid Networks for Object Detection
    NB的Github项目,看到最后一个我惊呆了!
    【Python百日刷题计划】Day12~填空和编程题练习
    喝酒摇骰子重启人生多款微信小程序源码分享
    kotlin基础之协程
    HTML 中创建 WebSocket服务与接收webSocket发送内容
    Redis的高可用
  • 原文地址:https://blog.csdn.net/weixin_57805858/article/details/125390998