目录

  • 测试用例
  • 测试用例八大要素
  • 测试用例的设计方法
    • 等价类划分法
      • 等价类操作步骤
    • 边界值分析法
      • 边界范围
      • 边界值法的操作步骤
      • 案例1
      • 案例2
    • 判定表法
      • 为什么使用判定表法
      • 判定表法的四个组成部分
      • 判定表的设计步骤
      • 案例1
      • 案例2
      • 案例3
      • 测试用例有很重要的两个原则
    • 因果图法
      • 因果图法的核心
      • 什么是因果图法
      • 因果图法中的基本符号
      • 因果图法的基本步骤
    • 正交排列法
      • 定义
      • 适用范围
      • 特点
      • 正交表的概念
      • 使用正交表步骤
    • 场景法(流程图法)
      • 场景法的意义
      • 场景法设计测试用例步骤
      • 案例(使用ATM机取款)
    • 错误推测法
  • 测试工程师原则

测试用例

测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。

生活中的测试用例:买手机、电脑,试用一下:开机、屏幕、运行速度、内存大小;这就是生活中的测试用例!

举例说明
买手机:按开机键,相当于输入了一组数据来测试,执行条件指的是开机的前提条件,比如是否有电;预期结果就是能顺利打开手机,那么测试完毕后,是否达到了想要的需求(顺利开机)

编号 输入 执行条件 预期结果 是否bug
1 按下开机键 手机有电 顺利开机
2 按下开机键 手机有电 顺利开机

测试用例八大要素

软件测试用例的基本要素包括用例编号、用例标题、测试项目、用例级别、预置条件、测试输入、执行步骤、预期结果。

用例编号 用例标题 测试项目 用例级别 预置条件 测试输入 执行步骤 预期结果
T001 用户查看商品介绍 淘宝 p01 用户已登录 商品名称’软件测试’ 1.输入名称‘软件测试’
2.点击查找按钮
显示商品相应的介绍
T002 测试加法 计算器 p03 / 20和3 1.按数字20
2.按+号
3.按数字3
4.按=号
23

测试用例的设计方法

可以参考测试用例的设计方法这篇文章
后续文章我也写了测试用例以及设计过程,点击右边蓝字跳转学习软件测试(六)编写测试用例的基本要求,测试用例设计步骤,轮播图、导航栏、购物车功能测试

等价类划分法

在所有测试的数据中,具有某种共同特征的数据子集。

等价类分为:

  1. 有效等价类
  2. 无效等价类

案例:计算两个-99到99之间整数的和
有效等价类:99,-56
无效等价类:100,3.14,a

用例编号 用例标题 测试项目 用例级别 预置条件 测试输入 执行步骤 预期结果
T001 符合条件数据相加 计算器 p03 / 20和3 20加3 23
T002 超出范围数据相加 计算器 p03 / 20和-333 20加-333 不能计算
T003 小数相加 计算器 p03 / 20和-3.14 20加-3.14 不能计算
T004 非数字相加 计算器 p03 / 20和a 20加a 不能计算

等价类操作步骤

  1. 明确需求
  2. 确定有效和无效等价类
  3. 编写测试用例

等价类划分后,有多少数据就有多少测试用例

边界值分析法

==注意:==有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。

边界范围

  • 确定边界情况(输入或输出等价类的边界)
  • 选取正好等于、刚刚好大于或刚刚好小于边界的值作为测试数据
  • 闭区间:指的是区间边界的两个值包括在内,表达方法[a,b];
  • 开区间:指的是区间边界的两个值不包括在内,表达方式(a,b);
  • 上点:边界上的点(正好等于)
  • 内点:范围内的点
  • 离点:距离上点最近的点
  • 如果是闭区间,那么离点就是域范围外离上点最近的点。
  • 如果是开区间,那么离点就是域范围内离上点最近的点。

举例:(20,30] 大于20,小于等于30 左开右闭区间 20,30是上点,24是内点,21,31是离点,21的离点是有效数据,31的离点是无效数据。

  • 开区间上点是有效数据,离点是无效数据
  • 闭区间上点是无效数据,离点是有效数据
  • 内点都是有效数据

边界值法的操作步骤

  1. 明确需求
  2. 确定有效和无效等价类
  3. 确定边界值
  4. 编写测试用例

案例1

使用边界值的方法设计添加标题的测试用例
要求:标题长度>0 标题长度<=30

(0,30] 左开右闭区间 0,30是上点,10内点,离点1,31

abc1234567 (内点) 预期结果:通过
空 (上点) 预期结果:不通过
123456789012345678901234567890 (上点)预期结果:通过
a(离点)预期结果:通过
1234567890123456789012345678901(离点)预期结果:不通过
用例编号 用例标题 测试项目 用例级别 预置条件 测试输入 执行步骤 预期结果
T001 10位标题测试 / p03 / adb1234567 / 通过
T002 标题为空测试 / p03 / / 不通过
T003 30位标题测试 / p03 / 123456789012345678901234567890 / 通过
T004 1位标题测试 / p03 / a / 通过
T005 31位标题测试 / p03 / 1234567890123456789012345678901 / 不通过

案例2

qq账号6-10位自然数(由于我懒得打字,直接截图视频了)

判定表法

  • 判定表法表示的是有多个输入,和多个输出,而且输入与输入之间有相互的组合关系、输入和输出之间有相互的依赖关系
  • 不能直接用判定表去执行测试
  • 通过判定表编写测试用例,用测试用例去执行测试操作

为什么使用判定表法

案例:若用户欠费或关机,则不允许被叫

  • 等价类划分法和边界值分析法都是着重考虑单个输入的输入条件
  • 但是没有考虑输入条件的各种组合、输入条件与输出条件之间的相互制约关系。
  • 所以要使用判定表法才能解决上述案例编写测试用例的过程

判定表法的四个组成部分

  1. 条件桩:列出了系统的所有输入,列出的输入次序无关紧要
  2. 动作桩:列出了系统可能采取的操作,这些操作的排列顺序没有约束
  3. 条件项:列出针对它左列输入的取值,在所有可能情况下的真假值
  4. 动作项:列出在输入项的各种取值情况下应该采取的动作

注:判定表中贯穿条件项和动作项的一行就是一条规则

判定表的设计步骤

  1. 明确需求
  2. 画出判定表
    2.1 明确条件桩,动作桩
    2.2、填写条件项,对条件进行全组合
    2.3、明确每个条件组合对应的动作项
  3. 生成测试用例,判定表每条规则对应一条测试用例

案例1


测试用例:

用例编号 用例标题 测试项目 用例级别 预置条件 测试输入 执行步骤 预期结果
T001 欠费关机不能主被叫 / p03 / 欠费,关机 选欠费
选关机
点击提交按钮
不能主被叫
T002 不欠费不关机可以主被叫 / p03 / 不欠费,不关机 选不欠费
选不关机
点击提交按钮
能主被叫
T003 欠费不关机不能主被叫 / p03 / 欠费,不关机 选欠费
选不关机
点击提交按钮
不能主被叫
T004 不欠费关机不能主被叫 / p03 / 不欠费,关机 选不欠费
选关机
点击提交按钮
不能主被叫

案例2


案例3


测试用例有很重要的两个原则

  • 能看懂
  • 能执行

因果图法

因果图法的核心

  • 因果
  1. 因果图的“因” ---- 输入条件
  2. 因果图的“果” ---- 输出结果

什么是因果图法

  • 用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例
  • 适用范围:适用于分析程序输入条件的各种组合情况,以及输入与输出之间的依赖关系

因果图法中的基本符号

通常在因果图中用C表示原因,用E表示结果



因果图就是做为判定表的辅助

因果图法的基本步骤

  1. 明确需求
  2. 画出因果图
  3. 将因果图转换为判定表
  4. 根据判定表写测试用例
此图对应这上面判定表的案例三

正交排列法

如何设计测试用例

在测试时,要考虑这些控件的组合情况,组合量非常大(有3的4次方 = 81种组合情况) 由于组合量太大,不可能为每一种组合都创建测试用例。如何采用最少的测试用例集合获得最大的测试覆盖率----采用正交排列法

定义

正交排列法就是能够使用最小的测试过程集合获得最大的测试覆盖率。

适用范围

当可能的输入数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。

特点

均匀分散,齐整可比

正交表的概念

  • 一种特制的表,一般的正交表标记为:$ L_n(m^k) $
  • n表示行数
  • k是表的列数
  • m是列的取值范围

如:$ L_9(3^4) $

有4个列
每个列有3个取值
9为列的组合个数
叫4因素3水平



使用正交表步骤

  • 明确需求
  • 绘制正交表
    • 先确定列数
    • 确定正交表每列的取值个数
    • 根据因素和水平可以确定行数
  • 根据正交表编写测试用例
    • 正交表的一行代表一条测试用例

场景法(流程图法)

场景法是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试

场景法的意义

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

场景法设计测试用例步骤

  1. 明确需求
  2. 画出流程图
  3. 编写测试用例

案例(使用ATM机取款)

ATM机取款流程

流程图

错误推测法

错误推测法是指利用直觉和经验猜测出出错的可能类型,有针对性列举出程序中所有可能的错误和容易发生错误的情况,它是测试经验丰富的测试人员喜欢使用的一种测试用例设计方法。

  • 基本思想

    • 基本思想是列举出可能犯的错误或错误易发生的清单,然后根据清单编写测试用例
    • 这种方法很大程度上是凭经验进行的,即凭人们对过去所作测试结果的分析,对所揭示缺陷的规律性作直觉的推测来发现缺陷。
  • 使用场景
    • 项目紧任务急、时间不够,这时就不要按部就班的测试了,根据之前项目的经验,找到之前出错过的类似模块进行重点测试
    • 所有正常测试结束后,通过错误推断法再测试一些之前出过问题的模块。

测试工程师原则

软件测试中测试出来了bug,你会改但千万别直接修改代码中的bug(会导致内部版本混乱)

学习软件测试(三)测试用例、测试用例的设计方法(等价类划分法、边界值分析法、判定表法、因果图法、正交排列法、场景法、错误推测法)相关推荐

  1. 测试用例的定义、内容以及设计方法——等价类划分法、边界值分析法等

    文章目录 1.什么是测试用例? 2.测试用例模板和包含的内容 3.设计测试用例的作用 4.测试用例编写注意事项 5.黑盒测试用例设计方法 5. 1 等价类划分法 5.2 边界值分析法 5.3 因果图法 ...

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

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

  3. 使用等价类划分法和边界值分析法设计出学生成绩的测试用例

    等价类划分法和边界值分析法的结合使用 1.等价类划分法简介 1.1基本思想 1.2划分基础 1.3等价划分类的规则 1.4测试用例的设计步骤与实例 1.5三角形问题的等价类划分法设计测试用例. 1.6 ...

  4. 黑盒测试用例设计方法一(等价类划分、边界值分析)

    测试数据选择:等价类划分法和边界值分析法 一.黑盒测试用例设计方法 1.黑盒测试用例设计方法概述 2.等价类划分法 2.1等价类划分法原理 2.2等价类划分法设计步骤 2.2.1确定等价类的原则 2. ...

  5. 找零钱最佳组合,实验报告(请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例)

    实验:找零钱最佳组合,实验报告 一.实验目的: (1)掌握黑盒测试的等价类划分和边界值划分的基本方法 (2)利用等价类划分和边界值分析的方法,正确的设计测试用例 实验重点及难点: 重点:正确地划分等价 ...

  6. 【软件测试】黑盒测试技术——等价类划分和边界值分析

    黑盒测试技术也称功能测试.数据驱动的测试.基于规格说明的测试. 测试方法有:等价类划分法.边界值分析法.决策表法.因果图法.错误推测法.正交试验法和场景法. 本文先介绍等价类划分法和边界值分析法. 等 ...

  7. 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择

    文章目录 1 测试用例 1.1 测试用例的定义 1.2 测试用例模板 1.3 测试用例模板的内容 测试用例编号 测试项 依赖用例 测试步骤 测试数据 预期结果 测试结果 测试人 备注 2 测试用例编写 ...

  8. 3.4 黑盒测试用例的设计方法 之 等价类划分与边界值分析

    3.4 黑盒测试用例的设计方法 具体的黑盒测试用例设计方法包括等价类划分法.边界值分析法.场景法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 这些方法是比较实用的,但采用什么方法 ...

  9. 今天带大家学习软件测试用例设计(等价类划分和边界值法)

    黑盒测试技术概述 黑盒测试测试用例的设计方法: 等价类划分 边界值法 因果图法 决策表法 错误猜测法 正交实验法 场景法 一:等价类划分 案例:计算两个1-100之间整数的和.穷举测试不可行. 等价类 ...

最新文章

  1. 《LeetCode力扣练习》第20题 有效的括号 Java
  2. 5首页加载慢_UIViewController 预加载方案浅谈
  3. openssl NDK 交叉编译
  4. c++ 多核cpu序列号_关于 CPU 的一些基本知识总结
  5. Pytorch 为什么每一轮batch需要设置optimizer.zero_grad
  6. LeetCode Palindrome Linked List (回文链表)
  7. 【Qt串口调试助手】1.3 - 重写ComboBox下拉框的鼠标点击事件,实现点击下拉框扫描可用串口
  8. java求解LeetCode题目,实现求解数组中的majority element
  9. UWP开发学习笔记3
  10. VTK(三)---在Linux系统上配置NDI Aurora磁导航API(用于手术导航系统的开发)
  11. dcp9030cdn定影_兄弟DCP-9030CDN打印驱动下载|兄弟Brother DCP-9030CDN一体打印机驱动官方下载 - 维维软件园...
  12. 为何高端FPGA都非常重视软件
  13. matlab无法显示图片
  14. php mysql 分页查询_PHP+MySQL分页查询实现
  15. 独家连载 | 深度学习“四大天王”,你知道几个?
  16. 白杨SEO:如何快速收集百度、抖音、知乎、小红书等关键词搜索下拉词及挖掘更精准长尾关键词?
  17. OSGi模块化框架详解
  18. Grubbs检验离群值——循环算法求出多个离群值
  19. 云主机Centos7下WordPress部署指南
  20. 【机械常识】螺栓、螺钉、螺柱、螺杆、螺母的区别和归类

热门文章

  1. 2018年读《Java Restful Web Service 实战》笔记
  2. IP计算方法!【杨栋胜】
  3. <Java自定义工具类>计算员工月度平均下班时间方式一
  4. 微软Surface平板制胜关键在于应用和内容
  5. RPN定位模块细节回顾
  6. OpenGL之VAO,VBO和EBO
  7. 联合国全球契约组织与罗盛咨询研究发现可持续商界领袖的特征
  8. 中国黑客元老倡议自律 拒绝网络犯罪
  9. mysql8连接5sslexecptio_python 链接mysql数据库使用 mysql-connector 方式
  10. android+发送短信的状态,Android--判断发送短信后的状态-发送成功Or发送失败.pdf