Test-driven development goes hand in hand with Continuous Integration (CI), Delivery, or Deployment (CD). Differences aside, all three techniques have similar goals. They are all trying to foster continuous verification of production readiness of our code. In that aspect, they are very similar to TDD. They both promote very short development cycles, continuous verification of the code we're producing, and the intention to keep our application continuously in production-ready state.
The scope of this book does not permit us to go into the details of those techniques. Indeed, a whole book could be written on this subject. We'll just briefly explain the differences between the three. Practicing Continuous Integration means that our code is at (almost) all times integrated with the rest of the system and if there is a problem, it will surface quickly. If such a thing happens, the priority is to fix the cause of that problem, meaning that any new...