原創|行業資訊|編輯:龔雪|2014-03-17 09:37:21.000|閱讀 630 次
概述:單元測試在整個軟件測試工程中非常重要,本文總結了單元測試需要注意的一些事項。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
作為一名優秀的程序員,應該知道單元測試的重要性。整個軟件測試工程,單元測試是基礎,做好單元測試勢在必行。
小編從網絡和程序員處收集了大量的單元測試注意事項,以供參考。
1 保持單元測試小巧, 快速
理論上, 任何代碼 Check-in 之前都應該把所有測試套件完整的跑一遍。 所以保持測試代碼輕快能減少開發迭代周期。
2 單元測試應該是全自動/非交互式的
測試套件通常是定期執行的, 執行過程也必須是完全自動化才有意義。 輸出結果需要人工檢查的測試不是一個好的單元測試。
3 讓單元測試很容易跑起來
對開發環境進行配置, 最好是敲一條命令或是點擊一個按鈕就能把單個測試用例和測試套件跑起來。
4 對測試進行評估
對執行的測試進行覆蓋率分析, 以便得到精確的代碼執行覆蓋率, 調查哪些代碼未被執行。
5 立即修正失敗的測試
每個開發人員都應該保證新 Check-in 的測試用例能夠跑成功, 并且當有代碼 Check-in 現有測試用例也都能跑通過。
6 把測試維持在單元級別
單元測試即類 (Class) 的測試。 一個 “測試類” 應該只對應于一個 “被測類”, 并且對 “被測類” 行為的測試環境應該是隔離的。 必須謹慎的避免使用單元測試框架來測試整個程序的工作流, 這樣的測試即低效又難維護。 工作流測試 (譯注: 指跨模塊/類的數據流測試) 有它自己的地盤, 但它絕不是單元測試, 必須單獨設置和執行。
7 由簡入繁
再簡單的測試也遠遠勝過完全沒有測試。 一個簡單的 “測試類” 會促使建立 “被測類” 基本的測試骨架, 可以對構建環境, 單元測試環境, 執行環境以及覆蓋率分析工具等有效性進行檢查, 同時也確保 “被測類” 能夠整合并被調用。
下面便是單元測試版的 Hello, world! :
void testDefaultConstruction() { Foo foo = new Foo(); assertNotNull(foo); }
8 保持測試的獨立性
為了保證測試穩定可靠且便于維護, 測試用例之間決不能有相互依賴, 也不能依賴執行的先后次序。
9 測試類的控制
大部分C++和 Python 庫均把測試代碼從功能代碼目錄中獨立出來, 通常是創建一個和 src 目錄同級的 tests 目錄, 被測模塊/類名之前也常常 不加 Test 前綴。 這么做保證功能代碼和測試代碼隔離, 目錄結構清晰, 并且發布源碼的時候更容易排除測試用例。
10 合理的命名測試用例
確保每個測試方法只測試 “被測類” 的一個明確特性, 并且相應的給測試方法命名。 典型的命名俗定是 test[what], 比如 testSaveAs(),testAddListener(), testDeleteProperty() 等。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn