文章目录

  • 等价类划分法
  • 题目1
  • 解答1
  • 题目2
  • 解答2

等价类划分法

等价类划分法是一种典型的黑盒测试方法,通过划分输入数据集来减少测试所需的用例,包括划分等价类和构造测试用例两个步骤:

  • 划分等价类
    划分等价类就是将输入数据集划分成若干个等价类子集,从每一个子集中选取少量代表性数据作为测试用例。在划分等价类时,必须保证同一个等价类中的所有输入数据对于揭示程序中的错误是等效的,使得测试代表值相当于测试其它所有值。输入等价类可以分为有效等价类和无效等价类,其中有效等价类指的是符合程序规格说明的输入等价类,而无效等价类指的是不符合程序规格说明的输入等价类。
  • 构造测试用例
    首先给每一个等价类编号,然后设计测试用例使其尽可能多地覆盖尚未覆盖的有效等价类,重复直到所有有效等价类被覆盖,再设计测试用例使其仅覆盖一个尚未覆盖的无效等价类,重复直到所有无效等价类被覆盖。根据测试用例覆盖的等价类可以分为弱一般、弱健壮、强一般、强健壮测试,其中弱表示只覆盖有效等价类,强表示除了有效等价类还覆盖了无效等价类,一般表示测试用例只需覆盖所有不同的缺陷,健壮表示测试用例需要覆盖所有的多缺陷组合。

题目1

构造三角形问题的弱健壮等价类测试用例:

  • 三角形问题
    输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形、等腰三角形、完全不等边三角形还是无法构成三角形。

解答1

选取不同的输入条件可以划分出不同的等价类,其中一种等价类组合如下:

  • 划分等价类

    输入条件 有效等价类 无效等价类
    边长aaa取值 (0,100](0, 100](0,100](1) (−∞,0](-\infin, 0](−∞,0](2),(100,∞)(100, \infin)(100,∞)(3)
    边长bbb取值 (0,100](0, 100](0,100](4) (−∞,0](-\infin, 0](−∞,0](5),(100,∞)(100, \infin)(100,∞)(6)
    边长ccc取值 (0,100](0, 100](0,100](7) (−∞,0](-\infin, 0](−∞,0](8),(100,∞)(100, \infin)(100,∞)(9)
    是否构成三角形 构成三角形(10),不构成三角形(11)
    相等边数 三条边相等(12),两条边相等(13),没有边相等(14)
  • 构造测试用例

    测试用例编号 aaa bbb ccc 预期输出 覆盖等价类编号
    WN1 3 3 3 等边三角形 (1)(4)(7)(10)(12)
    WN2 3 3 4 等腰三角形 (13)
    WN3 3 4 5 完全不等边三角形 (14)
    WN4 3 3 6 不能构成三角形 (11)
    WR1 -1 3 3 输入aaa超出取值范围 (2)
    WR2 101 3 3 输入aaa超出取值范围 (3)
    WR3 3 -1 3 输入bbb超出取值范围 (5)
    WR4 3 101 3 输入bbb超出取值范围 (6)
    WR5 3 3 -1 输入ccc超出取值范围 (8)
    WR6 3 3 101 输入ccc超出取值范围 (9)

题目2

构造NextDate问题的弱一般等价类测试用例:

  • NextDate问题
    输入1812-2012年期间某一天的year, month, day值,输出下一天的year, month, day值。

解答2

  • 划分等价类

    输入条件 有效等价类 无效等价类
    year取值范围 [1812,2012][1812, 2012][1812,2012](1) (−∞,1811](-\infin, 1811](−∞,1811](2),[2013,∞)[2013, \infin)[2013,∞)(3)
    month取值范围 [1,12][1, 12][1,12](4) (−∞,0](-\infin, 0](−∞,0](5),[13,∞)[13, \infin)[13,∞)(6)
    day取值范围 大月[1,31][1, 31][1,31](7),小月[1,30][1, 30][1,30](8),非闰年二月[1,28][1, 28][1,28](9),闰年二月[1,29][1, 29][1,29](10) (−∞,0](-\infin, 0](−∞,0](11),[32,∞)[32, \infin)[32,∞)(12),小月{31}\{ 31 \}{31}(13),非闰年二月[29,31][29, 31][29,31](14),闰年二月[30,31][30, 31][30,31](15)
    是否为该年或该月最后一天 当前日期不是该月的最后一天(16),当前日期是该月的最后一天而不是该年的最后一天(17),当前日期是该年的最后一天(18)
  • 构造测试用例

    测试用例编号 year month day 预期输出 覆盖等价类编号
    WN1 2008 12 31 2019年1月1日 (1)(4)(7)(18)
    WN2 2008 4 1 2008年4月2日 (8)(16)
    WN3 2009 2 28 2009年3月1日 (9)(17)
    WN4 2008 2 1 2008年2月2日 (10)
    WR1 1612 1 1 输入日期不合法 (2)
    WR2 2019 1 1 输入日期不合法 (3)
    WR3 2008 0 1 输入日期不合法 (5)
    WR4 2008 13 1 输入日期不合法 (6)
    WR5 2008 2 -1 输入日期不合法 (11)
    WR6 2008 2 50 输入日期不合法 (12)
    WR7 2008 4 31 输入日期不合法 (13)
    WR8 2009 2 30 输入日期不合法 (14)
    WR9 2008 2 30 输入日期不合法 (15)

【STMT】等价类划分法相关推荐

  1. 黑盒测试方法之等价类划分法

    等价类划分法 概念 需求示例 测试用例分析设计 总结 概念 等价类是指某个输入域的子集,在该子集中每个输入数据的作用是等效的,也就是该子集中每个输入数据的揭错概率是一样的.等价类分为有效等价类和无效等 ...

  2. 黑盒测试法——等价类划分法(修改版)

     黑盒测试法--等价类划分法   实验目的:1.掌握等价类划分的方法 掌握按等价类方法设计测试用例 实验内容: 1.请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序 ...

  3. 【软件测试】黑盒测试の等价类划分法

    等价类划分法 等价类划分法是一种重要的.常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性. 等价类划分法是把所有可能的输入数据,即程序的输入域划分成 ...

  4. 黑盒测试 ------ 等价类划分法

    文章目录 等价类划分法 等价类划分概念: 等价类的分类 等价类思考步骤 例子 等价类划分的总结 等价类划分法 计算器:到底输入几组数据才算测试完毕? 答案:一个一个测试效率低下,所以一定要分类测试. ...

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

    本篇文章,来分享大家比较熟悉的测试用例设计方法--等价类划分法. 首先,我们可以使用上一篇文章介绍的场景法来梳理业务流程. 其次,根据流程中的每个节点的需求说明,使用等价来划分来设计用例. 定义 等价 ...

  6. 3章等价类划分法-城市号码

    一.填空题(共1题,50.0分) 1使用等价类划分法的目的是既希望进行,又希望. 正确答案: 第一空: 完备测试 第二空: 避免冗余 二.简答题(共1题,50.0分) 1某城市的电话号码由三部分组成. ...

  7. 黑盒测试技术中的等价类划分法、边界值分析法、因果图法和决策表法进行测试用例设计

    一.实验目的 1.能熟练应用黑盒测试技术中的等价类划分法.边界值分析法.因果图法和决策表法进行测试用例设计. 2.对测试用例进行优化设计 二.实验环境 Windows系统+ Office工具 三.实验 ...

  8. 黑盒测试技术之等价类划分法

    黑盒测试技术之等价类划分法 一. 等价区间与等价测试原理 二.等价类划分 三.常见等价类划分形式 四.应用 一. 等价区间与等价测试原理 在描述等价类法之前,先来解释等价测试原理.正是基于这个原理,才 ...

  9. 黑盒测试方法—等价类划分法

    等价划分法是一种不需要考虑程序的内部结构,只需要考虑程序输入数据的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性. 需要把用户所有可能输入的数据划分成若 ...

  10. 黑盒测试用例设计方法-等价类划分法

    目录 一.等价类的作用 二.等价类的分类 三.等价类的方法 四.等价类的原则 五.按照测试用例的完整性划分等价类 六.等价类步骤 七.案例 一.等价类的作用 为穷举测试设计测试点. 穷举:列出所有的可 ...

最新文章

  1. 028_CSS外边距
  2. 保存delphi中的library path
  3. usb5-写成usb驱动
  4. php 去掉实体,用PHP删除除5个预定义HTML实体之外的所有实体的最佳方法-用于XHTML5输出...
  5. LeetCode 386. 字典序排数(DFS循环)
  6. mysql查看系统参数
  7. 关联分析中可能的规则数的求法
  8. unity 编辑器 混合使用固定布局和自动布局(二)
  9. Java集合框架源码解读(1)——ArrayList、LinkedList和Vector
  10. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_05-vuejs研究-vuejs基础-v-text指令...
  11. python 给字符串加颜色
  12. 手游自动挂机脚本开发历程
  13. 华为ensp基础指令
  14. 米家扫地机器人 设置不停止_【小米 米家 扫地机器人使用总结】设置|清扫_摘要频道_什么值得买...
  15. Android性能优化的5种方案
  16. eclipse中ADT和SDK配置(详解)
  17. 微信第三方开发行业解决方案
  18. 字段是否包含中文、英文、数字
  19. Android开发之获取通话记录
  20. PHP医院网络预约管理系统源码(可商用也可作毕业设计)

热门文章

  1. linux允许8000端口,Linux中如何开启8080端口供外界访问 和开启允许对外访问的端口8000...
  2. apache common-chain 简单使用
  3. MATLAB如何调用百度云文字识别API
  4. 模拟器安装 xposed
  5. 统计学常用概念:T检验、F检验、卡方检验、P值、自由度
  6. Rocket - tilelink - Xbar
  7. 免安装连接oracle,Oracle免安装PL/SQL连接
  8. PPT里快速插入上下角标
  9. 网页打印服务器无法创建对象,打印问题,小编教你怎么解决automation服务器不能创建对象...
  10. 使用 border 属性制作三角形