單測

目錄

單元測試

合格的單元測試

單測幹什麼

單測編寫規範

單測覆蓋粒度

單測執行策略

如何寫好單元測試


單元測試

指對軟件中的最小可測試單元進行檢查和驗證,對於面向對象編程,最小單元就是方法,包括基類(超類)/抽象類/派生類(子類)中的方法

合格的單元測試

1.測試的是一個代碼單元內部的邏輯,而不是各模塊之間的交互

2.獨立,不需要外部環境即可測試代碼,可以隨時隨地執行

3.要高效,可快速執行

4.要可迴歸,可以重複執行

單測幹什麼

1.可更好地保證代碼符合預期行爲

2.單元測試讓我們更早得到反饋,提前發現問題

3.單元測試是重構的基礎,驗證重構是否可靠

4.應用於持續繼承流程,對每次代碼提交做迴歸測試

5.對程序結構要求更高,會讓程序的結構更合理

6.編寫易測試的代碼需要更高的設計水平,會提高程序員的代碼設計能力

單測編寫規範

1.測試類命名

測試類應該放在src/test/java目錄下,與源碼目錄隔離,測試類包名最好與源碼相對應,創建測試類名需在源碼類後加上後綴Test或TestCase,一般選擇前者,

eg:源文件TSettleAdminServiceImpl.java,測試類TSettleAdminServiceImplTest.java,注意,新建測試文件,右鍵類名-->Generate-->Test-->選擇方法

2.測試方法命名

每個測試方法都要在源文件方法的基礎上,加前綴test,eg,源文件方法名稱inquireMerchantTheNewestSettlePeriodBatch,測試方法名稱testInquireMerchantByCustomerAndSettlePeriod

3.測試資源

測試資源文件都需要存放在src/test/resources目錄下,配置文件獨立配置一套作爲測試所用,和源碼資源文件隔離開,最好不要引用源資源文件

單測覆蓋粒度

1.通用的業務組件或工具類

2.內外部接口

3.包含重要邏輯的service

4.不包括自動生成的代碼部分

單測執行策略

1.項目排期一定要預留單測時間

估計開發工作量使,應該結合自身的能力並留出單元測試的時間,eg,純開發工作的人天爲N,加上UT則至少需要2N時間

2.儘早進行單元測試,邊寫功能,邊寫測試

3.週期性對代碼進行評審,不斷補充需要進行單測的代碼

4.對於新增加的功能和修改的功能要進行完善單元測試

5.對於新發現的bug,也應增加相應的單元測試

如何寫好單元測試

1.趁早:時機-接入越早越好

根據UT開始時間來分:測試驅動開發TDD,邊測試邊開發,開發完再測試,對UT比較熟悉的人員建議採用TDD:

面向測試的設計可以更好地分離關注點;測試越早越能儘早發現缺陷;可以把自己作爲使用者二非僅僅是實現者,可改善接口

2.覆蓋:單測的內容-場景考慮要全面

驗證接口的入參和結果;驗證程序邊界條件;驗證程序異常情況;驗證程序執行路徑

3.獨立:目標與環境的隔離-體輕跑得快

可通過Mock實現測試目標與環境的隔離

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章