liurenchaxin/docs/AI_AGENT_TASKS/GEMINI_TEST_VALIDATION.md

274 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🧪 Gemini AI - OpenBB集成测试验证工作说明书
## 🎯 任务概述
作为测试工程师您需要为OpenBB与稷下学宫系统的集成功能设计并执行全面的测试验证方案。
## 📋 核心职责
### 1. 测试策略制定
**任务目标:** 制定全面的测试策略和验证标准
**测试金字塔设计:**
```
[E2E Tests] # 端到端测试
/ \
[Integration Tests] # 集成测试
/ \
[Unit Tests] [API Tests] # 单元测试 + API测试
```
**测试覆盖范围:**
- 功能测试 (80%覆盖率)
- 性能测试 (响应时间、并发)
- 稳定性测试 (长时间运行)
- 兼容性测试 (多数据源)
### 2. 八仙智能体测试
**任务目标:** 验证八仙角色的数据获取和分析能力
**测试文件结构:**
```
tests/immortal_tests/
├── test_immortal_data_routing.py # 八仙数据路由测试
├── test_immortal_preferences.py # 八仙偏好测试
├── test_debate_data_quality.py # 辩论数据质量测试
└── test_cultural_accuracy.py # 文化准确性测试
```
**关键测试用例:**
```python
class TestImmortalDataRouting:
"""八仙数据路由测试"""
def test_lv_dongbin_technical_analysis(self):
"""测试吕洞宾的技术分析数据获取"""
pass
def test_he_xiangu_risk_metrics(self):
"""测试何仙姑的风险指标数据"""
pass
def test_immortal_data_consistency(self):
"""测试八仙数据的一致性"""
pass
```
### 3. OpenBB集成测试
**任务目标:** 验证OpenBB数据源的集成质量
**测试重点:**
- OpenBB API调用稳定性
- 数据格式标准化
- 错误处理机制
- 降级策略验证
**核心测试文件:**
```python
# tests/openbb_integration/
class TestOpenBBIntegration:
"""OpenBB集成测试套件"""
@pytest.mark.asyncio
async def test_stock_data_retrieval(self):
"""测试股票数据获取"""
symbols = ['AAPL', 'TSLA', 'MSFT']
for symbol in symbols:
data = await engine.get_stock_data(symbol)
assert data is not None
assert 'close' in data.columns
def test_fallback_mechanism(self):
"""测试OpenBB不可用时的降级机制"""
# 模拟OpenBB不可用
with mock.patch('openbb.obb', side_effect=ImportError):
result = engine.get_data_with_fallback('AAPL')
assert result.source == 'demo_data'
```
### 4. 性能和稳定性测试
**任务目标:** 确保系统在各种条件下的性能表现
**性能基准:**
- 数据获取延迟 < 3秒
- 并发处理 > 10 req/s
- 内存使用 < 500MB
- 99.9% 可用性
**负载测试方案:**
```python
# tests/performance/
class TestPerformance:
"""性能测试套件"""
def test_concurrent_data_requests(self):
"""并发数据请求测试"""
import concurrent.futures
with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor:
futures = [executor.submit(self.get_test_data) for _ in range(100)]
results = [f.result() for f in futures]
assert all(r.success for r in results)
assert max(r.response_time for r in results) < 5.0
```
## 🎭 文化特色测试
### 八仙文化准确性验证:
```python
class TestCulturalAccuracy:
"""文化准确性测试"""
def test_immortal_characteristics(self):
"""验证八仙特征的准确性"""
immortals = get_immortal_configs()
# 验证吕洞宾的技术分析特色
assert immortals['吕洞宾'].specialty == 'technical_analysis'
assert immortals['吕洞宾'].element == '乾'
# 验证何仙姑的风险控制特色
assert immortals['何仙姑'].specialty == 'risk_metrics'
assert immortals['何仙姑'].element == '坤'
def test_debate_cultural_context(self):
"""验证辩论的文化背景准确性"""
debate = create_test_debate('AAPL')
# 确保辩论遵循稷下学宫的传统
assert 'jixia' in debate.context
assert len(debate.participants) == 8 # 八仙
```
## 🔧 测试工具和框架
### 推荐工具栈:
```python
# 测试依赖
pytest>=7.4.0 # 主测试框架
pytest-asyncio>=0.21.0 # 异步测试支持
pytest-mock>=3.11.0 # Mock功能
pytest-cov>=4.1.0 # 覆盖率统计
pytest-benchmark>=4.0.0 # 性能基准测试
# 性能测试
locust>=2.15.0 # 负载测试
memory-profiler>=0.60.0 # 内存分析
# 数据验证
pydantic>=2.0.0 # 数据模型验证
jsonschema>=4.19.0 # JSON架构验证
```
### 测试配置文件:
```yaml
# pytest.ini
[tool:pytest]
testpaths = tests
python_files = test_*.py
python_classes = Test*
python_functions = test_*
addopts =
--cov=src
--cov-report=html
--cov-report=term-missing
--asyncio-mode=auto
```
## 📊 测试报告和指标
### 测试报告模板:
```
tests/reports/
├── unit_test_report.html # 单元测试报告
├── integration_test_report.html # 集成测试报告
├── performance_benchmark.json # 性能基准数据
├── coverage_report/ # 代码覆盖率报告
└── cultural_validation_report.md # 文化验证报告
```
### 关键指标监控:
```python
# 自动化指标收集
class TestMetrics:
"""测试指标收集器"""
def collect_response_times(self):
"""收集响应时间数据"""
pass
def measure_memory_usage(self):
"""监控内存使用情况"""
pass
def validate_data_quality(self):
"""验证数据质量指标"""
pass
```
## 🔄 协作流程
### 与Claude的协作
1. **接收代码实现** 制定对应测试用例
2. **执行测试验证** 反馈BUG和优化建议
3. **性能测试** 提供优化方向
### 与Qwen的协作
1. **验证架构设计** 确认技术指标可达成
2. **测试架构决策** 验证设计的合理性
### 与RovoDev的协作
1. **提供测试数据** 支持文档编写
2. **验证文档准确性** 确保文档与实际一致
## 📅 测试里程碑
### 阶段一2天测试框架搭建
- [ ] 测试环境配置
- [ ] 基础测试框架
- [ ] Mock数据准备
### 阶段二3天功能测试执行
- [ ] 单元测试执行
- [ ] 集成测试验证
- [ ] 八仙特色功能测试
### 阶段三2天性能和稳定性测试
- [ ] 负载测试执行
- [ ] 性能基准建立
- [ ] 稳定性验证
### 阶段四1天测试报告生成
- [ ] 测试结果汇总
- [ ] 问题清单整理
- [ ] 优化建议制定
## 🎯 验收标准
### 功能验收:
- [ ] 所有单元测试通过率 > 95%
- [ ] 集成测试通过率 > 90%
- [ ] 八仙特色功能100%验证通过
### 性能验收:
- [ ] 响应时间 < 3秒
- [ ] 并发处理 > 10 req/s
- [ ] 内存使用稳定
- [ ] 99%可用性达成
### 文化验收:
- [ ] 八仙角色特征准确
- [ ] 辩论逻辑符合传统
- [ ] 文化表达尊重得体
## 💡 创新测试方法
### 智能化测试:
1. **AI驱动的测试用例生成**
2. **自适应性能基准调整**
3. **文化语境的自动化验证**
4. **用户行为模拟测试**
---
**注意:** 测试不仅是质量保障,更是文化传承的守护者!每一个测试用例都要体现对传统文化的尊重!