test_files_documentation.md 5.89 KB

AIfeng/2025-07-02 13:55:37

测试文件关联性与作用文档

概述

本文档记录了项目中所有测试文件的功能、关联性和作用,帮助开发者理解测试体系结构。

测试文件目录结构

test/
├── test_integrated_asr.py          # ASR集成功能测试
├── test_doubao_integration.py      # 豆包模型集成测试
├── test_fay_core.py                # Fay Core模块测试
├── test_funasr_connection.py       # FunASR服务连接测试
├── test_funasr_integration.py      # FunASR集成测试
├── test_interact.py                # 交互模块测试
├── test_scheduler.py               # 调度器模块测试
├── test_startup.py                 # 启动流程测试
└── test_websocket_server.py        # WebSocket服务器测试

测试文件详细说明

1. ASR相关测试

test_integrated_asr.py

  • 作用: 测试集成到主服务的ASR功能
  • 测试内容:
    • WebSocket连接测试
    • ASR识别开始/停止流程
    • 音频数据发送
    • 识别结果监听
  • 关联模块: WebSocket服务、ASR服务
  • 测试类型: 集成测试

test_funasr_connection.py

  • 作用: 验证本地FunASR WebSocket服务连接
  • 测试内容:
    • 基本WebSocket连接
    • 音频识别功能
    • 实际音频文件测试
    • 消息格式兼容性
  • 关联模块: FunASR服务
  • 测试类型: 连接测试

test_funasr_integration.py

  • 作用: 测试新的FunASRClient与项目的集成效果
  • 测试内容:
    • FunASRClient创建
    • 兼容性包装器
    • 回调机制
    • 消息队列
  • 关联模块: funasr_asr.py, web/asr/funasr
  • 测试类型: 集成测试

2. 核心模块测试

test_fay_core.py

  • 作用: Fay Core模块功能测试
  • 测试内容:
    • 模块导入测试
    • 自动播放控制功能
    • FayCore实例功能
    • 线程安全性测试
  • 关联模块: core/fay_core.py
  • 测试类型: 单元测试

test_interact.py

  • 作用: 交互模块功能测试(简化版)
  • 测试内容:
    • 模块导入测试
    • Interact类基础功能
    • 项目集成测试
    • 多交互创建测试
  • 关联模块: core/interact.py
  • 测试类型: 单元测试

test_scheduler.py

  • 作用: 调度器模块测试
  • 测试内容:
    • MyThread基础功能
    • 异常处理
    • ThreadManager功能
    • 项目集成测试
  • 关联模块: scheduler/thread_manager.py
  • 测试类型: 单元测试

3. 集成与服务测试

test_doubao_integration.py

  • 作用: 豆包模型集成测试
  • 测试内容:
    • 配置文件测试
    • 模块导入测试
    • 豆包实例化测试
    • 集成流程测试
  • 关联模块: llm/Doubao.py, config/doubao_config.json
  • 测试类型: 集成测试

test_startup.py

  • 作用: 启动流程验证
  • 测试内容:
    • 目录创建测试
    • 模块导入测试
    • 配置加载测试
    • 日志文件创建测试
  • 关联模块: 全项目启动依赖
  • 测试类型: 系统测试

test_websocket_server.py

  • 作用: WebSocket通信测试服务器
  • 测试内容:
    • WebSocket连接处理
    • 消息广播功能
    • 会话管理
    • HTTP接口模拟
  • 关联模块: WebSocket服务
  • 测试类型: 服务测试

测试关联性分析

按功能分类

语音识别测试链

test_funasr_connection.py → test_funasr_integration.py → test_integrated_asr.py
  • 从基础连接 → 集成测试 → 完整功能测试

核心模块测试链

test_fay_core.py ← test_interact.py ← test_scheduler.py
  • 核心功能 ← 交互处理 ← 任务调度

系统集成测试链

test_startup.py → test_doubao_integration.py → test_websocket_server.py
  • 启动验证 → 模型集成 → 服务通信

依赖关系

高依赖测试

  • test_integrated_asr.py: 依赖WebSocket服务和ASR服务
  • test_funasr_integration.py: 依赖FunASR服务配置
  • test_doubao_integration.py: 依赖配置文件和API密钥

独立测试

  • test_fay_core.py: 可独立运行
  • test_interact.py: 可独立运行
  • test_scheduler.py: 可独立运行
  • test_startup.py: 基础环境测试

测试执行建议

测试执行顺序

  1. 基础模块测试

    python test/test_startup.py
    python test/test_interact.py
    python test/test_scheduler.py
  2. 服务连接测试

    python test/test_funasr_connection.py
    python test/test_websocket_server.py
  3. 集成功能测试

    python test/test_funasr_integration.py
    python test/test_doubao_integration.py
    python test/test_integrated_asr.py

测试环境要求

必需服务

  • FunASR WebSocket服务 (端口10197)
  • WebSocket主服务 (端口8010)

配置文件

  • config/llm_config.json
  • config/doubao_config.json

测试数据

  • 音频文件: yunxi.mp3, yunxia.mp3, yunyang.mp3

测试覆盖范围

功能覆盖

  • ✅ ASR语音识别
  • ✅ WebSocket通信
  • ✅ 线程管理
  • ✅ 配置加载
  • ✅ 模型集成
  • ✅ 交互处理
  • ✅ 启动流程

测试类型覆盖

  • ✅ 单元测试
  • ✅ 集成测试
  • ✅ 系统测试
  • ✅ 连接测试
  • ✅ 服务测试

维护建议

新增测试文件规范

  1. 文件命名: test_<模块名>.py
  2. 文件头部: 包含AIfeng时间标注
  3. 测试类命名: Test<ModuleName>
  4. 测试方法命名: test_<功能描述>

测试更新策略

  1. 功能变更: 同步更新相关测试
  2. 新增模块: 创建对应测试文件
  3. 集成变更: 更新集成测试用例
  4. 配置变更: 更新配置相关测试

测试文档维护

  • 新增测试文件时更新本文档
  • 测试关联性变化时更新依赖关系
  • 定期检查测试覆盖率
  • 及时清理过时的测试用例

注意: 本文档应与测试文件保持同步更新,确保测试体系的可维护性和可理解性。