server_recording_test_guide.md 6.83 KB

服务端录音测试页面功能测试指南

概述

server_recording_test.html 是一个功能完整的服务端录音测试面板,提供了录音控制、设备管理、配置调整、实时监控等多项功能。本指南详细说明各功能的测试方法。

页面访问

访问地址: http://localhost:8010/server-recording-test

前置条件:

  • 确保服务端已启动(端口8010)
  • 确保 server_recording_api.py 已正确注册
  • 浏览器支持WebSocket和Web Audio API

核心功能测试

1. 获取状态功能测试

功能描述: 获取当前录音系统的状态信息

测试步骤:

  1. 点击「获取状态」按钮
  2. 观察状态面板显示内容
  3. 检查操作日志区域

预期结果:

录音状态: ⚪ 已停止 / 🔴 录音中
设备索引: -1 (或具体设备编号)
采样率: 16000 Hz
声道数: 1
音量阈值: 0.01
静音超时: 2.0s
语音超时: 10.0s

API调用: GET /api/server-recording/status

故障排查:

  • 如显示"获取状态失败",检查服务端是否正常运行
  • 检查网络连接和API路由配置

2. 列出设备功能测试

功能描述: 获取系统可用的音频输入设备列表

测试步骤:

  1. 点击「列出设备」按钮
  2. 观察设备列表区域显示
  3. 尝试点击选择不同设备

预期结果:

  • 显示所有可用音频设备
  • 每个设备显示:设备索引、设备名称、最大输入声道数
  • 点击设备后高亮显示,设备索引自动填入配置面板

API调用: GET /api/server-recording/devices

3. 开始录音功能测试

功能描述: 启动服务端录音功能

测试步骤:

  1. 确保已选择合适的音频设备
  2. 点击「开始录音」按钮
  3. 观察录音指示器和状态变化
  4. 对着麦克风说话测试

预期结果:

  • 录音指示器显示红色脉冲动画
  • 状态面板显示"🔴 录音中"
  • 音频可视化区域显示音量和频率变化
  • WebSocket连接正常,实时接收音频数据

API调用: POST /api/server-recording/start

4. 停止录音功能测试

功能描述: 停止当前录音会话

测试步骤:

  1. 在录音状态下点击「停止录音」按钮
  2. 观察状态变化

预期结果:

  • 录音指示器消失
  • 状态面板显示"⚪ 已停止"
  • 音频可视化停止更新

API调用: POST /api/server-recording/stop

5. 获取配置功能测试

功能描述: 获取当前录音系统配置参数

测试步骤:

  1. 点击「获取配置」按钮
  2. 观察配置面板各字段是否自动填充

预期结果:

  • 所有配置字段显示当前服务端配置值
  • 设备索引、采样率、声道数等参数正确显示

API调用: GET /api/server-recording/config

6. 更新配置功能测试

功能描述: 修改录音系统配置参数

测试步骤:

  1. 修改配置面板中的参数值
    • 设备索引: 选择有效设备编号
    • 采样率: 16000/44100/48000 Hz
    • 声道数: 1(单声道)/2(立体声)
    • 音量阈值: 0.001-1.0
    • 静音超时: 0.1-10.0秒
    • 语音超时: 1.0-30.0秒
  2. 点击「更新配置」按钮
  3. 再次获取配置验证更新结果

预期结果:

  • 配置更新成功提示
  • 新配置立即生效

API调用: POST /api/server-recording/config

7. 测试ASR功能

功能描述: 模拟ASR语音识别功能测试

测试步骤:

  1. 点击「测试ASR」按钮
  2. 观察ASR结果面板变化

预期结果:

  • 依次显示测试短语:
    • "你好,这是一个测试"
    • "语音识别功能正常"
    • "测试完成"
  • 每个结果显示置信度(85%-100%)
  • 显示识别时间戳

8. 清空日志功能测试

功能描述: 清除操作日志记录

测试步骤:

  1. 执行几个操作产生日志
  2. 点击「清空日志」按钮

预期结果:

  • 日志面板清空
  • 显示"日志已清空"消息

实时监控功能测试

1. WebSocket连接测试

测试方法:

  • 打开浏览器开发者工具 → Network → WS
  • 观察WebSocket连接状态
  • 检查消息收发情况

预期结果:

  • 连接URL: ws://localhost:8010/ws/server-recording
  • 连接状态: 已连接
  • 定期接收状态更新消息

2. 音频可视化测试

测试内容:

  • 音量条实时变化
  • 频率条动态显示
  • 音量百分比数值更新

测试方法:

  • 开始录音后对麦克风说话
  • 观察可视化效果变化

3. 性能监控测试

监控指标:

  • 延迟: API调用响应时间
  • 吞吐量: 每秒处理请求数
  • 错误率: 失败请求百分比
  • 运行时间: 系统运行时长

测试方法:

  • 执行多个操作观察指标变化
  • 故意触发错误观察错误率统计

4. 质量检测测试

检测项目:

  • 信号质量: 绿色(良好)/橙色(警告)/红色(错误)
  • 噪音水平: 环境噪音评估
  • VAD准确性: 语音活动检测准确度
  • ASR准确性: 语音识别准确度

故障排查指南

常见问题及解决方案

  1. WebSocket连接失败

    • 检查服务端是否启动
    • 确认端口8010可访问
    • 验证路由 /ws/server-recording 已注册
  2. 获取状态失败

    • 检查API路由 /api/server-recording/status
    • 确认服务端录音模块正常加载
  3. 设备列表为空

    • 检查系统音频设备
    • 确认麦克风权限已授予
    • 验证音频驱动正常
  4. 录音无响应

    • 检查设备索引是否有效
    • 确认音频设备未被其他程序占用
    • 验证采样率和声道数配置
  5. 音频可视化无变化

    • 检查麦克风是否静音
    • 确认音量阈值设置合理
    • 验证WebSocket消息接收

测试检查清单

基础功能测试

  • 页面正常加载
  • WebSocket连接成功
  • 获取状态功能正常
  • 设备列表获取成功
  • 配置获取和更新正常

录音功能测试

  • 开始录音成功
  • 停止录音成功
  • 录音状态正确显示
  • 音频可视化正常

高级功能测试

  • ASR测试功能正常
  • 性能监控数据准确
  • 质量检测指标更新
  • 日志记录完整

异常处理测试

  • 网络断开自动重连
  • 错误消息正确显示
  • 异常状态恢复正常

性能基准

响应时间标准

  • API调用延迟: < 100ms
  • WebSocket消息延迟: < 50ms
  • 音频可视化更新: < 100ms

资源使用标准

  • CPU使用率: < 10%
  • 内存使用: < 100MB
  • 网络带宽: < 1MB/s

测试环境要求

浏览器支持

  • Chrome 80+
  • Firefox 75+
  • Safari 13+
  • Edge 80+

系统要求

  • 操作系统: Windows 10+/macOS 10.15+/Linux
  • 内存: 4GB+
  • 音频设备: 支持录音的麦克风

网络要求

  • 本地网络连接
  • WebSocket支持
  • 端口8010可访问

注意: 本测试指南基于当前版本的测试页面功能,如有功能更新请及时更新本文档。