软件测试学习笔记-测试用例的编写
7中测试分类
按照阶段可划分单元测试、集成测试、系统测试、验收测试。代码可见度划分黑盒测试、灰盒测试、白盒测试
单元测试:针对源代码的测试
集成测试:针对接口进行测试
系统测试:针对功能和非功能的测试
验收测试:公测、内测
黑盒测试:不关注源代码针对功能测试 如系统测试
白盒测试:针对源代码进行测试 如:单元测试
灰盒测试:针对接口进行测试 如:集成测试
测试流程的6个步骤:
1.需求评审、2. 测试计划、3. 用例设计、4. 用例执行、5. 缺陷管理、6. 测试报告
文章目录
- 测试用例
- 1. 等价类划分法(应对穷举场景)
- 2. 边界值分析法(限定边界规则)
- 3. 判断表法
- 4. 场景法
测试用例
8个组成部分
测试编号 项目_模块_编号
测试标题 预期结果(测试点) 比如 登录失败(账号为空)
项目/模块
优先级 表示用例的重要程序或者影响力p0~p4(p0最高)用户使用最多的功能 p0
前置条件
测试步骤
测试数据
预期结果
1. 等价类划分法(应对穷举场景)
- 明确需求
- 划分有效和无效等价
- 设计数据编写用例
例子:验证QQ账号合法
需求:6~10位自然数
从位数上分为:
有效:8位自然数
无效:5位、11位自然数
其他:
无效:8位非自然数、空
测试用例为:
测试编号 | 测试标题 | 项目/模块 | 优先级 | 前置条件 | 测试数据 | 测试步骤 | 预期结果 |
---|---|---|---|---|---|---|---|
qq_001 | QQ合法(8位自然数) | qq账号 | p0 | 打开QQ验证程序 | 账号:12345678 | 1. 输入QQ账号 2.点击验证 | QQ合法 |
qq_002 | QQ不合法(5位自然数) | qq账号 | p1 | 打开QQ验证程序 | 账号:12345 | 1. 输入QQ账号 2.点击验证 | QQ不合法 |
qq_003 | QQ不合法(11位自然数) | qq账号 | p1 | 打开QQ验证程序 | 账号:12345678910 | 1. 输入QQ账号 2.点击验证 | QQ不合法 |
qq_004 | QQ不合法(8位非自然数) | qq账号 | p1 | 打开QQ验证程序 | 账号:1234567a | 1. 输入QQ账号 2.点击验证 | QQ不合法 |
qq_005 | QQ不合法(空) | qq账号 | p1 | 打开QQ验证程序 | 账号:空 | 1. 输入QQ账号 2.点击验证 | QQ不合法 |
例子:电话号码的正确性
需求:
- 区号:空或者三位数字
- 前缀码:非“0”且非“1”开头的三位数字
- 后缀码:四位数字
对应的测试用例如下:
测试编号 | 测试标题 | 项目/模块 | 优先级 | 前置条件 | 测试数据 | 测试步骤 | 预期结果 |
---|---|---|---|---|---|---|---|
电话_001 | 电话号码合法(区号为空+其他正常) | 电话号码 | p0 | 打开电话号码验证程序 | 区号:空 前缀:234 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码合法 |
电话_002 | 电话号码合法(区号为三位数字+其他正常) | 电话号码 | p0 | 打开电话号码验证程序 | 区号:123 前缀:234 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码合法 |
电话_003 | 电话号码不合法(区号为非三位数字+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:1234 前缀:234 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
电话_004 | 电话号码不合法(前缀为非0且非1开头的非三位数字+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:123 前缀:2345 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
电话_005 | 电话号码不合法(后缀为非四位数字+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:123 前缀:234 后缀:234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
电话_006 | 电话号码不合法(区号为非数字+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:12a 前缀:234 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
电话_007 | 电话号码不合法(前缀为非数字+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:123 前缀:23a 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
电话_008 | 电话号码不合法(后缀为非数字+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:123 前缀:234 后缀:123a | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
电话_009 | 电话号码不合法(前缀以0开头+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:123 前缀:023 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
电话_010 | 电话号码不合法(前缀以1开头+其他正常) | 电话号码 | p1 | 打开电话号码验证程序 | 区号:123 前缀:123 后缀:1234 | 1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证 | 电话号码不合法 |
使用场景:需要大量测试数据输入,但是没法穷举测试的地方
- 输入框
- 下拉列表
- 单选复选框
2. 边界值分析法(限定边界规则)
解决边界值位数限制问题
选取正好等于、刚好大于、刚好小于边界的值作为测试数据
上点:边界上的点(正好等于)
离点:距离上点最近的点(刚好大于、刚好小于)
内点:范围内的点(区间范围内的数据)
最多:7点(不考虑类型,按照位数)
步骤:
- 明确需求
- 确定有效和无效等价类(只考虑类型)
- 确定边界范围值
- 提取数据编写测试用例
例子:
需求:通过边界值法验证标题长度的合法性。
要求:标题长度大于0,小于等于30个字符
有效:长度大于0小于或等于30的字符
无效:长度大于0小于或等于30的数字
上点:0,30
离点:-1,1,29,31
内点:15
总共7种,长度没有为-1的,且内点为15和有效重复
优化:离点–>考虑开闭区间,开区间选择内部离点,闭区间选择外部离点
使用场景:
- 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
- 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
- 典型代表:有边界范围的输入框类测试
3. 判断表法
场景:多条件有依赖关系
是一种以表格形式表示多条件逻辑判断的工具
组成:
- 条件桩:列出问题中的所有条件,列出条件的次序无关紧要
- 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
- 条件项:列出条件对应的取值,所有可能情况下的真假值
- 动作项:列出条件项的、各种取值情况下应该采取的动作结果
例子:验证”若用户欠费或者关机,则不允许主被叫“功能的测试
规则:
- 判断表中贯穿条件项和动作项的一列就是一条规则
- 假设有n个条件,每个条件的取值有两个,全部组合为2的n次方种规则
步骤:
- 明确需求
- 画出判定表
1) 列出条件桩和动作桩
2)填写条件项,对条件进行全组合
3)根据条件项和组合确定动作项
4)简化、合并相似规则(有相同动作) - 根据规则编写测试用例
例子1:
条件桩:金额是否大于500、是否过期
动作项:发出批准单和提货单、发出通知单
测试用例:
测试编号 | 测试标题 | 项目/模块 | 优先级 | 前置条件 | 测试数据 | 测试步骤 | 预期结果 |
---|---|---|---|---|---|---|---|
order_001 | 发通知单(金额大于500,过期) | 订单 | p0 | 打开订单验证程序 | 1. 金额:600 2.是否过期:是 | 1. 输入金额 2. 输入是否过期 3. 点击验证 | 发通知单,不发批准单和提货单 |
order_002 | 发批准单和提货单(金额大于500,没有过期) | 订单 | p0 | 打开订单验证程序 | 1. 金额:600 2.是否过期:否 | 1. 输入金额 2. 输入是否过期 3. 点击验证 | 不发通知单,发批准单和提货单 |
order_003 | 发批准单和提货单、通知单(金额小于500,过期) | 订单 | p0 | 打开订单验证程序 | 1. 金额:400 2.是否过期:是 | 1. 输入金额 2. 输入是否过期 3. 点击验证 | 发通知单,发批准单和提货单 |
order_004 | 发批准单和提货单(金额小于500,没有过期) | 订单 | p0 | 打开订单验证程序 | 1. 金额:400 2.是否过期:否 | 1. 输入金额 2. 输入是否过期 3. 点击验证 | 不发通知单,发批准单和提货单 |
例子2:
文件修改规则
条件桩:第一列为A或者B、第二列是数字
动作桩:给出信息L、给出信息M、修改文件成功
4. 场景法
使用标准图和箭头来表达程序或业务的走向(流程图)
先测试业务,再测试单功能,单模块,单页面
例子:ATM机取款流程
对应的测试用例
相关文章:

软件测试学习笔记-测试用例的编写
7中测试分类 按照阶段可划分单元测试、集成测试、系统测试、验收测试。代码可见度划分黑盒测试、灰盒测试、白盒测试 单元测试:针对源代码的测试 集成测试:针对接口进行测试 系统测试:针对功能和非功能的测试 验收测试:公测、内测…...

『运维备忘录』之 Kubernetes(K8S) 常用命令速查
一、简介 kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用。kubernetes是基于容器技术的分布式架构解决方案,具有完备的集群管理能力&a…...

Android SDK 上传 Maven 喂奶级教程
最近领导给安排了个任务,让我把我们现有的一个 SDK 上传到 Maven 上去,方便客户直接用 gradle 依赖,不再需要拷贝 jar 和 so 了,此前我也看过一些相关的文章我想问题也不大,觉得工作量也就一两天的事情,主要…...

R语言绘图教程 | 双侧条形图绘制教程
写在前面 双侧条形图在我们的文章中也是比较常见的,那么这样的图形是如何绘制的呢? 以及它使用的数据类型是什么呢? 这些都是我们在绘制图形前需要掌握的,至少我们知道绘图的数据集如何准备,这样才踏出第一步。 今天的教程,我们会从数据的准备,以及数据如何整理,以及…...

ubuntu篇---ubuntu安装python3.9
ubuntu篇—ubuntu安装python3.9 在ubuntu上安装Python有两种方法:在线安装和源码编译安装。 方法1:使用apt在线安装 1.更新软件包列表并安装必备组件: $ sudo apt update $ sudo apt install software-properties-common2.将Deadsnakes PPA添加到系统…...
git初始化一个远程空仓库
目录 1. 仅做简单初始化2. 推送现有的非仓库文件夹3. 推送现有的仓库 git初始化一个远程空仓库主要有以下三种途径: 仅做简单初始化,例如添加 README.md 和 .gitignore。将现有的文件夹(非仓库)推送到远程仓库。将现有的仓库推送…...
装箱问题+宠物小精灵之收服+数字组合——01背包
一、装箱问题 (裸题) 有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积(正整数)。 要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入 第一行是一个整数 V (0 < V ≤ 20000)&…...

记一次页面接口502问题:“502 Bad Gateway”
接收别人的项目进行迭代,项目部署到服务器上之后,有一个接口数据刷不出来,一直502 后来联想到网关的问题,想通过设置白名单的方式解决,设置之后依旧不行。 查看nginx日志发现报错: *169 connect() failed …...

Oracle systemstate、gdb、dbx介绍
当数据库出现严重的性能问题或者hang了的时候, 可能最常用的办法就是重启数据库,简单有效解决问题;但是重启后如何追踪问题的根本原因成了难题,很多信息随着重启也消失不见了,让追查问题变的十分棘手,这时就…...

Stable Diffusion 模型下载:RealCartoon-Anime - V10
文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十下载地址模型介绍 这个检查点是从 RealCartoon3D 检查点分支出来的。它的目标是产生更多的“动漫”风格,因为我喜欢动漫。:)我知道有很多人做得很好(...
课时22:内置变量_字符串相关
2.4.2 字符串相关 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 字符串相关的变量解析 字符串计数${#file} 获取字符串的长度字符串截取 - 语法为${var:pos:length} 表示对变量var从pos开始截取length个字符,pos为…...

软件应用实例分享,电玩计时计费怎么算,佳易王PS5游戏计时器系统程序教程
软件应用实例分享,电玩计时计费怎么算,佳易王PS5游戏计时器系统程序教程 一、前言 以下软件教程以 佳易王电玩计时计费管理系统软件V17.9为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 点击开始计时后,图片…...

架设游戏服务器租用价格?腾讯云和阿里云价格对比
游戏服务器租用多少钱一年?1个月游戏服务器费用多少?阿里云游戏服务器26元1个月、腾讯云游戏服务器32元,游戏服务器配置从4核16G、4核32G、8核32G、16核64G等配置可选,可以选择轻量应用服务器和云服务器,阿腾云atengyu…...
ag-Grid:对数据变化的单元格进行高亮显示
对单元格高亮 问:ag-grid 当 rowData 数据变化,如何对数据变化的党员个进行高亮? 解析: 在ag-Grid中,想要对数据变化的单元格进行高亮显示,你可以使用以下步骤来实现: 监听数据变化:首先,你需要监听rowData的变化。这可以通过在你的组件中观察rowData属性的变化来实…...

Oracle 几种行转列的方式 sum+decode sum+case when pivot
目录 原始数据: 方式一: 方式二: 方式三: unpivot的使用: 原始数据: 方式一: select t_name,sum(decode(t_item, item1, t_num, 0)) item1,sum(decode(t_item, item2, t_num, 0)) item2,s…...
[AIGC] Tomcat:一个简单 and 高效的 Java Web 服务器
Tomcat(Tomcat Server)是 Apache 基金会下的一个开源项目,它是一个简单 and 高效的 Java Web 服务器,支持 Servlet 2.5、JSP 2.2 和 EL 2.2 规范。Tomcat 是当今最受欢迎的 Java Web 服务器之一,它在 Java 世界中被广泛…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toggle组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toggle组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Toggle组件 组件提供勾选框样式、状态按钮样式及开关样式。 子组件 仅当Toggl…...

使用耳机壳UV树脂制作私模定制耳塞有哪些选择呢?
私模定制耳塞人士的选择可以从以下几个方面考虑: 专业经验:选择有丰富经验的私模定制耳塞人士,能够更好地理解用户需求,提供更专业的建议和服务。可以通过查看其作品和客户评价来了解其经验和口碑。材料质量:选择使用…...
什么是集群服务器
近一段时间来,集群服务器被广大站长热议,所谓集群服务器就是指很多台服务器把它们集中在一起来进行同一种服务。集群服务器也可以由很多个的计算机并行去计算,这样可以获得非常高的计算速度,提升服务器整体的工作效. 其实我们都知…...

HCIA-HarmonyOS设备开发认证V2.0-3.轻量系统内核基础
目录 一、前言二、LiteOS-M系统概述三、内核框架3.1、CMSIS 和 POSIX 整体架构3.2、LiteOS-M内核启动流程 四、内核基础4.1、任务管理4.2、时间管理(待续)4.3、中断管理(待续)4.4、软件定时器(待续) 五、内存管理5.1、静态内存(待续)5.2、动态内存(待续) 六、内核通信机制6.1、…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...