场景测试介绍
场景测试
如同真实用户的"业务旅程仿真" - 通过多步骤组合,完整验证复杂业务流程的执行质量。使用AngusTester场景测试,您可以:
✅ 模拟用户真实操作路径
✅ 发现跨系统交互问题
✅ 验证异常处理流程
✅ 节省60%+测试设计时间
✅ 提升90%+业务场景覆盖率
什么是场景测试?业务的端到端验证
场景测试不同于简单的功能测试,它是真实用户旅程的完整映射:
典型场景示例:
markdown
🛒 **电商购物流程**:
1. 搜索商品 → 2. 加入购物车 → 3. 填写地址 → 4. 支付订单 → 5. 查看订单状态
🏥 **医疗挂号流程**:
1. 选择科室 → 2. 选择医生 → 3. 填写病历 → 4. 支付挂号费 → 5. 接收预约通知
VS传统测试:
对比维度 | 传统测试 | 场景测试 |
---|---|---|
测试范围 | 单一功能点 | 端到端业务流程 |
验证目标 | 功能正确性 | 业务完整性+用户体验 |
耗时 | 短 | 中长 |
价值 | 基础质量保障 | 业务风险防控 |
为什么需要场景测试?五大关键价值
1. 发现集成黑洞
问题案例:
支付成功但订单未更新 → 因支付系统和订单系统数据不同步
场景测试方案:
2. 验证异常路径
典型异常场景:
- 网络中断时的订单恢复
- 库存不足时的替代方案
- 支付超时的自动取消
3. 保障业务连续性
断点续测能力:
4. 提升测试覆盖率
场景覆盖矩阵:
场景分类 | 占比 | 传统测试覆盖 | 场景测试覆盖 |
---|---|---|---|
正向路径 | 50% | 100% | 100% |
异常路径 | 30% | 20% | 95% |
边界路径 | 20% | 5% | 90% |
5. 真实环境模拟
多环境支持:
场景测试六步工作法
步骤1:定义目标 - 明确验证目的
关键问题:
- 解决什么业务问题?
- 覆盖哪些用户群体?
- 核心风险点在哪里?
AngusTester支持:
智能场景模板库(电商/金融/医疗等)
步骤2:流程编排 - 可视化构建场景
四大编排元素:
步骤3:数据配置 - 真实数据模拟
数据配置方法:
markdown
1. **静态数据**:预定义测试数据
2. **动态生成**:自动创建测试账户
3. **数据驱动**:CSV批量数据导入
4. **API获取**:从生产环境脱敏获取
步骤4:调试优化 - 实时排错
调试检查清单:
markdown
✅ 步骤顺序合理性
✅ 逻辑分支完整性
✅ 数据传递准确性
✅ 断言覆盖充分性
✅ 异常处理健全性
步骤5:多环境执行 - 灵活部署
环境策略表:
环境类型 | 使用场景 | 优势 |
---|---|---|
测试环境 | 日常测试 | 灵活可控 |
预发布环境 | 上线前验证 | 接近生产 |
生产隔离区 | 高保真验证 | 100%真实 |
步骤6:智能分析 - 深度洞察
三维分析模型:
五大典型应用场景
1. 复杂业务流程验证
2. 异步消息处理
订单状态更新流:
3. 多系统集成测试
4. 条件分支覆盖(TODO)
优惠券使用场景:
AngusTester场景测试解决方案
场景编辑器
智能执行引擎
执行模式对比:
执行模式 | 适用场景 | 特点 |
---|---|---|
顺序执行 | 线性流程 | 简单高效 |
并行执行 | 多分支流程 | 大幅提速 |
迭代执行 | 数据驱动 | 批量验证 |
自动重试 | 不稳定的依赖 | 提高稳定性 |
全景报告系统
三维度分析:
场景字段信息
参数 | 字段名 | 类型 | 必填 | 长度限制 | 说明 |
---|---|---|---|---|---|
ID | id | bigint | 条件 | / | 场景唯一标识符;修改时必须 |
项目ID | projectId | long | 是 | / | 所属项目唯一标识 |
场景名称 | name | string | 是 | ≤200 | 场景业务名称 |
插件类型 | plugin | string | 是 | ≤40 | 场景执行插件类型 |
描述 | description | string | 否 | ≤800 | 场景详细描述 |
脚本内容 | script | object | 否 | / | YAML/JSON格式的脚本内容,查看 测试规范 |
授权控制 | auth | boolean | 否 | / | 是否启用权限控制, 默认 false |
启用功能测试 | testFunc | boolean | 否 | / | 是否启用功能测试, 默认 true |
启用性能测试 | testPerf | boolean | 否 | / | 是否启用性能测试, 默认 true |
启用稳定性测试 | testStability | boolean | 否 | / | 是否启用稳定性测试, 默认 true |
脚本类型 | scriptType | enum | 只读 | / | 脚本类型枚举: 功能测试/性能测试/稳定性测试/自定义测试/模拟数据/模拟接口 |
脚本ID | scriptId | long | 只读 | / | 关联脚本ID |
脚本名称 | scriptName | string | 只读 | / | 关联脚本名称 |
功能测试通过状态 | testFuncPassed | boolean | 只读 | / | 功能测试是否通过 |
功能测试失败原因 | testFuncFailure Message | string | 只读 | / | 功能测试失败详细信息 |
性能测试通过状态 | testPerfPassed | boolean | 只读 | / | 性能测试是否通过 |
性能测试失败原因 | testPerfFailure Message | string | 只读 | / | 性能测试失败详细信息 |
稳定性测试通过状态 | testStability Passed | boolean | 只读 | / | 稳定性测试是否通过 |
稳定性测试失败原因 | testStability FailureMessage | string | 只读 | / | 稳定性测试失败详细信息 |
收藏状态 | favourite | boolean | 只读 | / | 是否收藏 |
关注状态 | follow | boolean | 只读 | / | 是否关注 |
创建人ID | createdBy | long | 只读 | / | 场景创建人ID |
创建人姓名 | createdByName | string | 只读 | / | 创建人姓名 |
创建时间 | createdDate | datetime | 只读 | / | 场景创建时间 |
最后修改人ID | lastModifiedBy | long | 只读 | / | 最后修改人ID |
最后修改人姓名 | lastModifiedByName | string | 只读 | / | 最后修改人姓名 |
最后修改时间 | lastModifiedDate | datetime | 只读 | / | 最后修改时间 |