查看“Unit Testing”的源代码
←
Unit Testing
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''单元测试(Unit testing)''' 意味着,除了实现代码之外,你还要编写一个 “测试驱动程序(test driver)”,该 “测试驱动程序” 将实现代码进行一组试验,检查返回结果的正确性。 请注意,这是在开发/测试期间完成的-“测试驱动程序” 不随发布代码一起提供。 == 出发点想法是... == * 如果以后更改实现代码中的内容,则测试驱动程序会告诉你结果是否保持不变 (回归测试 regression test); * 如果收到错误报告,则不仅要修复实现代码,还要更新测试驱动程序,以便在不失败单元测试的情况下永远不会再次引入此错误。 单元测试是提高代码可靠性和正确性的好方法。 但是,它要求要测试的代码实际上 “可以” 在测试驱动程序的控制下运行。 你应该很容易看出这在哪里工作变得棘手。 虽然 “应该” 可以在 “测试床 testbed”上测试驱动程序中测试大多数内核功能,但真正 “繁杂” 的东西 (例如中断处理,进程调度或内存管理) 可能无法进行单元测试。 == 替代/附加选项: 运行时自检 == * 在激活内存提供程序之前,请向它索取内存,记录地址,释放内存并再次索取内存。 在这种情况下,大多数分配器都将返回相同的地址。 * 如果你的内存管理器具有一些 “空闲区域合并” 功能,请分配尽可能多的 “小” 区域,然后释放所有 “奇数” 区域,然后释放所有 “均匀” 区域 (强调考察合并功能)。 完成后,请尝试分配一个与最初获得的所有小区域的集合一样大的区域。 * 在启动许多线程之前,请启动一个线程,该线程将发出 [[Semaphores|信号量]] 的信号,然后等待该信号量。 如果你的调度程序 (和信号量) 工作正常,则只能在其他线程已执行的情况下继续运行。 * 启用中断 (尤其是计时器) 后,轮询 “tick计数器”,直到它计数完成 (确认计时器中断工作正常) 由于许多测试可能会挂起,因此建议你在知道测试是否成功之前,先打印正在运行的测试状况。 [[Category:Troubleshooting]]
返回至“
Unit Testing
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息