6.7 KiB
6.7 KiB
高血压风险评估系统 - 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分钟快速启动(必读)
环境准备(两人都做)
# 1. 安装依赖
pip install -r requirements.txt
# 2. 验证Python版本(需要3.8+)
python --version
# 3. 快速测试:检查云端健康
python scripts/check_health.py
# 如果看到"❌ 无法连接"是正常的(此时云端还没启动)
成员A:云端快速测试(5分钟)
# 第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分钟)
# 第1步:直接运行边缘端(模拟模式)
python edge_hypertension_system.py
# 应该看到每30秒输出:
# 📊 实时状态更新
# 心率: 72.3 bpm
# 风险评分: 0.285 (LOW)
# 第2步:运行10分钟,观察:
# - 有起夜事件(🚽)
# - 有风险预警(⚠️,可能出现)
# - 无崩溃、无异常
# ✅ 如果能稳定运行10分钟 → 边缘端基本可用
🎯 关键配置说明
云端配置(cloud_hypertension_system.py)
# 第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)
# 第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: 检查云端是否真的在运行:
python scripts/check_health.py
# 如果显示"❌ 无法连接" → 云端没启动或崩溃了
Q2: 测试脚本报"500错误"?
A: 查看云端窗口的错误日志,通常是:
- 时间戳格式错误(应该是数字,不是字符串)
- 数据库锁定(关闭其他访问数据库的程序)
Q3: 边缘端上传失败?
A: 检查:
- 云端是否启动?(check_health.py)
- URL配置是否正确?(第77行)
- API Key是否匹配?(第78行)
Q4: 端口5000被占用?
A: 查找并杀死占用进程:
# Windows
netstat -ano | findstr :5000
taskkill /PID <PID> /F
# 或者修改云端端口为5001
📞 支持与反馈
- 技术问题:立即在测试记录中标注,并截图+日志
- 阻塞问题:第一时间同步给项目负责人
- 测试进度:每天下班前提交当天Test-Log.md
🎉 测试完成后交付
必须提交(2个人一起):
Test-Log.md(按模板填写,带时间线)Bug-List.xlsx(所有缺陷,P0/P1/P2分级)artifacts/目录(所有日志、截图、数据库文件)2-day-summary.md(一页纸结论)
提交方式:
- 打包成
test-results-YYYYMMDD.zip - 发送给项目负责人