в сложных проектах двольно интересно и сложно придумать/развивать/поддерживать архитектуру тестов, которые будут тестировать приложение. например когда тесты сами это приложение поднимают, настраивают и управляют им. это конечно же не кнопочки в селениуме на готовом стенде тыкать)