Отличный вопрос Я не думаю, что есть «официальный» правильный ответ на это. Это зависит от того, как быстро вы можете проверить.
Существенная проблема заключается в том, что каждое слияние, компиляция или даже развертывание потенциально может создавать ошибку. Чем дальше «цепочка», которую вы тестируете, тем быстрее вы узнаете об ошибках, но и тем больше раз вам придется проходить повторное тестирование.
Чтобы быть уверенным в том, что вы протестировали программное обеспечение, которое используют клиенты, вам действительно необходимо протестировать оперативное развертывание, прежде чем трафик клиентов (при условии веб-приложения) будет направлен на эти серверы по сине-зеленому шаблону развертывания.
Но очевидно, что уже немного поздно, чтобы впервые проверить код!
Если вы тестируете ветку релиза в qa env, тогда вы можете рискнуть и сократить живое тестирование только до дымовых тестов. и применить исправления ошибок к ветке релиза. Но вы не можете оценить, завершена ли функция, прежде чем создавать релиз
Если вы тестируете разработку, вы получаете мини-ветки с исправлениями ошибок. Функции все еще объединяются до их оценки, плюс функции для следующего выпуска могут столкнуться с тестированием текущего выпуска.
Если вы тестируете ветки Feature, вам нужен миллион сред и вы должны согласовать порядок слияний и тестовых подписей. плюс много повторного тестирования.
Из моего опыта я бы порекомендовал:
быстрый тест функциональной ветви на машине разработчика. Просто убедитесь, что его функции завершены, и тестировщики / разработчики согласны с тем, что означают требования.
Ежедневное тестирование / автоматизированное тестирование на ветке разработчика, развернутой на серверах qa. Позволяет протестировать все функции вместе и сказать, когда вы будете готовы к выпуску.
Если все функции включены, но тестирование еще не завершено. например, спринт завершен. создайте ветку релиза и разверните ее во второй среде. Это позволяет продолжить исправление ошибок / тестирование в выпуске 1 одновременно с функциями для выпуска 2.
(преданные Scrum скажут, что вы должны вносить только исправления ошибок в спринт 2, но давайте будем практичны)
Дымовые тесты на живом зеленом / синем развертывании перед переключением. Это очень важно, так как вы обнаружите ошибки конфигурации / среды, которые никто не ищет во время разработки.