编写测试用例

news2025/7/21 11:07:43

测试用例(Test Case)是用于测试系统的要素集合

目录

编写测试用例作用

编写测试用例要包含七大元素

测试用例的设计方法

1、等价类法

2、边界值法

3、正交表法     

4、判定表法

5、错误推测法

6、场景法


编写测试用例作用

1、确保功能全面覆盖,避免遗漏

2、量化测试覆盖率,明确测试进度

3、支持自动化回归测试,提升版本迭代效率

4、消除冗余测试,优化测试资源分配

编写测试用例要包含七大元素

用例编号、用例标题、测试模块、前置条件、测试数据、测试步骤、预期结果

测试用例的设计方法
1、等价类法

等价类法就是将输入域分为多个等价类,同一等价类的输入产生相同的输出,测试时从等价类中选取一个代表作为测试用例。若该用例通过,即认为整个等价类测试通过。以此用较少的测试用例实现高效的功能覆盖,突破了穷举法的局限,减少冗余用例,提高测试效率。

很明显,这种方法适合于测试数据存在逻辑分组的情况,比如说有个系统要求用户输入年龄,有效范围是18~60岁,那么就可以据此划分等价类,根据等价类编写测试用例

2、边界值法

值得注意的是通常边界值附近往往是缺陷高发区,比如数据溢出、越界访问、逻辑判断。而边界值法就是对输入域的边界值进行测试,检查程序在处理边界情况时可能出现的错误。所以边界值法通常是和等价类法配合使用的,以确保输入域的全面覆盖。

对于上面“系统要求用户输入年龄,有效范围是18~60岁”分析边界值、次边界值。其中次边界值是根据边界值的有效性而定的,若边界值无效则此边界值就为有效值,反之亦然。

假定要求的年龄范围为[18,60],根据边界值、此边界值补充等价类法中编写的测试用例

3、正交表法     

正交表中每个因素的每个水平出现次数一样,而且不同因素的水平组合均匀分布,这样选出来的测试用例组合能代表各种情况,不会集中在某些特定组合上

等价类法和边界值法都是针对单个输入条件进行测试,但是像登录这种功能就需要填写账号、密码等多种输入条件,正交表法就可以解决多因素多水平的组合测试问题,可以减少测试用例数量,同时保证对交互作用的覆盖。

具体操作步骤:

1)excel填写因素和水平

2)在allpairs.exe同级目录下创建文本文件a.txt,直接复制粘贴excel表格中的内容保存并退出

3)在该目录下打开cmd执行命令生成正交表:allpairs.exe a.txt>zhengjiaobiao.txt

4、判定表法

判定表法则是用于测试多条件组合和对应动作之间的逻辑关系,确保所有可能的业务规则分支被覆盖。核心要素包括条件桩、动作桩、条件项、动作项。

具体操作步骤是,首先确认输入条件和输出条件并找出两者之间的关系,然后画出判定表

比方说一段判定三角形类型,输入三边a,b,c

5、错误推测法

基于经验猜测和对系统的了解、常见错误类型等可能出错的地方设计测试用例

6、场景法

这是我在设计测试用例时习惯性使用的方法,场景法即模拟软件使用中的各种场景,每个场景由一系列相关的步骤组成,通过覆盖各种正常和异常的场景发现系统中可能会出现的问题

首先是确定基本流和备选流,根据两者编写测试用例

比如通过邮箱接收验证码实现注册功能,就可以画出下面基本流,与因每一步骤出现异常情况而形成的备选流

 由此可写出测试用例

1)输入正确的账号密码,点击注册后系统发出确认邮件,并且用户在24h内确认:注册成功

2)输入异常的账号密码(各种异常情况,比如不输入、输入部分、输入超长、输入超短、输入特殊字符、输入emoji、输入敏感信息,两者各种的组合情况,比如不输入账号、输入密码等等都要写,但因为这里我主要想说场景法就先省略了 ..>o<..)

3)在点击注册后系统发送确认邮件时出现网络异常:发送邮件失败或者用户未接收到邮件,或客户端收到邮件但服务端发送状态失败

4)系统发送确认邮件后,用户未在24h内点击确认:注册失败,用户需重新输入账号密码点击注册

5)系统发送确认邮件后,用户未在24h内点击确认,而后重新注册,系统再次发送确认邮件,但用户确认旧的确认邮件:页面无响应,一直等待

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日Prompt:隐形人

提示词 黑色棒球帽&#xff0c;白色抹胸、粉色低腰短裙、白色襪子&#xff0c;黑色鞋子&#xff0c;粉紅色背包&#xff0c;衣服悬浮在空中呈现动态姿势&#xff0c;虚幻引擎渲染风格&#xff0c;高清晰游戏CG质感&#xff0c;户外山林背景&#xff0c;画面聚焦在漂浮的衣服上…

TensorFlow深度学习实战(19)——受限玻尔兹曼机

TensorFlow深度学习实战&#xff08;19&#xff09;——受限玻尔兹曼机 0. 前言1. 受限玻尔兹曼机1.1 受限玻尔兹曼机架构1.2 受限玻尔兹曼机的数学原理 2. 使用受限玻尔兹曼机重建图像3. 深度信念网络小结系列链接 0. 前言 受限玻尔兹曼机 (Restricted Boltzmann Machine, RB…

告别手动绘图!基于AI的Smart Mermaid自动可视化图表工具搭建与使用指南

以下是对Smart Mermaid的简单介绍&#xff1a; 一款基于 AI 技术的 Web 应用程序&#xff0c;可将文本内容智能转换为 Mermaid 格式的代码&#xff0c;并将其渲染成可视化图表可以智能制作流程图、序列图、甘特图、状态图等等&#xff0c;并且支持在线调整、图片导出可以Docke…

【Oracle】安装单实例

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 安装前的准备工作1.1 硬件和系统要求1.2 检查系统环境1.3 下载Oracle软件 2. 系统配置2.1 创建Oracle用户和组2.2 配置内核参数2.3 配置用户资源限制2.4 安装必要的软件包 3. 目录结构和环境变量3.1 创建Ora…

QT中更新或添加组件时出现“”qt操作至少需要一个处于启用状态的有效资料档案库“解决方法”

在MaintenanceTool.exe中点击下一步 第一个&#xff1a; 第二个&#xff1a; 第三个&#xff1a; 以上任意一个放入资料库中

论文速读《UAV-Flow Colosseo: 自然语言控制无人机系统》

论文链接&#xff1a;https://arxiv.org/abs/2505.15725项目主页&#xff1a;https://prince687028.github.io/UAV-Flow/ 0. 简介 近年来&#xff0c;无人机技术蓬勃发展&#xff0c;但如何让无人机像智能助手一样理解并执行人类语言指令&#xff0c;仍是一个前沿挑战。现有研…

ES6+中Promise 中错误捕捉详解——链式调用catch()或者async/await+try/catch

通过 unhandledrejection 捕捉未处理的 Promise 异常&#xff0c;手动将其抛出&#xff0c;最终让 window.onerror 捕捉&#xff0c;从而统一所有异常的处理逻辑 规范代码&#xff1a;catch&#xff08;onRejected&#xff09;、async...awaittry...catch 在 JavaScript 的 Pro…

解常微分方程组

Euler法 function euler_method % 参数设置 v_missile 450; % 导弹速度 km/h v_enemy 90; % 敌艇速度 km/h % 初始条件 x0 0; % 导弹初始位置 x y0 0; % 导弹初始位置 y xe0 120; % 敌艇初始位置 y t0 0; % 初始时间 % 时间步长和总时间 dt 0.01; % 时间步长 t_final …

C++实现汉诺塔游戏自动完成

目录 一、汉诺塔的规则二、数学递归推导式三、步骤实现(一)汉诺塔模型(二)递归实现(三)显示1.命令行显示2.SDL图形显示 四、处理用户输入及SDL环境配置五、总结六、源码下载 一、汉诺塔的规则 游戏由3根柱子和若干大小不一的圆盘组成&#xff0c;初始状态下&#xff0c;所有的…

pikachu靶场通关笔记07 XSS关卡03-存储型XSS

目录 一、XSS 二、存储型XSS 三、源码分析 四、渗透实战 1、输入mooyuan试一试 2、注入Payload 3、查看数据库 4、再次进入留言板页面 本系列为通过《pikachu靶场通关笔记》的XSS关卡(共10关&#xff09;渗透集合&#xff0c;通过对XSS关卡源码的代码审计找到XSS风险的…

OpenCV CUDA模块直方图计算------用于在 GPU 上执行对比度受限的自适应直方图均衡类cv::cuda::CLAHE

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::cuda::CLAHE 是 OpenCV 的 CUDA 模块中提供的一个类&#xff0c;用于在 GPU 上执行对比度受限的自适应直方图均衡&#xff08;Contrast Limi…

华为OD机试真题——矩形绘制(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 200分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

JDBC连不上mysql:Unable to load authentication plugin ‘caching_sha2_password‘.

最近为一个spring-boot项目下了mysql-9.3.0&#xff0c;结果因为mysql版本太新一直报错连不上。 错误如下&#xff1a; 2025-06-01 16:19:43.516 ERROR 22088 --- [http-nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispat…

MacOS安装Docker Desktop并汉化

1. 安装Docker Desktop 到Docker Desktop For Mac下载对应系统的Docker Desktop 安装包&#xff0c;下载后安装&#xff0c;没有账号需要注册&#xff0c;然后登陆即可。 2. 汉化 前往汉化包下载链接下载对应系统的.asar文件 然后将安装好的文件覆盖原先的文件app.asar文件…

Centos系统搭建主备DNS服务

目录 一、主DNS服务器配置 1.安装 BIND 软件包 2.配置主配置文件 3.创建正向区域文件 4.创建区域数据文件 5.检查配置语法并重启服务 二、从DNS服务配置 1.安装 BIND 软件包 2.配置主配置文件 3.创建缓存目录 4.启动并设置开机自启 一、主DNS服务器配置 1.安装 BIN…

使用 HTML + JavaScript 实现在线考试系统

在现代的在线教育平台中&#xff0c;在线考试系统是不可或缺的一部分。本文将通过一个完整的示例&#xff0c;演示如何使用 HTML、CSS 和 JavaScript 构建一个支持多种题型的在线考试系统。 效果演示 项目概述 本项目主要包含以下核心功能&#xff1a; 支持4种常见题型&…

谷歌工作自动化——仙盟大衍灵机——仙盟创梦IDE

下载地址 https://chromewebstore.google.com/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd https://chrome.zzzmh.cn/info/mooikfkahbdckldjjndioackbalphokd

秒杀系统—1.架构设计和方案简介

大纲 1.秒杀系统的方案设计要点 2.秒杀系统的数据 页面 接口的处理方案 3.秒杀系统的负载均衡方案底层相关 4.秒杀系统的限流机制和超卖问题处理 5.秒杀系统的异步下单和高可用方案 1.秒杀系统的方案设计要点 (1)秒杀促销活动的数据处理 (2)秒杀促销活动的页面处理 (…

基于FashionMnist数据集的自监督学习(生成式自监督学习AE算法)

目录 一&#xff0c;生成式自监督学习 1.1 简介 1.2 核心思想 1.3 常见算法 1.3.1 自动编码器&#xff08;Autoencoder&#xff09; 1.3.2 生成对抗网络&#xff08;GANs&#xff09; 1.3.3 变分自编码器&#xff08;VAE&#xff09; 1.3.4 Transformer-based 模型&…

从监控到告警:Prometheus+Grafana+Alertmanager+告警通知服务全链路落地实践

文章目录 一、引言1.1 监控告警的必要性1.2 监控告警的基本原理1.2.1 指标采集与存储1.2.2 告警规则与触发机制1.2.3 多渠道通知与闭环 二、技术选型与架构设计2.1 为什么选择 Prometheus 及其生态2.1.1 Prometheus 优势分析2.1.2 Grafana 可视化能力2.1.3 Alertmanager 灵活告…