Say I have a project (Rails in my case) where the test suite takes 20 minutes to run. One test fails. I fix the test (or so I think) and then rerun the suite and the test still fails. I basically just wasted 20 minutes waiting for the entire suite to rerun. Ideal I would like the previous failing tests to be run first then the entire suite again as 95% of the time if I am rerunning something I am most concerned about the previously failing tests and those are the most likely to fail again so why not run them first - fail early! This would save me hours a week waiting around only to find out I actually didn't fix the problem. This of course should be a config flag so people can turn it on and off easily. There should be 3 options. 1) How it is now run the suite from start to finish. 1) On rebuild only rerun failing tests, 3) On rebuild run previously failed tests first then entire suite from start to finish.