Great question, great answers.
An additional consideration is that you can prioritize the 120 gui tests: you can run them in the order that the most important ones or those that are most likely to fail, run first. This will not help reduce assembly time, but it will help you get useful feedback from the assembly faster.
This prioritization (your top 10) does not have to be fixed, but can be changed for release / iteration / completed story / day, etc. For example, you can run the latest gui tests first. Or those that have been changed recently. Or those that cover most of the code that was recently modified.
There are no tools for development and completion that immediately support this, as far as I know, although there are quite a few (academic) studies in the area of prioritizing the test.
avandeursen
source share