1. 场景搭建概述

大家好,我是老张。今天咱们聊聊场景搭建这事儿。说实话,我做了十几年测试,见过太多人一上来就写用例、跑脚本,结果上线就出问题。为什么?说白了,就是场景没搭对。

什么是场景搭建

场景搭建,简单来说就是——模拟用户真实使用环境的过程。你想想看,用户不会按你的测试用例来操作。他们会乱点、会断网、会输入奇怪的数据。场景搭建就是把这些「乱七八糟」的情况,提前在测试环境里复现出来。

我个人习惯把场景搭建分成三个层面:

  • 环境层:硬件、网络、操作系统、中间件这些基础设施
  • 数据层:用户数据、业务数据、配置数据的状态
  • 行为层:用户的操作路径、频率、并发量

嗯,这里要注意——很多人只搭环境,忽略了数据和行为。我在项目中遇到过好几次,环境一模一样,但数据不同,结果就完全不一样。有一次排查了三天,最后发现是测试库里少了一条关键配置记录。

核心观点:场景搭建不是「搭个环境就行」,而是「搭一个能复现真实问题的环境」。

场景搭建在测试中的重要性

为什么场景搭建这么重要?我给你讲个真实案例。

之前有个电商项目,功能测试全过了,性能测试也跑了。上线第一天,支付接口就挂了。查了半天,原因是——测试环境里只配了一台支付网关,生产环境是两台做负载均衡。测试时一切正常,上线后两台网关之间出现了会话同步问题。

你看,这就是场景没搭对。如果当初在测试环境里也搭两台网关,这个问题早就能发现。

场景搭建的重要性,我总结了几点:

重要性 说明 我踩过的坑
提前发现问题 在测试阶段暴露生产环境才有的问题 曾经因为测试库和生产库的字符集不同,导致中文乱码
提高测试覆盖率 覆盖正常流程之外的边界和异常情况 只测了200并发,上线后用户量冲到500,直接雪崩
减少线上故障 场景越真实,线上问题越少 有一次没测断网重连,结果用户反馈「付了钱没出票」
提升复现效率 问题出现后能快速复现和定位 以前复现bug要手动配半小时环境,后来用脚本一键搭建

我的建议:每个项目开始前,花一天时间梳理场景清单。别急着写用例,先把「可能会出问题的地方」列出来。这个时间花得值。

常见场景类型

场景类型很多,但归纳起来就三大类:功能、性能、异常。我分别说说。

功能场景

功能场景是最基础的。说白了就是——用户能不能正常完成操作。但这里有个误区,很多人只测「happy path」,也就是最顺利的那条路。

我个人习惯把功能场景分成:

  • 主流程场景:用户最常用的操作路径。比如登录→搜索→加购→下单→支付
  • 分支流程场景:用户可能走的其他路径。比如从收藏夹直接下单、从活动页跳转
  • 边界场景:输入值的边界。比如密码最长多少位、金额最小是多少

我记得有一次,测试只测了正常下单流程。结果上线后,有用户从「我的订单」页面重新下单,发现价格不对。为什么?因为那个入口的参数传递有问题。这就是分支流程没覆盖到。

性能场景

性能场景,说白了就是——系统扛不扛得住。我见过太多项目,功能测得好好的,一上线就卡死。

常见的性能场景包括:

  • 负载场景:模拟正常和峰值用户量。比如平时1000人在线,双十一1万人
  • 压力场景:逐步增加负载,找到系统的极限。我曾经把一个系统压到3000并发,结果数据库连接池先爆了
  • 稳定性场景:长时间运行,看有没有内存泄漏、连接泄漏。我建议至少跑24小时
  • 容量场景:数据量增长对性能的影响。比如订单表从100万涨到1亿,查询还快不快

避坑指南:我曾经在性能测试时只关注了TPS,忽略了响应时间的波动。结果上线后,虽然平均响应时间只有200ms,但偶尔会跳到5秒。用户反馈「系统时不时卡一下」。后来加了P99监控才抓到这个问题。

异常场景

异常场景是我最看重的。为什么?因为正常情况大家都测了,但出问题的往往是异常情况。

常见的异常场景:

  • 网络异常:断网、弱网、高延迟、丢包。移动端尤其要注意
  • 服务异常:依赖的服务挂了、返回超时、返回错误码
  • 数据异常:数据格式不对、字段为空、主键冲突
  • 资源异常:磁盘满了、内存不足、CPU打满

嗯,这里我要多说一句。很多人觉得异常场景「概率低,不用测」。但你想过没有——一旦发生,就是P0故障。我在项目中遇到过,因为磁盘满了导致日志写不进去,整个服务直接挂掉。如果提前测了磁盘满的场景,加个告警和自动清理,就不会出这事。

知识体系总览

下面这张图,是我对场景搭建知识体系的总结。你可以把它当作一个「地图」,后面每个章节都会对应到其中的一个模块。

场景搭建知识体系 场景搭建 功能场景 性能场景 异常场景 主流程场景 分支流程场景 边界场景 负载场景 压力场景 稳定性场景 容量场景 网络异常 服务异常 数据异常 资源异常

这张图把场景搭建分成了三大类九小类。后面的章节,我们会逐一深入每个场景的搭建方法和实战技巧。

一个小技巧:刚开始做场景搭建时,别贪多。先搭好主流程场景,再逐步覆盖分支和异常。我见过有人一上来就想搭全场景,结果一个月过去了,一个都没搭好。记住——先跑通,再跑全。

好了,这一章就到这里。场景搭建的概念、重要性和常见类型,你应该有个大概的了解了。下一章我们开始动手,聊聊具体的搭建工具和流程。

可可精品资料库