上次我们学会了写基础的测试用例,但很多新手会发现:写出来的用例总感觉"不够全面",测试完了还是担心有遗漏。今天教你一个简单实用的方法——用"5W1H"思维来设计测试场景,让你的测试覆盖率大幅提升。
为什么测试总是有遗漏?
新手常犯的错误:
只想到"正常情况",忽略异常场景
只测功能本身,不考虑外部因素
想到哪测到哪,缺乏系统性思考
解决方案:用结构化思维来穷尽测试场景。
"5W1H"测试场景设计法
这是一个经典的思维工具,帮你从6个维度全面考虑:
实战案例:电商购物车功能
还是以具体例子来说明,我们来设计购物车的测试场景:
Who - 用户角色维度
不同用户类型:
未登录用户:能否正常加入购物车?
普通会员:基础购物车功能
VIP会员:是否有特殊权限或折扣?
企业用户:批量采购功能是否正常?
测试场景举例:
未登录用户添加商品到购物车后登录,购物车内容是否保留?
VIP用户的专享价格是否在购物车中正确显示?
What - 功能内容维度
购物车的核心功能:
添加商品:单个/批量添加
修改数量:增加/减少数量
删除商品:单个/批量删除
价格计算:小计/总计/优惠
结算流程:跳转支付页面
边界和异常:
添加超出库存数量的商品
商品下架后在购物车中的状态
购物车商品达到上限(如99件)
When - 时间场景维度
时间相关的测试点:
长时间未操作:购物车是否会自动清空?
促销时间:限时折扣商品的价格变化
商品涨价:购物车中商品价格是否实时更新?
跨日操作:昨天加入的商品今天还在吗?
测试场景举例:
双11期间商品价格发生变化,购物车中的价格如何处理?
用户添加商品后30分钟未操作,购物车状态如何?
Where - 环境条件维度
不同使用环境:
设备类型:手机、平板、电脑
浏览器:Chrome、Safari、Edge
网络状况:WiFi、4G、弱网环境
地理位置:不同地区的商品可购买性
测试场景举例:
在弱网环境下添加商品,是否会出现重复添加?
手机端和电脑端的购物车数据是否同步?
Why - 业务目标维度
用户使用购物车的目的:
临时存储商品:稍后购买
对比选择:添加多个类似商品对比
批量购买:一次性购买多件商品
凑单满减:为了达到满减金额
测试场景举例:
用户为了凑单加入商品,满减条件计算是否正确?
购物车中有多个相同商品但不同规格,显示是否清晰?
How - 操作方式维度
不同的操作路径:
从商品详情页添加到购物车
从搜索结果页直接添加
通过扫码添加商品
从收藏夹移动到购物车
通过客服推荐添加
异常操作路径:
快速连续点击"加入购物车"按钮
同时在多个页面操作同一购物车
操作过程中断网再恢复
用例设计实战演练
基于上面的分析,我们来设计几个全面的测试场景:
综合场景用例1
标题: VIP用户在促销期间批量购买商品 场景: Who(VIP用户) + When(促销期间) + What(批量购买)
综合场景用例2
标题: 弱网环境下手机端购物车操作 场景: Where(弱网+手机) + How(异常操作)
快速检查清单
设计完测试场景后,用这个清单检查是否遗漏:
✓ 功能完整性
[ ] 正常流程都覆盖了吗?
[ ] 异常情况考虑了吗?
[ ] 边界值测试了吗?
✓ 用户多样性
[ ] 不同权限的用户都考虑了吗?
[ ] 新老用户的差异测试了吗?
✓ 环境兼容性
[ ] 主流设备和浏览器都测了吗?
[ ] 网络异常情况考虑了吗?
✓ 时间因素
[ ] 长时间操作的影响测试了吗?
[ ] 时间相关的业务逻辑验证了吗?
小技巧
画脑图:把6个维度画成思维导图,更直观
优先级排序:不是所有场景都要测,先测重要的
场景组合:多个维度组合,产生更真实的测试场景
团队讨论:和产品、开发一起brainstorm,避免遗漏
总结
用"5W1H"方法设计测试场景,就像用一把梳子把混乱的头发梳理整齐。从6个维度系统思考,能帮你发现更多测试点,提升测试覆盖率。
记住:好的测试不是测得多,而是测得全面且有针对性。