Test-driven development overview
The idea of TDD has been around for a while. American software engineer Kent Beck, among others, is credited with leading the TDD movement, along with agile software development. Agile software development requires very short build-test-deploy development cycles; all software requirements are turned into test cases. These test cases are usually written before the code is written, and the software code is only accepted when the test passes.
The same idea can be drawn in parallel with network engineering. For example, when we face the challenge of designing a modern network, we can break the process down into the following steps, from high-level design requirements to the network tests that we can deploy:
- We start with the overall requirement for the new network. Why do we need to design a new network or part of a new network? Maybe it is for new server hardware, a new storage network, or new microservice software architecture.
- The...