как-то так:
- сидит дев и пилит какой-то фукционал. локально у него частично или полностью поднята копия проекта для работы
- есть сервер CI (continuous integration), который занимается запуском автоматических тестов и сборкой проекта
- есть testing-сервер, на который выкатывается копия проекта для препарирования людьми из qa, техрайтерами и т.п.
- есть staging-сервер, на который выкатывается предрелизная версия, которая отдается на препарирование кому-то из реальных пользователей
схема обобщенная и упрощенная. в реальности все зависит и от продукта, и от людей, и от того как выстроены процессы в команде/компании.