测试基础 02用例设计方法

0 学习目标

  1. 能对穷举场景设计测试点(等价类划分法
  2. 能对限定边界规则设计测试点(边界值分析法
  3. 能对多条件依赖关系进行设计测试点(判定表法)【难度最大】
  4. 能对项目业务进行设计测试点(场景法)【重点】

业务:主要功能(如果主要功能无法实现,测登录也没有意义)

穷举的方法有几种:等价类划分法

1 等价类划分法

1.1 等价类划分

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

分类2种。

类别 描述
有效等价类 满足需求的数据集合。
无效等价类 满足需求的数据集合。

步骤

  1. 明确需求。
  2. 确定有效和无效等价类。
  3. 提取数据,编写测试用例。

1.2 案例

案例2-1
需求:验证QQ账号的合法性
要求:6~10位自然数

按步骤来:

  1. 明确需求。------------------------------ 6—10位自然数(长度、类型、规则
  2. 确定有效和无效等价类。------------ 有效等价类(6—10位自然数)、无效等价类(6位以下或10位以上自然数、8位非自然数)
  3. 提取数据,编写测试用例。

案例2-2
需求:验证某城市电话号码正确性
要求:

  1. 区号:空或者是三位数字
  2. 前缀码:非 “ 0 ” 且非 “ 1 ” 开头的三位数字
  3. 后缀码:四位数字

测试基础 02用例设计方法_第1张图片

正向:一次尽可能将多歌正确数据组合。
逆向(反向、错误):一次只能覆盖一个错误数据。

正向有2条:

  1. 空 + 非0非1的三位数字 + 四位数字
  2. 三位数字 + 非0非1的三位数字 + 四位数字

逆向:8条

自己写的:
测试基础 02用例设计方法_第2张图片

修改的:
测试基础 02用例设计方法_第3张图片
测试基础 02用例设计方法_第4张图片

简单总结

  1. 合法(正确)优先级为P0,不合法为P1。
  2. 学习前置条件、测试步骤、测试数据的写法。
  3. 用例标题尽量简洁、明了。

Excel小技巧
注:点击要设置斜线的单元格,右击,进入单元格格式设置,点击 “ 边框 ” 选项,然后选择斜线的样式,之后点击右下方的斜线样式预览。

适用场景
针对:需要有大量数据测试输入,但是没法穷举测试的地方。

  • 输入框
  • 下拉列表
  • 单选复选框

典型代表:页面的输入框类测试。

1.3 总结

测试基础 02用例设计方法_第5张图片
今日份重点:
1. 质量模型的重点五项
2. 测试流程的6个步骤
3. 用例设计的8个要素

1.4 课后作业

  1. 目标:花瓶设计用例
  2. 要求:10条用例以上
  3. 提示:参考质量模型

回顾软件质量模型:
测试基础 02用例设计方法_第6张图片

自己做的:
测试基础 02用例设计方法_第7张图片

修改后的:
功能性:插花、装水、养鱼、种菜…
性能:防摔、耐压、耐高温、耐低温
易用性:防滑、便携
属性(硬件):长、宽、高、样式、材质、重量
可移植性:不同的温度下是否可以正常使用
可维护性:修补

2 边界值分析法

2.1 边界范围节点

  1. 选取正好等于刚好大于刚好小于边界的值作为测试数据。
    上点:边界上的点(正好等于)
    离点:距离上点最近的点(刚好大于、刚好小于)
    内点:范围内的点(区间范围内的数据,一般取居中的点)

如:6<= x <= 10
上点:6、10 ;离点:5、7、9、11;内点:8。
5.9不行,上点上有小数才可以。
测试基础 02用例设计方法_第8张图片
7个点,最多7条用例。

2.2 边界值法设计用例步骤

  1. 明确需求。
  2. 确定有效和无效等价类。(确定类型
  3. 确定边界范围值。(确定长度
  4. 提取数据编写测试用例。

练习3-1
需求:通过边界值法验证标题长度的合法性。
要求:标题长度大于0,小于等于30个字符。

按照步骤:

  1. 明确需求。【需求:通过边界值法验证标题长度的合法性。】
  2. 确定有效和无效等价类。【只需关注类型】
  3. 确定边界范围值。【划分边界,上点:0,30;离点:-1 ,1,29,31;内点:15】
  4. 提取数据编写测试用例。

注:无 -1 个字符,所以一共只有6项,不是7项。

测试基础 02用例设计方法_第9张图片

练习 3-2
需求:通过边界值法验证QQ号码的合法性。
要求:6~10位自然数。

按照步骤:

  1. 明确需求。【需求:验证QQ号码的合法性,6~10位自然数。】
  2. 确定有效和无效等价类。【有效等价类:自然数;无效等价类:非自然数。】
  3. 确定边界范围值。【划分边界,上点:6,10;离点:5,7,9,11;内点:8】
  4. 提取数据编写测试用例。

测试基础 02用例设计方法_第10张图片
注:无效等价类应使用内点表明。

2.3 边界值优化

结论:7个优化为5个点。
上点:必选(不考虑区间开闭)
内点:必选(建议选择中间范围)
离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)
如:
10 < a <= 20 使用开闭区间表达:(10,20]
开区间:不包含
闭区间:包含

为什么内点必须测?验证范围的连续性。

边界值案例3-2优化后,如下:
优化为5点:上点 + 内点 + 开内闭外
6-10位QQ号码即 [ 6,10 ],遵循开内闭外原则,7、9两点无需再测。

测试基础 02用例设计方法_第11张图片

练习 3-3

  1. [10,50)即10 <= A < 50
    上点:10,50;内点:30;离点:9,49。
  2. (30,50] 即30 < A <= 50
    上点:30,50;内点:40;离点:31,51 49。
  3. (12,80] 即12 < A <= 80
    上点:12,80;内点:46;离点:13,81。

注:内点不要求一定是中点。

2.4 使用场景

  • 在等价类的基础上针对有边界范围的测试数据输入的地方。(重点关注边界)
  • 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语。
  • 典型代表:有边界范围的输入框类测试。(如:请输入六位验证码)

3 判定表法

作用:判定表法解决多条件关系依赖问题。

说明:等价类、边界值分析法主要关注单个输入类条件的测试。并未考虑输入条件之间的各种组合、输入条件与输出结果之间有相互制约关系的测试。

3.1 判定表法的引用

*案例 *
验证 “ 若用户欠费或者关机,则不允许主被叫 ” 功能的测试。

3.2 判定表定义及组成部分

定义:是一种以表格形式表达多条件逻辑判断的工具。

组成:

  • 条件桩:列出问题中的所有条件,列出条件的次序无关紧要。 (是否欠费、是否关机)
  • 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束。(是否允许主被叫)
  • 条件项:列出条件对应的取值,所有可能情况下的真假值。(黄色的是否)
  • 动作项:列出条件项的、各种取值情况下应该采取的动作结果。(蓝色的是否)

用例:一列就是一个用例
在这里插入图片描述

规则:

  • 判定表中贯穿条件项和动作项的一列就是一条规则。
  • 假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则

*案例 *
验证 “ 若用户欠费或者关机,则不允许主被叫 ” 功能的测试。
测试基础 02用例设计方法_第12张图片

3.3 判定表法设计用例步骤

  1. 明确需求
  2. 画出判定表
    1)列出条件桩和动作桩。
    2)填写条件项,对条件进行全组合。
    3)根据条件项的组合确定动作项。
    4)简化、合并相似规则。(有相同的动作)
  3. 根据规则编写测试用例

练习 4-1 订购单检查
规则:
1)如果金额大于500元,又未过期,则发出批准单和提货单;
2)如果金额大于500元,但过期了,则不发批准单与提货单;
3)如果金额小于等于500元,则不论是否过期都发出批准单和提货单;
4)在过期的情况下不论金额大小还需要发出通知单。

判定表:
测试基础 02用例设计方法_第13张图片

自己写的:
测试基础 02用例设计方法_第14张图片

修改后的:
测试基础 02用例设计方法_第15张图片

案例 4-2 文件修改规则
规则:
1)输入的第一列字符必须是A或B。
2)第二列字符必须是一个数字。
3)如果第一列字符不正确,则给出信息L。
4)如果第二列字符不正确,则给出信息M 。
5)如果两列字符输入正确,则修改文件成功。

判定表:
在这里插入图片描述

用例表:
测试基础 02用例设计方法_第16张图片

3.4 使用场景

  • 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系。
  • 判定表一般适用于条件组合数量较少的情况。(比如4个条件以下)

4 场景法

4.1 流程图(扩展)

定义:使用标准图形和箭头来表达程序或业务的走向。
注:开始和结束是椭圆形,判断是菱形四边形。
测试基础 02用例设计方法_第17张图片

流程图对测试人员有什么作用?

  • 能够看懂流程图,设计业务用例
  • 当需求文档信息不全是,能够根据需求,梳理出流程

网页版工具:https://processon.com/(与WPS工具相似)
Windows工具:visio

练习 5-1 流程图练习

  1. 用户名为admin / 密码为:123456,输出:登录成功。
    测试基础 02用例设计方法_第18张图片

  2. 登录、搜索商品、添加购物车、去结算、支付,如果支付成功,则提示下单成功,否则提示支付失败。
    测试基础 02用例设计方法_第19张图片

4.2 场景法介绍

说明:场景法也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。

意义:

  • 用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用。
  • 测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试。

案例 5-2 ATM机取款流程
测试基础 02用例设计方法_第20张图片
ATM机取款流程 – 流程图:
自己写的:
测试基础 02用例设计方法_第21张图片

修改的:
① 6条用例(开始——…——结束)
② 最左侧用例(开始——…——返回主界面——结束)称为冒烟测试
测试基础 02用例设计方法_第22张图片

六条用例的流程如下。

测试基础 02用例设计方法_第23张图片

或者更简洁地写:
在这里插入图片描述

测试基础 02用例设计方法_第24张图片

冒烟测试: 批量开始测试之前,执行业务正向用例,验证软件是否具备可测性。

5 错误推测法

定义:通过经验推测系统可能出现的问题。

思想:根据经验列举出可能出现问题的清单,根据清单分析问题可能原因,推测发现缺陷。

应⽤场景:
当项⽬⽤例都执⾏完毕,且BUG修复完成,离上线还有⼀段时间,在这段时间中可是使⽤错误推荐法复测主要业务或测试未覆盖的功能。

做法:
1)时间紧任务量大时,根据之前项目类似经验找出易出错的模块重点测试。
2)时间宽裕时,通过该方法列出之前出现问题较多的模块再次测试。

6 总结

测试基础 02用例设计方法_第25张图片

7 作业

案例 7-1 单模块用例设计
密码规则:
a) 不能纯数字
b) 不能纯字母
c) 字母+数字
d) 长度6-16位
测试基础 02用例设计方法_第26张图片
测试基础 02用例设计方法_第27张图片

案例 7-2 业务用例设计
测试基础 02用例设计方法_第28张图片

你可能感兴趣的:(软件测试,python)