SDK_APP/TESTING_GUIDE.md

6.2 KiB
Raw Blame History

完整功能测试指南

🎯 测试目标

验证应用的完整功能,包括:

  • 蓝牙权限申请
  • 蓝牙设备扫描和连接
  • 实时数据接收和处理
  • ECG曲线图显示
  • 信号处理和指标计算

📱 测试环境准备

1. 设备要求

  • Android设备Android 6.0+推荐Android 12+
  • 蓝牙功能支持BLE或传统蓝牙
  • 位置权限:需要位置权限用于蓝牙扫描

2. 心电设备

  • 真实设备支持BLE或传统蓝牙的心电设备
  • 模拟设备:可以使用蓝牙调试工具模拟数据

3. 开发环境

  • Android Studio:最新版本
  • ADB工具:用于日志查看和调试

🚀 测试步骤

第一步:应用安装和启动

  1. 编译应用

    ./gradlew assembleDebug
    
  2. 安装到设备

    adb install app/build/outputs/apk/debug/app-debug.apk
    
  3. 启动应用

    • 在设备上找到并启动应用
    • 观察启动界面和权限状态显示

第二步:权限申请测试

  1. 查看权限状态

    权限状态:
    BLUETOOTH_SCAN: ✗
    BLUETOOTH_CONNECT: ✗
    ACCESS_FINE_LOCATION: ✗
    ACCESS_COARSE_LOCATION: ✗
    
  2. 点击"连接蓝牙"按钮

    • 系统应弹出权限申请对话框
    • 选择"允许"授予所有权限
  3. 验证权限状态

    权限状态:
    BLUETOOTH_SCAN: ✓
    BLUETOOTH_CONNECT: ✓
    ACCESS_FINE_LOCATION: ✓
    ACCESS_COARSE_LOCATION: ✓
    

第三步:蓝牙扫描测试

  1. 开始扫描

    • 点击"连接蓝牙"按钮
    • 按钮文字应变为"扫描中..."
    • 按钮颜色应变为橙色
  2. 观察扫描过程

    蓝牙状态: 正在扫描蓝牙设备...
    发现设备: ECG_Device_001 (00:11:22:33:44:55)
    扫描完成,找到 1 个设备
    
  3. 设备选择对话框

    • 扫描完成后应弹出设备选择对话框
    • 显示发现的设备列表

第四步:设备连接测试

  1. 选择设备

    • 在设备列表中选择目标设备
    • 点击设备名称进行连接
  2. 连接过程

    正在连接设备: ECG_Device_001
    设备已连接
    服务发现成功
    数据通道已建立
    
  3. 连接状态验证

    • 按钮文字应变为"断开蓝牙"
    • 按钮颜色应变为红色

第五步:数据接收测试

  1. 启动数据采集

    • 点击"启动程序"按钮
    • 观察ECG曲线图开始显示数据
  2. 数据接收验证

    接收到蓝牙数据: 128 字节
    接收到蓝牙数据: 256 字节
    接收到蓝牙数据: 512 字节
    
  3. 实时显示验证

    • ECG节律视图10秒应显示实时曲线
    • ECG波形视图2.5秒)应显示详细波形
    • 曲线应平滑滚动,无卡顿

第六步:信号处理测试

  1. 滤波功能

    • 点击"陷波滤波"按钮切换滤波状态
    • 观察曲线图的变化
  2. 指标计算

    • 查看状态信息中的心率等指标
    • 验证指标计算的准确性
  3. 性能测试

    • 观察应用的响应速度
    • 检查内存使用情况

🔍 调试技巧

1. 日志查看

# 查看蓝牙相关日志
adb logcat | grep BluetoothManager

# 查看权限相关日志
adb logcat | grep MainActivity

# 查看数据处理日志
adb logcat | grep DataManager

# 查看信号处理日志
adb logcat | grep StreamingSignalProcessor

2. 常见日志模式

BluetoothManager: 蓝牙初始化成功
BluetoothManager: BLE扫描已开始
BluetoothManager: 发现BLE设备: ECG_Device_001
BluetoothManager: 设备已连接
BluetoothManager: 接收到数据: 128 字节

3. 错误诊断

# 查看错误日志
adb logcat | grep -i error

# 查看警告日志
adb logcat | grep -i warning

⚠️ 常见问题排查

1. 权限问题

症状:点击按钮无反应 排查

# 检查权限状态
adb shell dumpsys package com.example.cmake_project_test | grep permission

解决

  • 进入系统设置手动授予权限
  • 重启应用

2. 蓝牙扫描问题

症状:扫描无结果 排查

# 检查蓝牙状态
adb shell dumpsys bluetooth

解决

  • 确认设备蓝牙已开启
  • 确认设备处于可发现状态
  • 检查设备距离

3. 连接问题

症状:连接失败 排查

# 查看连接日志
adb logcat | grep -i "connection\|connect"

解决

  • 确认设备未被其他应用占用
  • 检查设备电池电量
  • 重启设备和应用

4. 数据显示问题

症状:曲线图无数据 排查

# 查看数据处理日志
adb logcat | grep -i "data\|process"

解决

  • 检查数据格式是否正确
  • 确认数据处理管道正常工作
  • 检查UI更新逻辑

📊 性能指标

1. 响应时间

  • 权限申请< 1秒
  • 蓝牙扫描< 10秒
  • 设备连接< 5秒
  • 数据接收:实时

2. 内存使用

  • 应用启动< 100MB
  • 数据采集< 200MB
  • 长时间运行< 300MB

3. 电池消耗

  • 待机状态< 5%/小时
  • 数据采集< 15%/小时

🎉 测试完成标准

功能完整性

  • 权限申请正常工作
  • 蓝牙扫描发现设备
  • 设备连接成功
  • 数据接收正常
  • 实时显示流畅
  • 信号处理有效
  • 指标计算准确

用户体验

  • 界面响应及时
  • 状态提示清晰
  • 错误处理友好
  • 操作流程顺畅

稳定性

  • 长时间运行稳定
  • 内存使用合理
  • 电池消耗正常
  • 无崩溃或卡死

📝 测试报告模板

测试日期YYYY-MM-DD
测试设备:设备型号 + Android版本
测试人员:姓名

功能测试结果:
□ 权限申请:通过/失败
□ 蓝牙扫描:通过/失败
□ 设备连接:通过/失败
□ 数据接收:通过/失败
□ 实时显示:通过/失败
□ 信号处理:通过/失败
□ 指标计算:通过/失败

性能测试结果:
□ 响应时间:正常/异常
□ 内存使用:正常/异常
□ 电池消耗:正常/异常

问题记录:
1. 问题描述
2. 复现步骤
3. 解决方案

总体评价:
□ 优秀 □ 良好 □ 一般 □ 需要改进

现在你的应用已经具备了完整的功能,可以进行全面的测试了!🎉