4. 设计(黑盒)测试用例 (一) 等价类 边界值 判定表

本篇文章我们将详细介绍如何来测试用例。

1. 设计测试用例的基本要素

1.1 测试用例概念

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合。

1.2 测试用例要素

测试环境、测试步骤、测试数据、预期结果。

1.3 测试用例的重要性

  • 提高测试效率
  • 降低测试重复性
  • 手工测试用例是自动化测试用例的基础

2. 黑盒测试用例设计方法

为了设计出比较全面的测试用例(正常 + 发散测试 + 逆向测试)

2.1 基于需求设计测试用例

步骤

充分理解需求(前提) -> 将大需求拆分成子需求 -> 基于需求设计

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正 确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测 试点或者测试项,然后根据每一个测试点进行测试用例的设计。
在分析测试需求时,一般分为 功能测试需求 非功能测试需求:

功能相关:

  • 业务流程(prd 软件需求文档)
  • 界面相关(UI 设计稿)
  • 易用性(测试人员经验)

非功能相关:

  • 兼容
  • 安全
  • 性能
用户需求 :
购买 3000 块钱以内的华为智能手机
测试用例:
1. 价格 <=3000
2. 品牌为华为
3. 智能手机
4. 手机功能验证:
        4-1.打电话
        4-2.接电话
        4-3.发短信
        4-4.收短信
        ...
软件需求:
1.1.1.1.5.3 异常事件流
1. 若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件。
2. 每次发送的激活邮件,仅在发送邮件后起 24 小时之内有效,超过 24 小时后需重新发送激活邮件。
** 测试用例 **
1-1 、未收到邮件,登录时输入电子邮件及密码后,再次发送激活邮件
1-2 、已收到邮件,登录时输入电子邮件及密码后,不发送激活邮件
2-1 、收到邮件,未激活, 24 小时内进行激活
2-2 、收到邮件,未激活, 24 小时后链接过期进行激活。
2-3 、收到邮件,已激活, 24 小时后链接过期,再次点击激活
页面检查:
1 、收到激活邮件
2 、邮件内容正确
3 、激活 URl 正确,可激活
4 、再次激活提示已激活
5 、过期激活提示已过期

2.2 练习设计测试用例

163 邮箱注册 登录模块测试用例设计(基于需求设计测试用例)

首先将需求拆分成子需求,然后将子需求拆分成功能相关和非功能相关。具体如下图所示:

2.3 具体设计测试用例方法 

2.3.1 等价类

将需求划分为等价类(若干个),从等价类中选出一个测试用例,如果这个测试用例通过,则认为所代表的等价类测试通过。

有效等价类:满足用户需求对应的输入集合。

无效等价类:不满足需求。

等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
设计测试用例步骤

充分理解需求 -> 划分有效等价类、无效等价类 -> 设计测试用例

举例

对于一个 6-15 位输入,通过等价类方法设计测试用例。

2.3.2 边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

边界点:

  • 上点:边界上的点。
  • 内点:边界内的点。
  • 离点:上点附近的一个点(如果是闭区间,离点就是边界外的点;如果是开区间,离点就是边界内的点)
设计测试用例步骤

充分理解需求 -> 找边界点 -> 针对边界点设计测试用例

举例

2.3.3 判定表(因果图)

判定表:表达逻辑判断的工具(一个表格,表格里面有条件和结果)。

判定表中存在以下四种关系:

恒等条件为真 -> 结果为真
条件为真 -> 结果为假

两个条件均为真 -> 结果为真;

两个条件中任意一个为假 -> 结果为假;

两个条件均为假 -> 结果为假;

两个条件中任意一个为真 -> 结果为真;

设计测试用例步骤
  • 设计所有可能的输出和输入
  • 找输入与输出之间的对应关系
  • 根据输入和输出确定判定表
  • 将判定表对应到每个测试用例
举例

淘宝 618 是否优惠

订单金额大于 300 或者有红包则优惠 否则 不优惠

输入:订单提交、订单金额、红包

输出:优惠 或者 不优惠

12345678
订单提交YYYYNNNN
金额大于300YYNNYYNN
有红包YNYNYNYN
优惠YYYNNNNN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/41191.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

异步fifo(1)

什么时异步fifo FIFO&#xff0c;即First In First Out &#xff0c;是一种先进先出的数据缓存器&#xff0c;异步FIFO 是指读写时钟不一致&#xff0c;读写时钟是互相独立的。数据从一个时钟域写入FIFO缓冲区&#xff0c;并从另一个时钟域的同一FIFO缓冲区中读取数据&#xf…

libevent:windows环境配置+QT使用

目录 libevent是什么 编译 QT使用 测试代码 libevent是什么 Fast portable non-blocking network programming with Libevent http://www.wangafu.net/~nickm/libevent-book/TOC.html 这篇文档讲的很清楚&#xff0c;尤其是Chapter 1: A tiny introduction to asynchro…

解决打开excel时报错 “不能使用对象链接和嵌入”

问题截图 打开excel文件或者插入对象时&#xff0c;直接弹出不能使用对象链接和嵌入报错信息。 解决方法 按 winr 组合快捷键&#xff0c;打开运行&#xff0c;输入 dcomcnfg.exe 按回车确定 此时进入到组件服务管理界面&#xff0c;依次选择 组件服务-计算机-我的电脑-DOCM…

JDK 下载 华为云镜像站 地址

通常去 Oracle 官网下载 JDK&#xff0c;速度很慢而且需要账号登入 Oracle 官网下载地址 https://www.oracle.com/cn/java/technologies/downloads/archive/ JDK 下载 华为云镜像站 地址 https://repo.huaweicloud.com/java/jdk/ 我们下期见&#xff0c;拜拜&#xff01;

LCD-STM32液晶显示中英文-(7.字模及显示原理)

目录 字模介绍 什么是字模 字模的构成 字模显示原理 字模制作 如何制作字模 字模寻址公式 存储字模文件 字模介绍 什么是字模 有了编码&#xff0c;我们就能在计算机中处理、存储字符了&#xff0c;但是如果计算机处理完字符后直接以编码的形式输出&#xff0c;人类将难…

位运算常见算法题

文章目录 前言191. 位1的个数338. 比特位计数461. 汉明距离136. 只出现一次的数字260. 只出现一次的数字 III面试题 01.01. 判定字符是否唯一268. 丢失的数字371. 两整数之和137. 只出现一次的数字 II面试题 17.19. 消失的两个数字 前言 本篇文章会涉及多道位运算题目&#xf…

Vue中的事件处理

一&#xff0c;基本使用 1.使用v-on:事件名或者事件名绑定事件 常见的事件有&#xff1a; onclick, 鼠标单击事件&#xff1b; ondblclick, 鼠标双击事件&#xff1b;onmousedown,鼠标按下去的事件&#xff1b;onmouseup,鼠标弹起事件&#xff1b; onmouseover,onmouseente…

【代码随想录 | Leetcode | 第六天】链表 | 反转链表 | 两两交换链表中的节点 | 删除链表的倒数第 N 个结点

前言 欢迎来到小K的Leetcode|代码随想录|专题化专栏&#xff0c;今天将为大家带来反转链表、两两交换链表中的节点和删除链表的倒数第N个节点的分享✨ 目录 前言206. 反转链表24. 两两交换链表中的节点19. 删除链表的倒数第 N 个结点总结 206. 反转链表 ✨题目链接点这里 给你…

【蓝图】p27开关门互动实现

p27开关门互动实现 创建一个门 添加初学者内容包 拖拽一个门到场景中 添加一个碰撞 创建盒体触发器 左侧模式->基础->盒体触发器&#xff0c;拖拽到门上&#xff0c;调整大小 开关门互动实现 做一个开门互动 要把开门逻辑写在关卡蓝图里 门设置为可移动 打开关卡蓝…

MySQL-DDL-表的结构-查询修改删除

DDL&#xff08;表操作&#xff09; 查询 查询当前数据库所有表&#xff1a;show tables 查询表结构&#xff1a;desc 表名 查询建表语句&#xff1a;show create table 表名 修改&#xff08;主要还是通过图形化界面进行操作&#xff09; 添加字段&#xff1a;alter table …

LayUi之手风琴的趣味案例

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于LayUi的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.手风琴是什么 二.手风琴在什么时候使用…

业务开发“银弹” ——低代码开发平台

一、现状 低代码开发平台要让每个人&#xff0c;包括开发者和普通业务人员&#xff0c;都能够成为企业数字化过程中的主导者和构建者&#xff01;让普通人更容易上手&#xff01; 基于这一目标&#xff0c;应用需求多的云服务商成为低代码投资的主要来源。一家云服务商如谷歌云…

AD从原理图到PCB超详细教程

AD超详细教程 前言一、建立一个工程模板二、原理图1.设计原理图。2.使用AD自带库和网上开源原理图库3.画原理图库4.编译原理图 三、PCB1.确定元器件尺寸大小2.绘制PCB Library①使用元器件向导绘制元件库②原理图与PCB的映射 3.绘制PCB①更新PCB②调整元件位置③布线④漏线检查…

代理模式【静态代理和动态代理实现业务功能扩展】

静态代理 我们在不修改业务的情况下想要给它增加一些功能&#xff0c;这就需要使用代理模式。我们不会在原有业务上直接修改&#xff0c;为了避免修改导致程序不可逆转的破坏。三种角色&#xff1a;抽象角色-接口、真实角色-实现类和代理角色-代理类。真实角色和代理角色继承的…

raid5故障导致上层文件系统不可用的服务器数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器上有两组分别由4块SAS硬盘组建的raid5磁盘阵列&#xff0c;这两组raid5阵列划分LUN并组成LVM结构&#xff0c;格式化为EXT3文件系统。 服务器故障&#xff1a; 一组raid5阵列上的一块硬盘未知原因离线&#xff0c;热备盘上线替换离线…

Redis远程字典服务

目录 前言 1.NoSQL 1.1NOSQL和关系型数据库比较 1.2非关系型数据库的优势 1.3关系型数据库的优势 ​编辑 2.主流的NOSQL产品 键值(Key-Value)存储数据库 列存储数据库 文档型数据库 图形(Graph)数据库 3.Redis简介 redis的应用场景 4.命令操作 4.1字符串类型 s…

Linux内核的任务:

硬件与软件之间的中间层&#xff1a;内核在技术层面上充当硬件和软件之间的中间层&#xff0c;负责将应用程序的请求传递给硬件&#xff0c;并处理硬件设备和组件的寻址和操作。 应用程序的接口&#xff1a;对于应用程序来说&#xff0c;内核是它们与硬件之间的接口。应用程序通…

vscode 端口转发实现端口映射,实现端口自由

用vscode连接server进行开发&#xff0c; 是非常方便的&#xff0c;但很多时候&#xff0c;server的端口开放的很有限&#xff0c;那么就可以利用vscode进行端口映射 举一个应用场景&#xff1a; 先通过A利用vscode 连接B&#xff0c;然后再vscode 的port窗口进行端口转发&…

每日一刷——替换空格

题目描述&#xff1a; 请实现一个函数&#xff0c;将一个字符串中的每个空格替换成“%20”。例如&#xff0c;当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 我的思路&#xff1a;从左向右循环遍历字符串&#xff0c;定义一个空串。如果遇到空格&#xf…

【广州华锐互动】VR地铁消防逃生路线演练系统

随着城市轨道交通的不断发展&#xff0c;事故应急演练的重要性也越来越受到重视。而VR技术的应用&#xff0c;为地铁消防逃生路线演练带来了许多亮点&#xff0c;包括以下几个方面&#xff1a; 首先&#xff0c;VR技术可以提供高度真实的模拟场景。在传统的事故应急演练中&…