Speeding up a slow build24 Jan 2008
I though it was worth sharing some experience we are having speeding up our very slow build from 1 hour plus to around 10 minutes.
In the past we have spent a lot of time exploring why our tests are slow and have never really come up with a good solution. We're continually extending the test suite, so any savings we make don't last that long.
The unit tests are quick (~40 seconds), but it's the acceptance tests that start up and run the application that are painfully slow.
We decided to group the acceptance tests into small logically grouped test suites that can run in 10 minutes or less. Then we added build agents (each running on a separate machine), so we can run as many of these small test suites in parallel as we can.
Every time the build gets too slow we break them down into smaller chunks and add another build agent. Hardware is cheap so it's easy to sale this solution.
So far this is working really well.