在平常工做中发现契约致使的沟通问题不少。另外因为契约定义不严谨,致使线上Bug的出现也时有发生。好比忽略字段长度,致使数据落库失败。由点到面梳理问题以下表:数组
问题 | 开发阶段 | 测试阶段 | 运行阶段 | 后期迭代 |
---|---|---|---|---|
契约不严谨 | 1.增长了开发人员的理解成本 2.增长了契约相关方的沟通成本 3.这种状况下,再缺乏沟通的话,各相关方按照本身的理解开发致使后期联调成本增长。 |
1.增长了测试人员的理解成本 2.增长了测试与开发的沟通成本 |
服务不健壮 | 1.增长了产品的理解成本 2.增长了产品与开发的沟通成本 |
服务契约与文档契约不一致 | 1.增长了联调成本 2.致使联调时某一方的返工 |
1.增长测试与开发的沟通成本 2.致使测试用例的返工 |
服务不健壮 | 1.增长了产品的理解成本 2.增长了产品与开发的沟通成本 |
契约改动通知不到位 | 1.增长了联调成本 2.致使联调时某一方的返工 |
1.增长测试与开发的沟通成本 2.致使测试用例的返工 |
线上故障 | |
契约信任 | 1.契约验证开发成本 2.契约验证维护成本 |
契约相关的测试成本 |
另外,还存在职责问题,例如:架构
服务提供者的问题,被客户端发现。而客户端对这种非自身问题关注是不够的,致使问题不被重视。测试
服务契约的治理是一个工程性问题,本着规范流程,固化最佳实践的目的,设计以下:spa
一个健壮契约的元数据:设计
架构思惟修炼blog