|
|
@@ -0,0 +1,173 @@
|
|
|
+# Test Design: Story 5.1
|
|
|
+
|
|
|
+Date: 2025-10-16
|
|
|
+Designer: Quinn (Test Architect)
|
|
|
+
|
|
|
+## Test Strategy Overview
|
|
|
+
|
|
|
+- **Total test scenarios**: 24
|
|
|
+- **Unit tests**: 8 (33%)
|
|
|
+- **Integration tests**: 10 (42%)
|
|
|
+- **E2E tests**: 6 (25%)
|
|
|
+- **Priority distribution**: P0: 10, P1: 8, P2: 6
|
|
|
+
|
|
|
+## Test Scenarios by Acceptance Criteria
|
|
|
+
|
|
|
+### AC1: 支持创建和管理活动类型(去程活动、返程活动)
|
|
|
+
|
|
|
+#### Scenarios
|
|
|
+
|
|
|
+| ID | Level | Priority | Test | Justification |
|
|
|
+| ------------ | ----------- | -------- | ------------------------- | ------------------------ |
|
|
|
+| 5.1-UNIT-001 | Unit | P0 | 验证活动类型枚举值 | 纯业务逻辑验证 |
|
|
|
+| 5.1-UNIT-002 | Unit | P0 | 验证活动名称格式 | 输入验证逻辑 |
|
|
|
+| 5.1-INT-001 | Integration | P0 | 创建去程活动 | 数据库操作验证 |
|
|
|
+| 5.1-INT-002 | Integration | P0 | 创建返程活动 | 数据库操作验证 |
|
|
|
+| 5.1-INT-003 | Integration | P1 | 更新活动类型 | 数据一致性验证 |
|
|
|
+| 5.1-INT-004 | Integration | P1 | 删除活动 | 数据完整性验证 |
|
|
|
+| 5.1-E2E-001 | E2E | P1 | 管理员创建活动完整流程 | 关键用户旅程验证 |
|
|
|
+
|
|
|
+### AC2: 支持配置路线信息(出发地、目的地、上车点、下车点、出发时间、车型、价格、座位数)
|
|
|
+
|
|
|
+#### Scenarios
|
|
|
+
|
|
|
+| ID | Level | Priority | Test | Justification |
|
|
|
+| ------------ | ----------- | -------- | ------------------------- | ------------------------ |
|
|
|
+| 5.1-UNIT-003 | Unit | P0 | 验证路线字段格式 | 输入验证逻辑 |
|
|
|
+| 5.1-UNIT-004 | Unit | P0 | 验证价格和座位数范围 | 业务规则验证 |
|
|
|
+| 5.1-INT-005 | Integration | P0 | 创建完整路线信息 | 数据库操作验证 |
|
|
|
+| 5.1-INT-006 | Integration | P1 | 更新路线信息 | 数据一致性验证 |
|
|
|
+| 5.1-INT-007 | Integration | P1 | 删除路线 | 数据完整性验证 |
|
|
|
+| 5.1-E2E-002 | E2E | P1 | 管理员配置路线完整流程 | 关键用户旅程验证 |
|
|
|
+
|
|
|
+### AC3: 支持设置活动关联的路线
|
|
|
+
|
|
|
+#### Scenarios
|
|
|
+
|
|
|
+| ID | Level | Priority | Test | Justification |
|
|
|
+| ------------ | ----------- | -------- | ------------------------- | ------------------------ |
|
|
|
+| 5.1-UNIT-005 | Unit | P1 | 验证活动路线关联逻辑 | 业务逻辑验证 |
|
|
|
+| 5.1-INT-008 | Integration | P0 | 创建活动与路线关联 | 数据库关联验证 |
|
|
|
+| 5.1-INT-009 | Integration | P1 | 更新活动路线关联 | 数据一致性验证 |
|
|
|
+| 5.1-E2E-003 | E2E | P1 | 活动选择组件集成测试 | 用户体验流程验证 |
|
|
|
+
|
|
|
+### AC4: 支持启用/禁用活动、路线
|
|
|
+
|
|
|
+#### Scenarios
|
|
|
+
|
|
|
+| ID | Level | Priority | Test | Justification |
|
|
|
+| ------------ | ----------- | -------- | ------------------------- | ------------------------ |
|
|
|
+| 5.1-UNIT-006 | Unit | P0 | 验证状态切换逻辑 | 业务逻辑验证 |
|
|
|
+| 5.1-UNIT-007 | Unit | P1 | 验证启用/禁用权限检查 | 安全逻辑验证 |
|
|
|
+| 5.1-INT-010 | Integration | P0 | 启用/禁用活动操作 | 数据库状态变更验证 |
|
|
|
+| 5.1-INT-011 | Integration | P0 | 启用/禁用路线操作 | 数据库状态变更验证 |
|
|
|
+| 5.1-E2E-004 | E2E | P1 | 管理员启用禁用操作流程 | 关键用户旅程验证 |
|
|
|
+
|
|
|
+### 搜索和筛选功能测试
|
|
|
+
|
|
|
+#### Scenarios
|
|
|
+
|
|
|
+| ID | Level | Priority | Test | Justification |
|
|
|
+| ------------ | ----------- | -------- | ------------------------- | ------------------------ |
|
|
|
+| 5.1-UNIT-008 | Unit | P2 | 验证搜索参数处理逻辑 | 业务逻辑验证 |
|
|
|
+| 5.1-INT-012 | Integration | P1 | 活动搜索功能测试 | API集成验证 |
|
|
|
+| 5.1-INT-013 | Integration | P1 | 路线搜索功能测试 | API集成验证 |
|
|
|
+| 5.1-E2E-005 | E2E | P2 | 管理后台搜索筛选流程 | 用户体验流程验证 |
|
|
|
+
|
|
|
+### 管理后台页面组件测试
|
|
|
+
|
|
|
+#### Scenarios
|
|
|
+
|
|
|
+| ID | Level | Priority | Test | Justification |
|
|
|
+| ------------ | ----------- | -------- | ------------------------- | ------------------------ |
|
|
|
+| 5.1-E2E-006 | E2E | P2 | 管理后台页面导航和操作 | 完整用户界面流程验证 |
|
|
|
+
|
|
|
+## 详细测试场景描述
|
|
|
+
|
|
|
+### P0 关键测试场景
|
|
|
+
|
|
|
+**5.1-UNIT-001: 验证活动类型枚举值**
|
|
|
+- 测试去程活动和返程活动枚举值定义
|
|
|
+- 验证无效活动类型的错误处理
|
|
|
+
|
|
|
+**5.1-UNIT-002: 验证活动名称格式**
|
|
|
+- 测试活动名称长度限制
|
|
|
+- 验证特殊字符处理
|
|
|
+- 测试必填字段验证
|
|
|
+
|
|
|
+**5.1-INT-001: 创建去程活动**
|
|
|
+- 测试活动创建API
|
|
|
+- 验证数据库记录正确性
|
|
|
+- 测试关联字段完整性
|
|
|
+
|
|
|
+**5.1-INT-005: 创建完整路线信息**
|
|
|
+- 测试路线创建API
|
|
|
+- 验证所有字段正确存储
|
|
|
+- 测试价格和座位数约束
|
|
|
+
|
|
|
+### P1 核心功能测试场景
|
|
|
+
|
|
|
+**5.1-INT-012: 活动搜索功能测试**
|
|
|
+- 测试按名称搜索
|
|
|
+- 测试按描述搜索
|
|
|
+- 验证搜索结果准确性
|
|
|
+
|
|
|
+**5.1-E2E-001: 管理员创建活动完整流程**
|
|
|
+- 登录管理后台
|
|
|
+- 导航到活动管理页面
|
|
|
+- 创建新活动
|
|
|
+- 验证活动显示在列表中
|
|
|
+
|
|
|
+### P2 辅助功能测试场景
|
|
|
+
|
|
|
+**5.1-E2E-005: 管理后台搜索筛选流程**
|
|
|
+- 测试活动类型筛选
|
|
|
+- 测试路线车型筛选
|
|
|
+- 验证筛选结果准确性
|
|
|
+
|
|
|
+## 风险覆盖
|
|
|
+
|
|
|
+- **数据完整性风险**: 通过 P0 集成测试覆盖
|
|
|
+- **业务逻辑错误风险**: 通过 P0 单元测试覆盖
|
|
|
+- **用户体验风险**: 通过 P1 E2E 测试覆盖
|
|
|
+- **安全权限风险**: 通过 P1 单元测试覆盖
|
|
|
+
|
|
|
+## 推荐执行顺序
|
|
|
+
|
|
|
+1. **P0 单元测试** (快速失败)
|
|
|
+ - 5.1-UNIT-001 到 5.1-UNIT-007
|
|
|
+
|
|
|
+2. **P0 集成测试**
|
|
|
+ - 5.1-INT-001, 5.1-INT-002, 5.1-INT-005, 5.1-INT-010, 5.1-INT-011
|
|
|
+
|
|
|
+3. **P1 测试**
|
|
|
+ - 剩余集成测试和 E2E 测试
|
|
|
+
|
|
|
+4. **P2 测试** (时间允许时)
|
|
|
+ - 5.1-UNIT-008, 5.1-E2E-005, 5.1-E2E-006
|
|
|
+
|
|
|
+## 测试环境要求
|
|
|
+
|
|
|
+### 单元测试
|
|
|
+- 无外部依赖
|
|
|
+- 使用 Jest/Vitest 测试框架
|
|
|
+- Mock 所有外部服务
|
|
|
+
|
|
|
+### 集成测试
|
|
|
+- 测试数据库实例
|
|
|
+- API 服务器运行
|
|
|
+- 认证中间件模拟
|
|
|
+
|
|
|
+### E2E 测试
|
|
|
+- 完整应用环境
|
|
|
+- 测试用户账户
|
|
|
+- 浏览器自动化 (Playwright)
|
|
|
+
|
|
|
+## 质量检查清单
|
|
|
+
|
|
|
+- [x] 每个验收标准都有测试覆盖
|
|
|
+- [x] 测试级别适当(无过度测试)
|
|
|
+- [x] 跨级别无重复覆盖
|
|
|
+- [x] 优先级与业务风险对齐
|
|
|
+- [x] 测试ID遵循命名规范
|
|
|
+- [x] 场景原子化且独立
|