3.7 KiB
3.7 KiB
PinMAP ↔ PinList 双向转换器 测试报告
日期: 2026-05-28 测试类型: 集成测试 + 端到端测试 测试环境: 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转换
- 结果: ✅ 通过
- 详情: 封装=QFP44, Pin数=8, 序号递增
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 (16引脚)
- 结果: ✅ 通过
- 详情: 解析成功, 封装=QFP-16, Pin数=16, 5×5布局验证通过
TC-LM-002: 6×12 PinList→PinMAP (32引脚)
- 结果: ✅ 通过
- 详情: 解析成功, 封装=LQFP-32, Pin数=32, 6×12布局+文件输出验证通过
TC-LM-003: 带模板文件的转换
- 结果: ✅ 通过
- 详情: 模板样式读取成功, 带模板输出文件包含styles.xml
TC-LM-004: Pin序号不连续
- 结果: ✅ 通过
- 详情: 正确报错: Pin序号不连续 — 缺失的序号: [3]
TC-LM-005: Pin序号重复
- 结果: ✅ 通过
- 详情: 正确报错: Pin序号不连续 — 缺失的序号: [4]
TC-LM-006: Pin总数不匹配
- 结果: ✅ 通过
- 详情: 正确报错: Pin数量与网格周长不匹配 — 网格 3×4 需要 10 个引脚,但 PinList 有 8 个
TC-LM-007: 缺少PinName (warning)
- 结果: ✅ 通过
- 详情: 验证通过(有warning): 检测到 1 个引脚缺少 PinName — 缺失引脚序号: [2],将默认为 NC
TC-LM-008: 非4倍数提示
- 结果: ✅ 通过
- 详情: 验证通过, Pin数=6 (非4倍数)
TC-LM-009: 布局计算正确性
- 结果: ✅ 通过
- 详情: 布局计算正确: left=3, bottom=2, right=1, top=2, 逆时针顺序正确
TC-LM-010: 模板文件检测(无模板)
- 结果: ✅ 通过
- 详情: 无模板文件时优雅返回None
TC-LM-011: 无效尺寸输入(行数<2)
- 结果: ✅ 通过
- 详情: 正确报错: 行数无效: 1,至少需要 2 行
TC-LM-011b: 无效尺寸输入(列数<2)
- 结果: ✅ 通过
- 详情: 正确报错: 列数无效: 1,至少需要 2 列
TC-LM-012: 输出文件正确性
- 结果: ✅ 通过
- 详情: 输出文件验证通过: A1=QFP-8, 包含Pin1-Pin8
TC-LM-013: 端到端Roundtrip (MAP→List→MAP)
- 结果: ✅ 通过
- 详情: Roundtrip成功: PinList(8) → PinMAP(3×3) → PinList(8), 序号一致
TC-LM-014: 输出路径生成
- 结果: ✅ 通过
- 详情: 路径生成正确: /path/to/my_pinlist_PinMAP.xlsx
TC-LM-015: 空PinList文件
- 结果: ✅ 通过
- 详情: 正确报错: 未找到任何引脚数据(A/B 列为空)
TC-LM-016: A1为空的PinList
- 结果: ✅ 通过
- 详情: 正确报错: A1 单元格为空,无法获取封装信息
结论
✅ 所有测试用例通过,项目可进入发布阶段。
测试完成