Custom Test Servers
We test rigorously on servers which resemble the application's operating environment as closely as possible. This reduces surprises or version incompatibilities during deployment of the application to its new home on the production server.
Automated Unit Tests
We write automated unit tests during and even before we write the code. This ensures that the code works by returning the correct data, fails gracefully when incorrect data is given to it and performs quickly. If the code does not pass these tests, we return to the coding step and correct it. If the code does pass these tests, then we can integrate it into the application with the greatest confidence.
Integration Tests
After the code passes its unit tests, then we test it to ensure it plays well with others. For this, we write another kind of automated tests that make sure this code does what our design says it should.
Acceptance Tests
Once the feature has passed all its tests, we then present it to you for a final review. Duing this review, we will demonstrate the new feature we built and you then certify that it conforms to your needs. If it does not, we will happily re-run the cycle to ensure the feature does just what you need it to do.
Further reading