This commit is contained in:
2026-02-20 23:04:09 +08:00
parent 43d69d5a99
commit 5d8412bcb6
244 changed files with 9304 additions and 1463 deletions

View File

@@ -1,57 +1,51 @@
# Test & Validation Tools (Unified)
# 测试与验证工具
该目录包含用于测试无人机规划系统、API 接口及 LLM 服务的集成验证工具集
该目录用于接口回归、批量稳定性测试和结果导出
## 🚀 快速开始
使用统一入口脚本启动交互式菜单:
## 快速开始(完整命令)
```bash
python run_tests.py
cd /home/huangfukk/DronePlanning
source backend_service/venv/bin/activate
python tools/test_validate/run_tests.py
```
## 🛠️ 测试模式
### 1. 交互式单次测试 (Mode 1)
- **场景**: 快速验证单条指令,调试 Prompt。
- **操作**: 在终端输入自然语言指令,即时获取结果。
- **输出**: `validation/temporary/{指令名}/`
- `response.json`: 完整 API 响应
- `plan.png`: 可视化任务树
- `process.log`: 请求与响应日志
### 2. 批量/场景测试 (Mode 2)
- **场景**:
- **场景测试**: 验证一组预定义指令的正确性(默认运行 1 次)。
- **稳定性测试**: 对同一组指令进行高频重复测试(如运行 10 次),检测成功率和延迟抖动。
- **操作**:
1. 选择指令文件(位于 `instructions/` 目录)。
2. 输入每条指令的运行次数(默认 1
- **输出**: `validation/{时间戳}/`
- `test_summary.csv`: 统计摘要(成功率、平均耗时)
- `test_details.csv`: 每次运行的详细记录
- `instructions_backup.txt`: 本次测试使用的指令备份
- `{指令名}/`: 包含所有运行的 `.json``.png` 产物
## 📂 目录结构
## 目录说明
```text
tools/test_validate/
├── instructions/ # 指令集文件 (.txt)
├── modules/ # 功能模块
│ ├── api_client.py # API 客户端核心
│ ├── interactive_test.py # 交互式测试逻辑
│ ├── batch_runner.py # 批量测试逻辑
│ ├── visualizer.py # 可视化工具库
│ ├── llm_tester.py # LLM 连接测试
│ └── drone_uploader.py # 任务上传工具
├── validation/ # 测试产物输出
│ ├── temporary/ # 交互式测试结果
│ └── {时间戳}/ # 批量测试结果
└── run_tests.py # 主程序入口
├── instructions/ # 指令集.txt
├── modules/ # API 客户端、批量执行、可视化等
├── validation/ # 输出结果目录
└── run_tests.py # 统一入口
```
## 📄 配置文件
## 使用方式
- **instructions/validate_instructions.txt**: 默认的预定义场景指令集。
- 您可以在 `instructions/` 下添加任意 `.txt` 文件,测试时会在菜单中自动列出供选择。
- Mode 1交互式单条测试快速调试
- Mode 2批量测试场景回归/稳定性)
输出默认在 `tools/test_validate/validation/`,包括:
- `test_summary.csv`
- `test_details.csv`
- 每条指令的 `response.json``plan.png`
## 典型回归流程
```bash
cd /home/huangfukk/DronePlanning
source backend_service/venv/bin/activate
# 先确保后端已启动
./start_all.sh status
# 运行测试菜单
python tools/test_validate/run_tests.py
```
## 常见问题
- 后端未启动:先执行 `./start_all.sh start``./start_all_vllm.sh start`
- API 超时:查看 `logs/fastapi.log` 与模型日志
- 结果目录为空:确认菜单中已实际执行测试轮次