The effectiveness of a test-first development process is inversely proportional to the execution time of the tests. The execution time of each test can be reduced by orders of magnitude by removing the latency introduced by disk-based I/O. This can be achieved by replacing the disk-based database with an in-memory database. This is most easily done if the application logic works exclusively with objects rather than interacting with the database via SQL. Test development and maintenance effort can be reduced significantly by improving the testing framework. There are a number of issues, but each is surmountable. |