堆棧通過鏈表實現。 什麼是測試用例什麼時候有效,什麼時候沒有?堆棧測試用例
Q
堆棧測試用例
0
A
回答
4
適當的單元測試取決於您的特定接口(黑箱測試)以及您的特定實現(玻璃箱測試)。對於堆棧,我期望測試一些東西:
- 可以將堆棧上的項目推出並彈出。
- 在堆棧中推送多個不同的項目時,重複的彈出會以相反的順序返回它們。
- 未初始化的堆棧爲空。
- 推送項目的堆棧非空。
- 具有推送並隨後移除的項目的堆棧爲空。
- 嘗試在沒有項目時彈出會導致記錄類型的失敗,無論是返回NULL,拋出異常還是中止程序。
總結:
- 基本功能。
- 訂單屬性。
- 空虛不變。
- 失敗模式。
請注意,需要測試的內容對於其他數據結構會有所不同。通常,創建這組測試的方法是爲每個函數創建一個單元測試,以確認文檔所做的每個保證都得到支持,並且通過該函數的所有代碼路徑都支持它。此外,應該測試記錄的故障模式,以確認它們以預期的方式失效。
1
那麼,想想你想要你的堆棧做什麼。構建一個API(或者看看API of an existing stack)並測試每個函數是否應該做它應該做的。你應該看看Unit Testing。
例:你的基本棧應該有一個push()
和pop()
,所以:
- 創建一個元素A,在棧上
- 推A,
- 流行元素
- 看它是否是元素A.
特別測試邊緣情況:刪除最後一個元素,插入一個n元素兩次,插入無效對象,引用堆棧本身,刪除堆棧上的對象。
相關問題
- 1. Junit測試堆棧彈出
- 2. 堆棧和堆以及平等測試
- 3. VBA:測試調用堆棧頂部
- 4. 堆棧粉碎測試環境
- 5. 堆棧equivelant的測試問題
- 6. JUnit測試isEmpty()堆棧方法
- 7. Rails測試系統堆棧錯誤
- 8. 遞歸 - 調用堆棧失敗測試的最大堆棧大小
- 9. RxJs堆棧觀測
- 10. 如何編寫php單元測試來測試堆棧功能?
- 11. 大Monad堆棧的例子
- 12. Acivity實例從堆棧
- 13. 用TUN/TAP測試用戶空間TCP/IP堆棧
- 14. 當使用「堆棧測試」時,我的hspec測試輸出沒有着色
- 15. 檢測堆棧或堆分配
- 16. 檢測到堆棧損壞
- 17. c堆棧粉碎檢測
- 18. 簡單堆棧示例,如果堆棧爲空,如何返回?
- 19. 如何測試使用的平均堆棧API
- 20. 選擇使用Hspec和堆棧運行哪個測試
- 21. 什麼是您的Web應用程序的測試堆棧?
- 22. 評估應用程序堆棧或框架的測試
- 23. 使用堆棧測試平衡分隔符
- 24. 調試堆棧跟蹤?
- 25. 試圖粉碎堆棧
- 26. 調試堆棧跟蹤
- 27. QUnit測試測試用例
- 28. 堆棧在java中使用堆棧
- 29. 堆棧溢出調用堆棧#timememoryfunctionlocation 10.0000143728
- 30. 「堆棧溢出檢測的」用C
家庭作業問題允許在這裏,但你應該給他們標記`家庭作業`。 – Konerak 2011-02-16 08:00:31
當正確實施 - 它的工作原理,當執行不正確 - 它不 – davin 2011-02-16 08:00:36