Files
pinmap-to-pinlist/Test/test_report.md

123 lines
3.7 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-01
> **测试类型**: 集成测试 + 端到端测试
> **测试环境**: Python 3.x, Linux x64
---
## 测试概览
| 类别 | 用例数 | 通过 | 失败 |
|------|--------|------|------|
| MAP→List 回归 | 6 | 6 | 0 |
| List→MAP 新增 | 17 | 17 | 0 |
| **总计** | **23** | **23** | **0** |
---
## Part 1: MAP→List 回归测试
### TC-MAP-001: 标准4x4 PinMAP转换
- **结果**: ✅ 通过
- **详情**: 封装=QFP12, Pin数=12, 序号递增
### 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 单元格为空,无法获取封装信息
---
## 结论
**所有测试用例通过,项目可进入发布阶段。**
---
*测试完成*