Hypertension_Risk_Assessment/0112-2026 - Test_Package/主指南(必读)-README_TEST.md

232 lines
6.7 KiB
Markdown
Raw Normal View History

2026-01-13 11:27:21 +08:00
# 高血压风险评估系统 - 2天测试指南
**测试周期2天Day 1组件测试 + Day 2联调测试**
**测试人员成员A云端负责人+ 成员B边缘端负责人**
**测试目标:验证云端/边缘端基本功能可用,完成最小端到端闭环**
---
## 📦 测试包内容
```
test_package/
├── README_TEST.md ← 你正在看的文件(测试总指南)
├── TestPlan-2Days.md ← 详细2天测试计划按小时排
├── requirements.txt ← Python依赖清单
├── docs/ ← 测试文档模板
│ ├── Test-Log-Template.md ← 测试记录模板(复制后填写)
│ ├── Bug-Report-Template.md ← 缺陷报告模板
│ └── Checklist-Cloud.md ← 云端测试检查表
│ └── Checklist-Edge.md ← 边缘端测试检查表
├── scripts/ ← 测试脚本
│ ├── check_health.py ← 快速健康检查
│ ├── test_upload.py ← 上传测试(正常场景)
│ ├── test_report.py ← 报告获取测试
│ ├── test_negative.py ← 异常场景测试
│ └── start_cloud_bg.py ← 后台启动云端(可选)
├── test_data/ ← 测试样例数据
│ ├── sample_normal.json ← 正常上传样例
│ ├── sample_missing_field.json ← 缺字段样例
│ └── sample_wrong_type.json ← 错误类型样例
├── artifacts/ ← 测试结果输出目录(自动生成)
│ ├── cloud/ ← 云端测试产物
│ └── edge/ ← 边缘端测试产物
└── [代码文件]
├── cloud_hypertension_system.py ← 云端主程序
└── edge_hypertension_system.py ← 边缘端主程序
```
---
## ⚡ 5分钟快速启动必读
### 环境准备(两人都做)
```bash
# 1. 安装依赖
pip install -r requirements.txt
# 2. 验证Python版本需要3.8+
python --version
# 3. 快速测试:检查云端健康
python scripts/check_health.py
# 如果看到"❌ 无法连接"是正常的(此时云端还没启动)
```
### 成员A云端快速测试5分钟
```bash
# 第1步在PowerShell/终端1中启动云端
python cloud_hypertension_system.py
# 看到这个就对了:
# ✓ 数据库初始化成功
# Running on http://127.0.0.1:5000
# 保持这个窗口运行!
# 第2步打开新终端2测试健康检查
python scripts/check_health.py
# 应该看到:✅ 服务器正在运行
# 第3步测试上传
python scripts/test_upload.py
# 应该看到:✅ 上传成功!
# ✅ 如果以上3步都成功 → 云端基本可用
```
### 成员B边缘端快速测试5分钟
```bash
# 第1步直接运行边缘端模拟模式
python edge_hypertension_system.py
# 应该看到每30秒输出
# 📊 实时状态更新
# 心率: 72.3 bpm
# 风险评分: 0.285 (LOW)
# 第2步运行10分钟观察
# - 有起夜事件(🚽)
# - 有风险预警(⚠️,可能出现)
# - 无崩溃、无异常
# ✅ 如果能稳定运行10分钟 → 边缘端基本可用
```
---
## 🎯 关键配置说明
### 云端配置cloud_hypertension_system.py
```python
# 第23-28行API配置
'port': 5000, # 监听端口
'api_keys': [ # 鉴权密钥(测试用)
'edge_device_key_001',
'edge_device_key_002'
]
# 第44行数据库配置
'type': 'sqlite', # 使用SQLite测试用
'sqlite_path': './cloud_database.db'
```
### 边缘端配置edge_hypertension_system.py
```python
# 第75-78行云端上传配置
'enable_upload': True, # 是否上传到云端
'upload_url': 'http://127.0.0.1:5000/api/upload', # 云端地址
'upload_interval': 300, # 上传间隔(秒)
'api_key': 'edge_device_key_001'
# 第68-70行设备ID
'device_id': 'edge_rk3588_001' # 测试设备ID
```
**⚠️ 重要两人测试时使用不同的device_id**
- 成员A测试时用`test_edge_device_001`
- 成员B测试时用`test_edge_device_002`
- 联调时用:`edge_rk3588_001`
---
## 📋 测试执行流程详细版见TestPlan-2Days.md
### Day 1组件测试并行
**上午09:30-12:00**
- ✅ 成员A云端冒烟health、upload、report
- ✅ 成员B边缘端本地运行稳定性
**下午13:30-16:30**
- ✅ 成员A云端异常场景401、400、重复上传
- ✅ 成员B边缘端上传容错断网重连
- ✅ 交叉复核(各自在对方机器上复现)
### Day 2联调测试协同
**上午09:30-12:00**
- ✅ 端到端闭环:边缘端 → 上传 → 云端落库 → 报告生成
**下午13:30-16:00**
- ✅ 失败注入测试
- ✅ 整理交付物
---
## ✅ 验收标准(必须通过)
| 项目 | 成员A | 成员B | 证据文件 |
|------|------|------|---------|
| 云端健康检查 | ✅ | - | artifacts/cloud/health.json |
| upload→report闭环 | ✅ | - | artifacts/cloud/upload_response.json |
| 错误码正确401/400 | ✅ | - | artifacts/cloud/negative_tests.log |
| 边缘端10分钟无崩溃 | - | ✅ | artifacts/edge/edge_10min.log |
| 联调成功 | ✅ | ✅ | artifacts/end2end/combined.log |
---
## 🐛 常见问题速查
### Q1: 云端启动后,测试脚本报"连接拒绝"
**A:** 检查云端是否真的在运行:
```bash
python scripts/check_health.py
# 如果显示"❌ 无法连接" → 云端没启动或崩溃了
```
### Q2: 测试脚本报"500错误"
**A:** 查看云端窗口的错误日志,通常是:
- 时间戳格式错误(应该是数字,不是字符串)
- 数据库锁定(关闭其他访问数据库的程序)
### Q3: 边缘端上传失败?
**A:** 检查:
1. 云端是否启动check_health.py
2. URL配置是否正确第77行
3. API Key是否匹配第78行
### Q4: 端口5000被占用
**A:** 查找并杀死占用进程:
```bash
# Windows
netstat -ano | findstr :5000
taskkill /PID <PID> /F
# 或者修改云端端口为5001
```
---
## 📞 支持与反馈
- **技术问题**:立即在测试记录中标注,并截图+日志
- **阻塞问题**:第一时间同步给项目负责人
- **测试进度**每天下班前提交当天Test-Log.md
---
## 🎉 测试完成后交付
**必须提交2个人一起**
1. `Test-Log.md`(按模板填写,带时间线)
2. `Bug-List.xlsx`所有缺陷P0/P1/P2分级
3. `artifacts/`目录(所有日志、截图、数据库文件)
4. `2-day-summary.md`(一页纸结论)
**提交方式:**
- 打包成 `test-results-YYYYMMDD.zip`
- 发送给项目负责人
---