验证与确认是什么
验证(Verification)回答「是否按规格正确构建」,确认(Validation)回答「是否满足真实使用需要」。验证对照需求、设计与接口契约,确认对照用户场景与业务目标,两者在测试策略中必须同时覆盖。经典表述:验证是「正确地做事」,确认是「做正确的事」;规格本身写错时验证可能全通过,而缺少规格对照的确认又无法定位偏差。
基本信息
| 验证依据 | 需求文档、设计说明、接口契约 |
|---|---|
| 确认依据 | 用户场景、业务目标、验收标准 |
| 验证活动 | 评审、静态检查、单元与集成测试、规格对照 |
| 确认活动 | 验收测试、UAT、Beta 试用、灰度观察 |
验证与确认对比
| 维度 | 验证 | 确认 |
|---|---|---|
| 核心问题 | 是否符合规格与设计 | 是否满足真实使用需要 |
| 参照物 | 需求文档与接口契约 | 用户场景与业务目标 |
| 典型时机 | 开发全过程逐步进行 | 交付前与上线后观察 |
| 失败信号 | 实现与规格不一致 | 功能都对但用户完不成任务 |
典型使用场景
- 需求评审:验证需求本身可测、无歧义、无冲突
- 单元与集成测试:验证实现符合设计意图
- 接口契约测试:验证请求响应与文档一致
- 验收测试与 UAT:确认真实业务场景可以走通
- Beta 与灰度:在真实用户环境确认适配与价值
- 发布评审:对照验收标准确认改动效果与回退方案
规格符合度不能替代用户价值判断:任务清单里把两类活动分开列,评审时分别取证,避免一类活动掩盖另一类缺口。
把 UAT 做成签字流程、用户不实际操作系统,确认环节形同虚设,风险会留到上线后才暴露。