Hypertension_Risk_Assessment/0112-2026 - Test_Package/主指南(必读)-README_TEST.md
2026-01-13 11:27:21 +08:00

232 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 高血压风险评估系统 - 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`
- 发送给项目负责人
---