📄 内存管理器测试用例.xlsx
✅ Sheet1:功能测试用例
| 用例编号 | 测试类别 | 测试目的 | 操作步骤 | 测试输入 | 预期结果 | 备注 |
|---|---|---|---|---|---|---|
| FT-01 | 分配策略验证 | 验证 alloc 能否按 First-fit 策略分配 |
1. 初始化内存池 2. 设置策略为 First-fit 3. 连续分配多个块 |
分配大小:1024, 2048, 512 | 分配的地址按递增顺序排列(即先分配低地址) | 地址顺序反映 First-fit 特性 |
| FT-02 | 分配策略验证 | 验证 alloc 能否按 Best-fit 策略分配 |
1. 初始化内存池 2. 先分配并释放若干不同大小的块形成碎片 3. 设置策略为 Best-fit 4. 分配一个中等大小的块 |
碎片块:1000B, 1500B, 2000B 请求:800B |
应优先使用 1000B 块(最接近且 ≥800),而非更大的块 | Best-fit 选择最小合适块 |
| FT-03 | 释放后排序验证 | 验证 free 后空闲链表是否按策略排序 |
1. 设置 Best-fit 策略 2. 分配并释放多个块 3. 再次分配,观察 free_list 顺序 |
释放大小:1024, 512, 2048 | 在 Best-fit 模式下,free_list 应按 size 升序排列在 First-fit 模式下,按释放时间倒序(头插) |
使用 mem_manager_dump() 观察链表 |
| FT-04 | 块合并验证 | 验证 free 后相邻空闲块能否正确合并 |
1. 分配三个连续块 A、B、C 2. 释放 A 和 C 3. 再释放 B |
块大小:A=512, B=1024, C=512 | 释放 B 后,三个块应合并为一个大小为 512+1024+512 + 2×头大小 的大块 |
检查 free_list 中块数减少,总空闲大小正确 |
| FT-05 | 块分割验证 | 验证 alloc 时大块能否正确切割 |
1. 初始化后直接分配一个小于池大小但足够大的块 | 请求大小:1024 池大小:8KB |
分配成功 剩余空间形成一个新的空闲块,大小 ≈ 8192 - 1024 - 2×头大小 |
使用 mem_manager_dump() 查看 free_list 是否新增一个块 |
| FT-06 | 切割后碎片插入验证 | 验证切割后的碎片能否按规则插入空闲链表 | 1. 设置 Best-fit 策略 2. 分配一个块导致大块被切割 3. 检查新碎片插入位置 |
请求:1024 → 切割出 6000B 碎片 | 新碎片应插入到 free_list 中的正确排序位置(Best-fit 下按 size 升序) |
观察 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END



















暂无评论内容