6.2 KiB
6.2 KiB
完整功能测试指南
🎯 测试目标
验证应用的完整功能,包括:
- ✅ 蓝牙权限申请
- ✅ 蓝牙设备扫描和连接
- ✅ 实时数据接收和处理
- ✅ ECG曲线图显示
- ✅ 信号处理和指标计算
📱 测试环境准备
1. 设备要求
- Android设备:Android 6.0+(推荐Android 12+)
- 蓝牙功能:支持BLE或传统蓝牙
- 位置权限:需要位置权限用于蓝牙扫描
2. 心电设备
- 真实设备:支持BLE或传统蓝牙的心电设备
- 模拟设备:可以使用蓝牙调试工具模拟数据
3. 开发环境
- Android Studio:最新版本
- ADB工具:用于日志查看和调试
🚀 测试步骤
第一步:应用安装和启动
-
编译应用
./gradlew assembleDebug -
安装到设备
adb install app/build/outputs/apk/debug/app-debug.apk -
启动应用
- 在设备上找到并启动应用
- 观察启动界面和权限状态显示
第二步:权限申请测试
-
查看权限状态
权限状态: BLUETOOTH_SCAN: ✗ BLUETOOTH_CONNECT: ✗ ACCESS_FINE_LOCATION: ✗ ACCESS_COARSE_LOCATION: ✗ -
点击"连接蓝牙"按钮
- 系统应弹出权限申请对话框
- 选择"允许"授予所有权限
-
验证权限状态
权限状态: BLUETOOTH_SCAN: ✓ BLUETOOTH_CONNECT: ✓ ACCESS_FINE_LOCATION: ✓ ACCESS_COARSE_LOCATION: ✓
第三步:蓝牙扫描测试
-
开始扫描
- 点击"连接蓝牙"按钮
- 按钮文字应变为"扫描中..."
- 按钮颜色应变为橙色
-
观察扫描过程
蓝牙状态: 正在扫描蓝牙设备... 发现设备: ECG_Device_001 (00:11:22:33:44:55) 扫描完成,找到 1 个设备 -
设备选择对话框
- 扫描完成后应弹出设备选择对话框
- 显示发现的设备列表
第四步:设备连接测试
-
选择设备
- 在设备列表中选择目标设备
- 点击设备名称进行连接
-
连接过程
正在连接设备: ECG_Device_001 设备已连接 服务发现成功 数据通道已建立 -
连接状态验证
- 按钮文字应变为"断开蓝牙"
- 按钮颜色应变为红色
第五步:数据接收测试
-
启动数据采集
- 点击"启动程序"按钮
- 观察ECG曲线图开始显示数据
-
数据接收验证
接收到蓝牙数据: 128 字节 接收到蓝牙数据: 256 字节 接收到蓝牙数据: 512 字节 -
实时显示验证
- ECG节律视图(10秒)应显示实时曲线
- ECG波形视图(2.5秒)应显示详细波形
- 曲线应平滑滚动,无卡顿
第六步:信号处理测试
-
滤波功能
- 点击"陷波滤波"按钮切换滤波状态
- 观察曲线图的变化
-
指标计算
- 查看状态信息中的心率等指标
- 验证指标计算的准确性
-
性能测试
- 观察应用的响应速度
- 检查内存使用情况
🔍 调试技巧
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. 解决方案
总体评价:
□ 优秀 □ 良好 □ 一般 □ 需要改进
现在你的应用已经具备了完整的功能,可以进行全面的测试了!🎉