堆栈测试用例

hka*_*era 0 stack linked-list testcase

堆栈是通过链表实现的。什么是测试用例时,它的工作原理,当它不?

Mic*_*yan 5

适当的单元测试取决于您的特定接口(黑盒测试)以及您的特定实现(玻璃盒测试)。对于堆栈,我希望测试一些东西:

  1. 可以将一个项目压入堆栈并将其弹出。
  2. 在堆栈上推送多个不同的项目时,重复弹出以相反的顺序返回它们。
  3. 未初始化的堆栈为空。
  4. 推入项目的堆栈是非空的。
  5. 推入并随后移除项目的堆栈是空的。
  6. 在没有项目时尝试弹出会导致记录类型的失败,无论是返回 NULL、抛出异常还是中止程序。

总结一下:

  • 基本功能。
  • 订单属性。
  • 空性不变。
  • 故障模式。

请注意,对于其他数据结构,需要测试的内容会有所不同。通常,创建这组测试的方法是为每个函数创建一个单元测试,以确认文档所做的每个保证都得到支持,并且通过该函数的所有代码路径都得到支持。此外,应该测试记录的故障模式以确认它们以预期的方式失败。