79 lines
2.0 KiB
Markdown
79 lines
2.0 KiB
Markdown
# 测试方案
|
||
|
||
开始时间:2026-05-03-23-22-10
|
||
|
||
## 本次方案路径
|
||
|
||
`工程分析/测试方案-2026-05-03-23-22-10.md`
|
||
|
||
## 测试范围
|
||
|
||
- DICOM 阅览冠状位/矢状位请求是否稳定。
|
||
- 切片滑杆快速变化是否不再导致后端被杀或连接重置。
|
||
- 显示模式切换是否正常返回图片。
|
||
- ZIP 下载 job 完成后是否只触发一次下载。
|
||
- Python 语法、前端类型检查、构建是否通过。
|
||
- 重新部署后服务是否可访问。
|
||
|
||
## 测试命令
|
||
|
||
Python 语法检查:
|
||
|
||
```bash
|
||
python -m py_compile web_backend.py head_extension_app.py
|
||
```
|
||
|
||
前端类型检查:
|
||
|
||
```bash
|
||
cd WebSite
|
||
npm run lint
|
||
```
|
||
|
||
前端构建:
|
||
|
||
```bash
|
||
cd WebSite
|
||
npm run build
|
||
```
|
||
|
||
后端阅览接口压力抽测:
|
||
|
||
```bash
|
||
for i in 0 64 128 256 384 511; do
|
||
curl -s "http://127.0.0.1:8787/api/library/reformat-preview?id=demo_ori_head_ct&plane=coronal&index=$i&window=bone" >/dev/null
|
||
done
|
||
```
|
||
|
||
部署验证:
|
||
|
||
```bash
|
||
curl -I --max-time 5 http://192.168.3.11:3005/
|
||
curl -s --max-time 10 "http://127.0.0.1:8787/api/library/reformat-preview?id=demo_ori_head_ct&plane=coronal&index=511&window=bone"
|
||
```
|
||
|
||
## 手工验证点
|
||
|
||
- 打开数据影像库,进入 DICOM 阅览。
|
||
- 拖动切片滑杆,图像更新且控制台不再出现 `ERR_CONNECTION_RESET`。
|
||
- 切换显示模式,图像更新且后端服务保持在线。
|
||
- 如有 ZIP 打包下载任务,完成后只自动下载一次。
|
||
|
||
## 验收标准
|
||
|
||
- 后端不再因为阅览切片/窗位切换被 `Killed`。
|
||
- `reformat-preview` 连续请求正常返回 JSON。
|
||
- `npm run lint` 通过。
|
||
- `npm run build` 通过。
|
||
- `python -m py_compile web_backend.py head_extension_app.py` 通过。
|
||
- Gitea commit/push 完成。
|
||
- 重新部署后 `http://192.168.3.11:3005/` 返回 `200 OK`。
|
||
|
||
## 残余风险
|
||
|
||
- 纯 HTTP 部署下,浏览器可能仍会对下载文件给出安全提示;本次通过 blob 下载和重复触发保护尽量降低该提示出现概率。彻底消除需要 HTTPS 部署。
|
||
|
||
## 人工审核状态
|
||
|
||
用户已明确本次不需要人工二次确认,直接执行。
|