liurenchaxin/docs/AI_AGENT_TASKS/GEMINI_TEST_VALIDATION.md

7.5 KiB
Raw Blame History

🧪 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        # 文化准确性测试

关键测试用例:

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调用稳定性
  • 数据格式标准化
  • 错误处理机制
  • 降级策略验证

核心测试文件:

# 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% 可用性

负载测试方案:

# 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

🎭 文化特色测试

八仙文化准确性验证:

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  # 八仙

🔧 测试工具和框架

推荐工具栈:

# 测试依赖
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架构验证

测试配置文件:

# 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   # 文化验证报告

关键指标监控:

# 自动化指标收集
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. 用户行为模拟测试

注意: 测试不仅是质量保障,更是文化传承的守护者!每一个测试用例都要体现对传统文化的尊重!