開發測試

範圍

開發人員-dev的對代碼質量的保證方式,進行的代碼級別驗證或者方法論驅動寫出質量能達到要求的代碼,非測試人員範圍內的測試。java

概念區分

  1. 單元測試 單元測試只測試程序單元自身的功能spring

  2. 集成測試 將全部模塊按照概要設計要求組裝成爲子系統或系統,驗證組裝後功能以及模塊間接口是否正確的測試工做框架

  3. tdd:方法論:寫代碼只爲修復失敗了的測試,基於單元測試單元測試

  4. atdd:ATDD是一種團隊行爲及過程,基於集成測試測試

例如:若是須要啓動spring容器來進行,已經屬於集成測試範圍,參考springdoc,spring-test包自己定義爲集成測試,單元測試須要mock注入;設計

mock東西太多,因此咱們會啓動spring容器來注入;但若是是tdd這種運行速度確定不是咱們能接受的。
方法論接口

現狀與問題

有鄙視沒有單元測試的代碼,有以爲沒有測試就無法寫代碼的,但項目裏面不少處於中斷使用或者乾脆沒有。緣由各類各樣,最後結果是沒有作或者中途中止。開發

常見以下:it

  1. 沒有流程上統一約束,全靠開發自身決定test

  2. 沒有可度量的方式,沒法衡量

  3. 進度緣由放棄,意味着價值比例整體仍是體現佔比較小

  4. 簡單業務crud,很明顯,沒幾行業務代碼,是否值得測試,大量依賴其餘系統的測試又須要不少mock

  5. 集成測試調用外部系統沒法反覆進行,對其餘系統形成的髒數據問題

嘗試改進

經過測試增長代碼質量,這件事自己可能會遇到不少難點,不是搭建一個demo的測試框架就能夠解決。測試可能會促進你代碼的改變,好比mock太多

提供統一框架,僅可能解決一些常見點,但具體問題仍是一個個解決。ATDD要求總體流程配合,先作單元測試與集成測試的交集點。

簡單crud經過測成準備數據解決,複雜邏輯須要單元測試覆蓋,再集成測試僅可能覆蓋。集成測試一些點能夠mock,好比外部調用。

準備結合咱們項目選用測試集成以下:支持動態語言groovy並支持javaspock spring-test H2 junit jersey-test Mockito

相關文章
相關標籤/搜索