We have substantial expertise in the implementation of Test Driven Development (TDD), which we regard as the cornerstone to our development philosophy. Following a TDD process allows us to productively develop robust, maintainable applications.
The key features of our TDD process:
Because testing is such an important part of our development process, it informs the low-level design of applications we build. We find that testable code is usually good code and is modular, easy to read, and maintainable. Wherever possible we use application development frameworks which are amenable to testing.
We recommend the use of a dependency injection framework to optimise an application architecture for TDD.