SDK_APP/TESTING_GUIDE.md

296 lines
6.2 KiB
Markdown
Raw Normal View History

2025-09-02 17:34:23 +08:00
# 完整功能测试指南
## 🎯 测试目标
验证应用的完整功能,包括:
- ✅ 蓝牙权限申请
- ✅ 蓝牙设备扫描和连接
- ✅ 实时数据接收和处理
- ✅ ECG曲线图显示
- ✅ 信号处理和指标计算
## 📱 测试环境准备
### 1. 设备要求
- **Android设备**Android 6.0+推荐Android 12+
- **蓝牙功能**支持BLE或传统蓝牙
- **位置权限**:需要位置权限用于蓝牙扫描
### 2. 心电设备
- **真实设备**支持BLE或传统蓝牙的心电设备
- **模拟设备**:可以使用蓝牙调试工具模拟数据
### 3. 开发环境
- **Android Studio**:最新版本
- **ADB工具**:用于日志查看和调试
## 🚀 测试步骤
### 第一步:应用安装和启动
1. **编译应用**
```bash
./gradlew assembleDebug
```
2. **安装到设备**
```bash
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. 日志查看
```bash
# 查看蓝牙相关日志
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. 错误诊断
```bash
# 查看错误日志
adb logcat | grep -i error
# 查看警告日志
adb logcat | grep -i warning
```
## ⚠️ 常见问题排查
### 1. 权限问题
**症状**:点击按钮无反应
**排查**
```bash
# 检查权限状态
adb shell dumpsys package com.example.cmake_project_test | grep permission
```
**解决**
- 进入系统设置手动授予权限
- 重启应用
### 2. 蓝牙扫描问题
**症状**:扫描无结果
**排查**
```bash
# 检查蓝牙状态
adb shell dumpsys bluetooth
```
**解决**
- 确认设备蓝牙已开启
- 确认设备处于可发现状态
- 检查设备距离
### 3. 连接问题
**症状**:连接失败
**排查**
```bash
# 查看连接日志
adb logcat | grep -i "connection\|connect"
```
**解决**
- 确认设备未被其他应用占用
- 检查设备电池电量
- 重启设备和应用
### 4. 数据显示问题
**症状**:曲线图无数据
**排查**
```bash
# 查看数据处理日志
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. 解决方案
总体评价:
□ 优秀 □ 良好 □ 一般 □ 需要改进
```
现在你的应用已经具备了完整的功能,可以进行全面的测试了!🎉