Update nexus: fix conflicts and sync local changes
This commit is contained in:
@@ -1,150 +1,150 @@
|
||||
---
|
||||
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. **数据库**: 测试数据可在测试环境预先准备
|
||||
---
|
||||
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. **数据库**: 测试数据可在测试环境预先准备
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user