簡體   English   中英

構建失敗的原因

[英]Reasons to fail a build

作為一名構建工程師,我一直在尋找新的有趣的方法來改進我們的構建過程 - 包括尋找新的和有趣的方法來使我們的構建失敗!

我還沒有找到構建失敗的原因的規范列表...所以我認為是時候創建一個了。 考慮到這一點:

什么構建時間檢查 - 既明顯又有創意 - 您是否看到過失敗的構建?

  • 編譯失敗
  • 單元測試
  • 集成測試
  • 系統測試
  • 命名約定
  • 代碼質量
  • 回歸測試

Build中未經批准的簽到。 簽入的代碼之類的東西與工作項或錯誤修復無關。

  • 編譯失敗
    • 生產代碼
    • 測試課程
  • 任何類型的測試失敗:
    • 單元測試
    • 集成測試
    • 功能測試
    • 性能測試
  • 不符合質量檢查:
    • 編碼慣例(Checkstyle)
    • 測試范圍(Clover,Cobertura等)
    • 錯誤模式檢測(FindBugs,PMD,Hammurapi)
    • 復制粘貼檢測(CPD,Symian)
    • 二進制兼容性(Clirr)

單元測試失敗。

代碼未通過自動質量檢查(FxCop等)。

在他的文章介紹持續集成 ,Martin Fowler提出未能運行應用程序的單元測試套件作為構建失敗的一個令人信服的理由。

編譯警告失敗

介紹模塊之間的循環依賴(例如java包)。

我的公司實際上並沒有這樣做,但是像我們這樣的大型遺留代碼庫,在未記錄的更改上失敗會很好。 如果沒有某種類型的錯誤機票,我們的QA部門就不會知道測試這些更改,這太可怕了!

檢查不同jar文件(Java)中的重復類(相同的包和類名)。

nuff說 ,像編輯失敗一樣簡單的東西應該被認為是強制性的。

導致破壞構建的簽入應該是不可接受的,盡管可悲的事實是許多組織確實接受這樣做。

如果編譯失敗:

  • ...你將不會使用或運行二進制文件。
  • ...您無法運行測試和分析以確保其有效。
  • ...您無法進行構建項目所需的任何其他檢查。
  • ...你無法取悅你的客戶,因為你沒有什么可以表現出來的。

為什么? 因為建築物被破壞了

代碼覆蓋率降低或低於可接受的閾值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM