Тест предназначен для выполнения шагов обновления и понижения. Вы хотите убедиться, что приложение можно использовать в обоих состояниях. Таким образом, идея заключается в том, чтобы обновить, запустить тесты, понизить версию, запустить тесты и убедиться, что вы ничего не сломали.
Если тестовый прогон не пройден, он дает вам возможность очистить его, сбросить и повторить попытку. Обычно я бы сказал, что тестовый прогон должен быть полностью чистым, прежде чем миграция будет считаться «хорошей» и может быть зафиксирована в кодовой базе.