--- title: Smart Trip Quote Web 端测试计划 source: author: shenwei published: created: description: tags: [] --- # 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 # 创建测试用户 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 手动测试 1. 打开浏览器访问 http://192.168.3.189:7777/admin/ 2. 使用 admin/admin123 登录 3. 按测试用例逐项验证 ### 4.2 自动化测试 (Django Test) ```bash # 运行所有测试 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) ```bash # 登录获取 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 | 描述 | 状态 | |--------|------|------| | - | - | - | --- ## 六、注意事项 1. **CSRF 问题**: 通过 Nginx 访问时需配置 CSRF_TRUSTED_ORIGINS 2. **静态文件**: 确保 collectstatic 已执行 3. **数据库**: 测试数据可在测试环境预先准备