堆栈测试用例

时间:2011-02-16 07:57:56

标签: stack linked-list testcase

通过链接列表实现堆栈。 什么是测试用例什么时候有效?

2 个答案:

答案 0 :(得分:4)

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

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

    • 基本功能。
    • 订购物业。
    • 空虚不变。
    • 失败模式。

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

答案 1 :(得分:1)

好吧,想想你希望你的Stack做什么。构造一个API(或查看API of an existing stack)并测试每个函数是否完成它应该做的事情。你应该看一下Unit Testing

示例:您的基本堆栈应该有push()pop(),所以:

  • 创建元素A,
  • 在堆栈上按A,
  • 弹出一个元素
  • 看看它是否是元素A.

特别测试边缘情况:删除最后一个元素,插入元素两次,插入无效对象,引用堆栈本身,删除堆栈中的对象。