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