正向测试 | Positive Testing
正向测试验证“系统应该做什么”;负向测试验证“系统不应该做什么”。两者缺一不可。
相关术语
什么是正向测试?
正向测试(Positive Testing)是指使用有效输入、遵循预期流程来验证系统行为是否符合需求与设计。 典型问题是:“当用户正确操作时,系统是否正确输出结果?”
常见验证点包括:
- 功能是否按需求执行
- 页面/接口是否返回预期结果
- 数据写入与状态变更是否正确
- 正常链路下性能是否可接受
正向测试的目标是什么?
- 证明核心业务功能可用
- 快速识别阻塞流程的缺陷
- 为上线提供“主路径可用性”证据
- 为后续负向测试、边界测试提供稳定基线
正向测试与负向测试的区别
- 正向测试:输入合法数据,验证成功路径
- 负向测试:输入非法/异常数据,验证错误处理、系统稳健性
示例(登录场景):
- 正向:正确账号 + 正确密码,应登录成功
- 负向:错误账号/密码、空字段、超长字段,应有正确错误提示且系统不崩溃
正向测试适用场景
- 新功能首轮验证(冒烟)
- 回归中的核心业务路径检查
- 需求验收前的关键流程确认
- 发布前的最小可用能力验证
正向测试示例
电商下单流程:
- 用户添加商品到购物车
- 输入合法地址与支付信息
- 提交订单
- 系统返回支付成功并生成订单号
这属于正向测试,因为每一步都符合预期输入与操作流程。
与负向测试如何组合使用
推荐策略:
- 先用正向测试确认主流程可用
- 再用负向测试覆盖异常输入、异常状态、错误恢复
- 在 CI 中同时保留“快速正向冒烟”与“高价值负向回归”
这样既保证发布效率,也保证系统韧性。
常见误区
- 只做正向测试,不做负向测试
- 仅验证 UI 成功提示,不校验后端数据状态
- 正向用例过于单一,未覆盖关键分支
- 没有把正向测试自动化,导致回归成本过高
参考来源: