在平常工做中發現契約致使的溝通問題不少。另外因爲契約定義不嚴謹,致使線上Bug的出現也時有發生。好比忽略字段長度,致使數據落庫失敗。由點到面梳理問題以下表:數組
問題 | 開發階段 | 測試階段 | 運行階段 | 後期迭代 |
---|---|---|---|---|
契約不嚴謹 | 1.增長了開發人員的理解成本 2.增長了契約相關方的溝通成本 3.這種狀況下,再缺乏溝通的話,各相關方按照本身的理解開發致使後期聯調成本增長。 |
1.增長了測試人員的理解成本 2.增長了測試與開發的溝通成本 |
服務不健壯 | 1.增長了產品的理解成本 2.增長了產品與開發的溝通成本 |
服務契約與文檔契約不一致 | 1.增長了聯調成本 2.致使聯調時某一方的返工 |
1.增長測試與開發的溝通成本 2.致使測試用例的返工 |
服務不健壯 | 1.增長了產品的理解成本 2.增長了產品與開發的溝通成本 |
契約改動通知不到位 | 1.增長了聯調成本 2.致使聯調時某一方的返工 |
1.增長測試與開發的溝通成本 2.致使測試用例的返工 |
線上故障 | |
契約信任 | 1.契約驗證開發成本 2.契約驗證維護成本 |
契約相關的測試成本 |
另外,還存在職責問題,例如:架構
服務提供者的問題,被客戶端發現。而客戶端對這種非自身問題關注是不夠的,致使問題不被重視。測試
服務契約的治理是一個工程性問題,本着規範流程,固化最佳實踐的目的,設計以下:spa
一個健壯契約的元數據:設計
架構思惟修煉blog