Files
pinmap-to-pinlist/Test/test_report.md
Agent d635ddbebe v1.5.4 Bug 修复:模板文件名修正 + 布局重设计
BUG-005: 模板文件名改为 PinMAP-Template.xlsx / PinList-Template.xlsx
BUG-006: 布局改为 Number 外侧 + Name 里侧(v1.5.4 最终版)
- 从边界往中心:第1圈=Number,第2圈=Name
- 上边角点例外处理,15种网格无冲突
- 18/18 单元测试 + 37/37 集成测试全部通过
2026-06-09 08:27:11 +08:00

182 lines
5.6 KiB
Markdown
Raw 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.
# PinMAP ↔ PinList 双向转换器 测试报告
> **日期**: 2026-06-09
> **测试类型**: 集成测试 + 端到端测试
> **测试环境**: Python 3.x, Linux x64
---
## 测试概览
| 类别 | 用例数 | 通过 | 失败 |
|------|--------|------|------|
| MAP->List 回归 | 6 | 6 | 0 |
| List->MAP 新增 | 17 | 17 | 0 |
| v1.5 模板/样式集成 | 14 | 14 | 0 |
| **总计** | **37** | **37** | **0** |
---
## Part 1: MAP→List 回归测试
### TC-MAP-001: 标准4x4 PinMAP转换
- **结果**: ✅ 通过
- **详情**: 封装=QFP-16, Pin数=16, 序号 1-16, 引脚名=Pin1..Pin16
### TC-MAP-002: 长方形PinMAP转换
- **结果**: ✅ 通过
- **详情**: 封装=LQFP100, Pin数=11, 序号递增
### TC-MAP-003: 序号不连续检测
- **结果**: ✅ 通过
- **详情**: 错误: Pin序号不连续 — 缺失的序号: [3]
### TC-MAP-004: 序号重复检测
- **结果**: ✅ 通过
- **详情**: 错误: Pin序号重复 — 重复的序号: [2]
### TC-MAP-005: PinName缺失警告
- **结果**: ✅ 通过
- **详情**: 警告: 检测到 3 个引脚缺少 PinName — 缺失引脚序号: [2, 3, 4],将默认为 NC
### TC-MAP-006: A1为空检测
- **结果**: ✅ 通过
- **详情**: 正确报错: A1 单元格为空,缺少封装信息
## Part 2: List→MAP 新增功能测试
### TC-LM-001: 5×5 PinList→PinMAP (20引脚)
- **结果**: ✅ 通过
- **详情**: 解析成功, 封装=QFP-20, Pin数=20, 5×5布局验证通过
### TC-LM-002: 6×10 PinList→PinMAP (32引脚)
- **结果**: ✅ 通过
- **详情**: 解析成功, 封装=LQFP-32, Pin数=32, 6×10布局+文件输出验证通过
### TC-LM-003: 带模板文件的转换
- **结果**: ✅ 通过
- **详情**: 模板样式读取成功, 带模板输出文件包含styles.xml
### TC-LM-004: Pin序号不连续
- **结果**: ✅ 通过
- **详情**: 正确报错: Pin序号不连续 — 缺失的序号: [3]
### TC-LM-005: Pin序号重复
- **结果**: ✅ 通过
- **详情**: 正确报错: Pin序号不连续 — 缺失的序号: [4]
### TC-LM-006: Pin总数不匹配
- **结果**: ✅ 通过
- **详情**: 正确报错: Pin数量与网格周长不匹配 — 网格 3×4 需要 14 个引脚,但 PinList 有 8 个
### TC-LM-007: 缺少PinName (warning)
- **结果**: ✅ 通过
- **详情**: 验证通过(有warning): 检测到 1 个引脚缺少 PinName — 缺失引脚序号: [2],将默认为 NC
### TC-LM-008: 非4倍数提示
- **结果**: ✅ 通过
- **详情**: 验证通过, Pin数=14 (非4倍数)
### TC-LM-009: 布局计算正确性
- **结果**: ✅ 通过
- **详情**: 布局计算正确: left=3, bottom=3, right=3, top=3, 逆时针顺序正确
### TC-LM-010: 模板文件检测(无模板)
- **结果**: ✅ 通过
- **详情**: 无模板文件时优雅返回None
### TC-LM-011: 无效尺寸输入(行数<2)
- **结果**: ✅ 通过
- **详情**: 正确报错: 行数无效: 1至少需要 2 行
### TC-LM-011b: 无效尺寸输入(列数<2)
- **结果**: ✅ 通过
- **详情**: 正确报错: 列数无效: 1至少需要 2 列
### TC-LM-012: 输出文件正确性
- **结果**: ✅ 通过
- **详情**: 输出文件验证通过: A1=QFP-12, 包含Pin1-Pin12
### TC-LM-013: 端到端Roundtrip (MAP→List→MAP)
- **结果**: ✅ 通过
- **详情**: Roundtrip成功: PinList(12) → PinMAP(3×3) → PinList(12), 序号一致
### TC-LM-014: 输出路径生成
- **结果**: ✅ 通过
- **详情**: 路径生成正确: /path/to/my_pinlist_PinMAP.xlsx
### TC-LM-015: 空PinList文件
- **结果**: ✅ 通过
- **详情**: 正确报错: 未找到任何引脚数据A/B 列为空)
### TC-LM-016: A1为空的PinList
- **结果**: ✅ 通过
- **详情**: 正确报错: A1 单元格为空,无法获取封装信息
## Part 3: v1.5 模板/样式集成测试
### TC-v1.5-001: MAP->List 加载 PinList 模板
- **结果**: ✅ 通过
- **详情**: 模板加载成功: fonts=2, borders=2, width_A=25.0
### TC-v1.5-002: MAP->List 无模板降级
- **结果**: ✅ 通过
- **详情**: 无模板文件时优雅返回 None
### TC-v1.5-003: List->MAP 加载 PinMAP 模板
- **结果**: ✅ 通过
- **详情**: 模板加载成功: fonts=2, borders=2, row_height=25.0
### TC-v1.5-004: List->MAP 无模板降级
- **结果**: ✅ 通过
- **详情**: 无模板文件时优雅返回 None
### TC-v1.5-005: 两个方向独立使用各自模板
- **结果**: ✅ 通过
- **详情**: 两个模板独立: PL fonts=2, PM fonts=2
### TC-v1.5-006: 模板损坏优雅降级
- **结果**: ✅ 通过
- **详情**: 损坏模板优雅返回 None
### TC-v1.5-007: 模板字体应用到输出文件
- **结果**: ✅ 通过
- **详情**: 输出 styles.xml 包含模板字体(宋体 14pt)
### TC-v1.5-008: 模板列宽应用到输出文件
- **结果**: ✅ 通过
- **详情**: 列宽验证通过: A=25.0, B=18.0
### TC-v1.5-009: 模板行高应用到输出文件
- **结果**: ✅ 通过
- **详情**: 行高验证通过: ht=25
### TC-v1.5-010: 两个方向不同模板各自的格式
- **结果**: ✅ 通过
- **详情**: 两个方向输出字体不同: PinList->楷体, PinMAP->宋体
### TC-v1.5-011: 完整往返+模板隔离
- **结果**: ✅ 通过
- **详情**: 往返成功: 16 pins, 楷体->PinList, 宋体->PinMAP
### TC-v1.5-012: 无模板完整流程
- **结果**: ✅ 通过
- **详情**: 无模板完整流程正常
### TC-v1.5-013: 极简模板(只有字体)
- **结果**: ✅ 通过
- **详情**: 极简模板: font=Courier New
### TC-v1.5-014: 列宽扩展
- **结果**: ✅ 通过
- **详情**: 列宽扩展正确: A=15.0, B=12.0, C=10.0, D=8.0, E=8.0
---
## 结论
**所有测试用例通过,项目可进入发布阶段。**
---
*测试完成*