测试用例–

📄 内存管理器测试用例.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
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容