有了测试点之后,怎么把它写成规范的测试用例?测出Bug之后,怎么报告、怎么跟踪?
一、测试用例:不只是“随便记一下”
1.1 测试用例是什么?
在写用例之前,我一直以为测试就是“拿着手机点点点,发现不对就截个图”。学完之后发现完全不是这么回事。
测试用例的定义(我的笔记原话):
为特定测试目的而设计编写的详细、可执行的文档。
拆开来看就是三个关键词:
-
特定测试目的:你这次测的是什么?(比如“验证密码长度限制”)
-
详细:每一步怎么操作、用什么数据、期望什么结果,全部写清楚
-
可执行:换一个人拿着你的用例,也能一模一样地执行出来
1.2 为什么要写测试用例?(三个作用)
| 防止漏测 | 有清单对照,不怕遗漏 |
| 规范测试过程,提升效率 | 不用每次重新想,按步骤走就行 |
| 工作量化 | 写了多少用例、执行了多少、发现了多少Bug,都能量化 |
说白了,写用例既是对自己负责(不漏测),也是对团队负责(可追溯)。
二、一个规范的测试用例,包含哪些内容?
根据我的课堂笔记,一个完整的测试用例包含以下要素,我以“微信密码8-16位”为例来填充:
| 用例编号 | 项目+模块的英文简称,便于管理 | WX_REG_PWD_001 |
| 用例标题 | 一句话说清楚测什么 | 验证密码长度为8位且含字母和数字时注册成功 |
| 优先级 | 重要程度(高/中/低) | 高 |
| 前置条件 | 执行前需要满足什么(非必填) | 已进入微信注册页面,网络正常 |
| 测试步骤 | 一步步怎么操作 | 1. 在密码框输入 Abc12345;2. 点击“下一步” |
| 测试数据 | 具体用到的数据(可单独列出) | Abc12345 |
| 预期结果 | 期望系统怎么反馈 | 密码格式校验通过,进入下一步 |
写用例的时候我有一个感受:“测试步骤”一定要写得足够细,细到随便一个人拿着都能执行。像“输入密码”这种描述太模糊,要写清楚“在哪个框输入什么内容”。
三、从测试点到测试用例:一个完整的流程
笔记里有一张流程图,我把它整理成文字版:
分析需求:搞清楚这个功能要做什么
确定测试目的:明确这次要验证什么
准备测试数据:根据等价类/边界值准备好输入数据
覆盖各种场景:正向+反向都要覆盖
梳理测试点:把场景转化成一个个测试点
将测试点转化为测试用例:补充步骤、数据、预期结果
评审与调整:检查是否有遗漏或冗余
简单说就是:需求 → 测试点 → 测试用例 → 评审 → 执行。
四、执行测试,发现Bug
4.1 什么是Bug?(缺陷的定义)
我的笔记里写得很直白:
软件在运行过程中出现的各种异常,叫Bug。
常见的Bug类型包括:
| 少功能 | 需求写了但没实现 | 需求要“记住密码”,但App没这个选项 |
| 功能错误 | 实现了,但实现得不对 | 密码8位能通过,但7位也通过了 |
| 多功能 | 需求没写但多出来功能 | 需求没说要“忘记密码”,但页面有个按钮点了没反应 |
| 隐性功能缺失 | 特殊场景下功能失效 | 输入密码包含 !@# 时报错 |
| 不可使用 | 完全无法操作 | 密码框点不了,键盘弹不出来 |
4.2 Bug报告怎么写?
发现Bug之后,需要提交一份缺陷报告。根据我的笔记,包含以下要素:
| 缺陷标题 | 一句话概括问题 | [注册] 密码输入7位纯字母,校验通过,不符合需求 |
| 预置条件 | 和用例保持一致 | 已进入微信注册页面 |
| 复现步骤 | 和用例步骤保持一致(含数据) | 1. 在密码框输入 abcdefg;2. 点击“下一步” |
| 预期结果 | 和用例一致 | 报错“密码需为8-16位,且不能为纯字母” |
| 实际结果 | 和用例不一致的地方 | 校验通过,进入下一步 |
| 附件 | 截图/日志(必填项) | 截图(红框标出异常) |
笔记里还特别写了一句:“一个缺陷报告只反映一个问题”。不要在一个报告里堆好几个Bug,这样开发和测试都容易乱。
4.3 Bug的生命周期(状态流转)
发现Bug不是终点,还要跟踪它直到关闭。笔记里记录的状态流转如下:

几个关键状态:
| New | 新建,刚提交的Bug |
| Open / Reopen | 开发确认要修 / 验证失败重新打开 |
| Fixed | 开发已修复 |
| Closed | 测试验证通过,关闭 |
笔记里还提到了开发可能“拒绝Bug”,这时候需要和开发沟通清楚——是需求本身如此,还是确实有问题,不能直接关上就不管了。
五、缺陷管理工具:禅道
实际工作中,我们不会用Excel来管理Bug,而是用专门的工具。笔记里提到的有:
-
禅道(国内最常用,集用例管理+缺陷管理于一体)
-
JIRA(国际大厂常用)
-
TAPD(腾讯出品)
禅道上做的事(笔记原文):
| 管理用例 | 新建用例 → 评审用例 → 执行用例 |
| 管理缺陷 | 提交缺陷 → 跟踪缺陷 → 验证缺陷 → 关闭缺陷 |
整个流程从“写用例”到“发现Bug”到“跟踪修复”都在一个平台上完成。
六、用例 + 缺陷 速查卡
测试用例要素速查
| 用例编号 | 项目+模块+序号 | ✅ |
| 用例标题 | 测什么,一句话 | ✅ |
| 优先级 | 高/中/低 | ✅ |
| 前置条件 | 执行前需要满足什么 | ❌ |
| 测试步骤 | 每一步怎么操作 | ✅ |
| 测试数据 | 具体输入值 | ✅ |
| 预期结果 | 期望系统怎么反馈 | ✅ |
缺陷报告要素速查
| 缺陷标题 | 问题一句话概括 | ✅ |
| 预置条件 | 和用例一致 | ✅ |
| 复现步骤 | 和用例步骤一致 | ✅ |
| 预期结果 | 和用例一致 | ✅ |
| 实际结果 | 和用例不一致的地方 | ✅ |
| 附件 | 截图/日志 | ✅(通常必填) |
缺陷状态流转口诀
New提交 → Open确认 → Fixed修复 → Closed关闭
验证没过 → Reopen重新打开 → 再修再验
七、我的学习感受
通过这一部分的学习,我对测试的整体流程有了更清晰的认识:
测试不是“随便点点”,从写用例到提Bug再到跟踪关闭,每一步都有规范
测试用例是测试的“施工图”,设计好之后按图施工,才不会遗漏
缺陷报告是测试的“产出物”,写得好不好,直接影响开发修Bug的效率
工具只是载体,禅道/JIRA都是帮你把流程串起来,核心还是你对用例和缺陷的理解
网硕互联帮助中心





评论前必须登录!
注册