If I was brought in to help a team who were using this test pack I’d be very worried by that time frame. Testing is about information and having to wait 10 hours is a long time to have to wait for it. Generally, the quicker the tests are, the more they can be run. An ideal is them running on every commit (not just to master).
What stands out for me is not the total time though. Rather, the average time for a single test. An average of 5 minutes is a very long time for one test to run.
Things to look for:
- Is the test ‘clean’ enough? Is it only testing one thing or are there multiple asserts throughout the test?
- Do you need to use Selenium for the whole test? Can you perform the set up (log in, set up data, get to the right screen etc.) using the APIs rather than mouse clicks?
- Can the test be run quicker? Are there a lot of waits in your test that can be removed or made more intelligent?
- Is the test needed? Regular pruning of tests is important to keep the test pack relevant. If the test no longer provides value, remove it.
For the test pack as a whole, I’d look at whether it’s possible to run them in parallel. Also whether the test server itself would run faster with a better CPU, more memory etc.