当前位置: 首页 > news >正文

软件测试学习笔记-测试用例的编写

请添加图片描述
7中测试分类
按照阶段可划分单元测试、集成测试、系统测试、验收测试。代码可见度划分黑盒测试、灰盒测试、白盒测试
单元测试:针对源代码的测试
集成测试:针对接口进行测试
系统测试:针对功能和非功能的测试
验收测试:公测、内测
黑盒测试:不关注源代码针对功能测试 如系统测试
白盒测试:针对源代码进行测试 如:单元测试
灰盒测试:针对接口进行测试 如:集成测试


测试流程的6个步骤:
1.需求评审、2. 测试计划、3. 用例设计、4. 用例执行、5. 缺陷管理、6. 测试报告

文章目录

        • 测试用例
          • 1. 等价类划分法(应对穷举场景)
          • 2. 边界值分析法(限定边界规则)
          • 3. 判断表法
          • 4. 场景法

测试用例

8个组成部分
测试编号 项目_模块_编号
测试标题 预期结果(测试点) 比如 登录失败(账号为空)
项目/模块
优先级 表示用例的重要程序或者影响力p0~p4(p0最高)用户使用最多的功能 p0
前置条件
测试步骤
测试数据
预期结果

1. 等价类划分法(应对穷举场景)
  1. 明确需求
  2. 划分有效和无效等价
  3. 设计数据编写用例

例子:验证QQ账号合法
需求:6~10位自然数
从位数上分为:
有效:8位自然数
无效:5位、11位自然数

其他:
无效:8位非自然数、空
测试用例为:

测试编号测试标题项目/模块优先级前置条件测试数据测试步骤预期结果
qq_001QQ合法(8位自然数)qq账号p0打开QQ验证程序账号:123456781. 输入QQ账号
2.点击验证
QQ合法
qq_002QQ不合法(5位自然数)qq账号p1打开QQ验证程序账号:123451. 输入QQ账号
2.点击验证
QQ不合法
qq_003QQ不合法(11位自然数)qq账号p1打开QQ验证程序账号:123456789101. 输入QQ账号
2.点击验证
QQ不合法
qq_004QQ不合法(8位非自然数)qq账号p1打开QQ验证程序账号:1234567a1. 输入QQ账号
2.点击验证
QQ不合法
qq_005QQ不合法(空)qq账号p1打开QQ验证程序账号:空1. 输入QQ账号
2.点击验证
QQ不合法

例子:电话号码的正确性
需求:

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

请添加图片描述
对应的测试用例如下:

测试编号测试标题项目/模块优先级前置条件测试数据测试步骤预期结果
电话_001电话号码合法(区号为空+其他正常)电话号码p0打开电话号码验证程序区号:空 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码合法
电话_002电话号码合法(区号为三位数字+其他正常)电话号码p0打开电话号码验证程序区号:123 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码合法
电话_003电话号码不合法(区号为非三位数字+其他正常)电话号码p1打开电话号码验证程序区号:1234 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_004电话号码不合法(前缀为非0且非1开头的非三位数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:2345 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_005电话号码不合法(后缀为非四位数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:234 后缀:2341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_006电话号码不合法(区号为非数字+其他正常)电话号码p1打开电话号码验证程序区号:12a 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_007电话号码不合法(前缀为非数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:23a 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_008电话号码不合法(后缀为非数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:234 后缀:123a1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_009电话号码不合法(前缀以0开头+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:023 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_010电话号码不合法(前缀以1开头+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:123 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法

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

  • 输入框
  • 下拉列表
  • 单选复选框
2. 边界值分析法(限定边界规则)

解决边界值位数限制问题
选取正好等于、刚好大于、刚好小于边界的值作为测试数据
上点:边界上的点(正好等于)
离点:距离上点最近的点(刚好大于、刚好小于)
内点:范围内的点(区间范围内的数据)
最多:7点(不考虑类型,按照位数)

步骤:

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

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

有效:长度大于0小于或等于30的字符
无效:长度大于0小于或等于30的数字
上点:0,30
离点:-1,1,29,31
内点:15

总共7种,长度没有为-1的,且内点为15和有效重复
在这里插入图片描述
优化:离点–>考虑开闭区间,开区间选择内部离点,闭区间选择外部离点

使用场景:

  1. 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
  2. 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
  3. 典型代表:有边界范围的输入框类测试
3. 判断表法

场景:多条件有依赖关系
是一种以表格形式表示多条件逻辑判断的工具
组成:

  1. 条件桩:列出问题中的所有条件,列出条件的次序无关紧要
  2. 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
  3. 条件项:列出条件对应的取值,所有可能情况下的真假值
  4. 动作项:列出条件项的、各种取值情况下应该采取的动作结果

例子:验证”若用户欠费或者关机,则不允许主被叫“功能的测试
在这里插入图片描述

规则:

  1. 判断表中贯穿条件项和动作项的一列就是一条规则
  2. 假设有n个条件,每个条件的取值有两个,全部组合为2的n次方种规则

步骤:

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

例子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&#xff0c;同时有 n 个物品&#xff0c;每个物品有一个体积&#xff08;正整数&#xff09;。 要求 n 个物品中&#xff0c;任取若干个装入箱内&#xff0c;使箱子的剩余空间为最小。 输入 第一行是一个整数 V (0 < V ≤ 20000)&…...

记一次页面接口502问题:“502 Bad Gateway”

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

Oracle systemstate、gdb、dbx介绍

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

Stable Diffusion 模型下载:RealCartoon-Anime - V10

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十下载地址模型介绍 这个检查点是从 RealCartoon3D 检查点分支出来的。它的目标是产生更多的“动漫”风格,因为我喜欢动漫。:)我知道有很多人做得很好(...

课时22:内置变量_字符串相关

2.4.2 字符串相关 学习目标 这一节&#xff0c;我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 字符串相关的变量解析 字符串计数${#file} 获取字符串的长度字符串截取 - 语法为${var:pos:length} 表示对变量var从pos开始截取length个字符&#xff0c;pos为…...

软件应用实例分享,电玩计时计费怎么算,佳易王PS5游戏计时器系统程序教程

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

架设游戏服务器租用价格?腾讯云和阿里云价格对比

游戏服务器租用多少钱一年&#xff1f;1个月游戏服务器费用多少&#xff1f;阿里云游戏服务器26元1个月、腾讯云游戏服务器32元&#xff0c;游戏服务器配置从4核16G、4核32G、8核32G、16核64G等配置可选&#xff0c;可以选择轻量应用服务器和云服务器&#xff0c;阿腾云atengyu…...

ag-Grid:对数据变化的单元格进行高亮显示

对单元格高亮 问:ag-grid 当 rowData 数据变化,如何对数据变化的党员个进行高亮? 解析: 在ag-Grid中,想要对数据变化的单元格进行高亮显示,你可以使用以下步骤来实现: 监听数据变化:首先,你需要监听rowData的变化。这可以通过在你的组件中观察rowData属性的变化来实…...

Oracle 几种行转列的方式 sum+decode sum+case when pivot

目录 原始数据&#xff1a; 方式一&#xff1a; 方式二&#xff1a; 方式三&#xff1a; unpivot的使用&#xff1a; 原始数据&#xff1a; 方式一&#xff1a; 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&#xff08;Tomcat Server&#xff09;是 Apache 基金会下的一个开源项目&#xff0c;它是一个简单 and 高效的 Java Web 服务器&#xff0c;支持 Servlet 2.5、JSP 2.2 和 EL 2.2 规范。Tomcat 是当今最受欢迎的 Java Web 服务器之一&#xff0c;它在 Java 世界中被广泛…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toggle组件

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

使用耳机壳UV树脂制作私模定制耳塞有哪些选择呢?

私模定制耳塞人士的选择可以从以下几个方面考虑&#xff1a; 专业经验&#xff1a;选择有丰富经验的私模定制耳塞人士&#xff0c;能够更好地理解用户需求&#xff0c;提供更专业的建议和服务。可以通过查看其作品和客户评价来了解其经验和口碑。材料质量&#xff1a;选择使用…...

什么是集群服务器

近一段时间来&#xff0c;集群服务器被广大站长热议&#xff0c;所谓集群服务器就是指很多台服务器把它们集中在一起来进行同一种服务。集群服务器也可以由很多个的计算机并行去计算&#xff0c;这样可以获得非常高的计算速度&#xff0c;提升服务器整体的工作效. 其实我们都知…...

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、…...

LLM从零到英雄:四阶段学习路径与实战指南

1. 项目概述&#xff1a;从零到英雄的LLM学习之旅最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“LLMs-Zero-to-Hero”。光看名字就挺带劲的&#xff0c;直译过来就是“大语言模型&#xff1a;从零到英雄”。这项目定位非常清晰&#xff0c;就是给那些想入门大语言模型&…...

别只装AlexNet了!手把手教你在MATLAB里玩转更多预训练模型(VGG, ResNet, MobileNet安装指南)

别只装AlexNet了&#xff01;手把手教你在MATLAB里玩转更多预训练模型&#xff08;VGG, ResNet, MobileNet安装指南&#xff09; 当你第一次在MATLAB中调用alexnet函数时&#xff0c;那种"开箱即用"的体验确实令人惊艳。但就像一位米其林大厨不会只满足于使用基础厨具…...

深入解析Umi-OCR:开源离线OCR工具的技术架构与实践应用

深入解析Umi-OCR&#xff1a;开源离线OCR工具的技术架构与实践应用 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片&#xff0c;PDF文档识别&#xff0c;排除水印/页眉页脚&#xff0c;扫描/生成二维码。内置多国语…...

基于RT-Thread的AB32VG1开发板ADC采集与OLED显示实战

1. 项目概述与核心思路最近在折腾中科蓝讯的AB32VG1开发板&#xff0c;这块板子资源挺有意思&#xff0c;RISC-V内核加上丰富的外设&#xff0c;拿来练手嵌入式实时系统再合适不过。之前已经搞定了I2C接口的OLED屏幕显示&#xff0c;能让它乖乖地显示预设的字符串。但光显示静态…...

别再替换同义词!2026实测论文降AIGC工具:一次降至10%以下的排版保护指南

自从央视公开探讨初稿写作的AI味儿现象&#xff1a;据相关数据显示&#xff0c;近六成师生习惯使用生成式辅助&#xff0c;其中近三成学生将其用于核心初稿的撰写&#xff0c;各高校针对AIGC的审查便日益严格。 正是因为这种大背景&#xff0c;四月一到&#xff0c;定稿通知刚…...

独立开发者如何利用Taotoken管理多个项目的AI密钥与用量

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何利用Taotoken管理多个项目的AI密钥与用量 作为独立开发者&#xff0c;你可能同时维护着多个项目&#xff0c;例如一…...

Windows资源管理器STL缩略图革命:3D模型可视化管理的终极解决方案

Windows资源管理器STL缩略图革命&#xff1a;3D模型可视化管理的终极解决方案 【免费下载链接】STL-thumbnail Shellextension for Windows File Explorer to show STL thumbnails 项目地址: https://gitcode.com/gh_mirrors/st/STL-thumbnail 还在为海量STL文件的管理而…...

从dbc到AUTOSAR网络:ISOLAR-A工具链的CAN信号映射实战

1. 从dbc到AUTOSAR&#xff1a;为什么需要信号映射&#xff1f; 在汽车电子开发中&#xff0c;dbc文件就像一份"通信字典"&#xff0c;记录了ECU之间通过CAN总线交流的所有规则。但当你把这份字典直接扔给AUTOSAR架构时&#xff0c;会发现两者说的不是同一种语言——…...

YOLOv7训练VisDrone数据集避坑指南:标签转换、类别映射与路径配置详解

YOLOv7实战&#xff1a;VisDrone数据集训练全流程精解与疑难排查 1. 理解VisDrone数据集特性与YOLO格式差异 VisDrone作为无人机视角下的目标检测基准数据集&#xff0c;其标注格式与YOLOv7的预期输入存在本质区别。原始标注文件&#xff08;annotations/*.txt&#xff09;采用…...

SSD1306 OLED屏幕驱动全攻略:从Arduino到CircuitPython实战

1. 项目概述如果你玩过Arduino、ESP32或者树莓派Pico这类微控制器&#xff0c;肯定遇到过一个问题&#xff1a;怎么把程序运行的状态、传感器的数据或者一些简单的交互界面直观地展示出来&#xff1f;用串口监视器看数据流当然可以&#xff0c;但不够“酷”&#xff0c;也不够便…...