3.7 KiB
3.7 KiB
Smart Trip Quote Web 端测试计划
测试目标
验证 Web 端功能,包括用户登录、需求创建、行程管理等核心流程。
一、测试环境
| 项目 | 值 |
|---|---|
| Web 地址 | http://192.168.3.189:8000 |
| Nginx 地址 | http://192.168.3.189:7777 |
| Admin 用户 | admin / admin123 |
| 数据库 | MariaDB (stq_db) |
二、测试用例
2.1 用户登录测试
| 用例ID | 测试项 | 预期结果 |
|---|---|---|
| TC001 | 访问 Admin 登录页 | 页面正常显示样式 |
| TC002 | 使用正确凭据登录 | 登录成功,进入管理后台 |
| TC003 | 使用错误密码登录 | 提示用户名或密码错误 |
| TC004 | CSRF 防护验证 | 登录表单包含 csrf token |
2.2 旅行需求 (Requirement) 测试
| 用例ID | 测试项 | 预期结果 |
|---|---|---|
| TC010 | 创建新需求 | 需求成功创建,返回需求ID |
| TC011 | 查看需求列表 | 显示所有需求记录 |
| TC012 | 查看需求详情 | 显示需求的完整信息 |
| TC013 | 更新需求状态 | 状态成功更新 |
2.3 行程 (Itinerary) 测试
| 用例ID | 测试项 | 预期结果 |
|---|---|---|
| TC020 | 创建行程 | 行程成功创建 |
| TC021 | 行程关联目的地 | 目的地正确关联 |
| TC022 | 查看行程列表 | 显示所有行程 |
2.4 API 接口测试
| 用例ID | 接口 | 方法 | 预期结果 |
|---|---|---|---|
| TC030 | /api/requirements/ | GET | 返回需求列表 |
| TC031 | /api/requirements/ | POST | 创建新需求 |
| TC032 | /api/itineraries/ | GET | 返回行程列表 |
| TC033 | /api/webhook/requirement/ | POST | 处理 webhook 请求 |
2.5 Webhook 端点测试
| 用例ID | 测试项 | 预期结果 |
|---|---|---|
| TC040 | n8n 触发需求创建 | 需求成功创建 |
| TC041 | n8n 触发行程优化 | 行程优化完成 |
三、测试数据准备
3.1 现有测试数据
- 需求: 3 条 (REQ_2026_001/002/003)
- 行程: 3 条 (ITN_2026_001/002/003)
- 目的地: 9 条
3.2 创建测试数据 (Django Shell)
# 创建测试用户
python manage.py shell -c "
from django.contrib.auth.models import User
User.objects.create_user('test', 'test@test.com', 'test123')
"
# 创建测试需求
python manage.py shell -c "
from apps.models import Requirement
from django.contrib.auth.models import User
user = User.objects.first()
Requirement.objects.create(
requirement_id='TEST_001',
origin_input='测试需求',
group_total=2,
destination_cities='上海;杭州',
travel_start_date='2026-04-01',
travel_end_date='2026-04-05',
created_by=user
)
"
四、测试执行方式
4.1 手动测试
- 打开浏览器访问 http://192.168.3.189:7777/admin/
- 使用 admin/admin123 登录
- 按测试用例逐项验证
4.2 自动化测试 (Django Test)
# 运行所有测试
docker compose exec web python manage.py test
# 运行特定测试
docker compose exec web python manage.py test tests.test_webhook_refactor -v 2
4.3 API 测试 (curl)
# 登录获取 CSRF token
curl -c cookies.txt http://192.168.3.189:8000/admin/login/
curl -b cookies.txt -X POST http://192.168.3.189:8000/admin/login/ \
-d "username=admin&password=admin123&csrfmiddlewaretoken=xxx"
# 测试 API
curl http://192.168.3.189:8000/api/requirements/
五、缺陷跟踪
| 缺陷ID | 描述 | 状态 |
|---|---|---|
| - | - | - |
六、注意事项
- CSRF 问题: 通过 Nginx 访问时需配置 CSRF_TRUSTED_ORIGINS
- 静态文件: 确保 collectstatic 已执行
- 数据库: 测试数据可在测试环境预先准备