296 lines
6.2 KiB
Markdown
296 lines
6.2 KiB
Markdown
|
|
# 完整功能测试指南
|
|||
|
|
|
|||
|
|
## 🎯 测试目标
|
|||
|
|
|
|||
|
|
验证应用的完整功能,包括:
|
|||
|
|
- ✅ 蓝牙权限申请
|
|||
|
|
- ✅ 蓝牙设备扫描和连接
|
|||
|
|
- ✅ 实时数据接收和处理
|
|||
|
|
- ✅ 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. 解决方案
|
|||
|
|
|
|||
|
|
总体评价:
|
|||
|
|
□ 优秀 □ 良好 □ 一般 □ 需要改进
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
现在你的应用已经具备了完整的功能,可以进行全面的测试了!🎉
|