Tiana, у нас разработчики и тестировщики работают на одном сервере
По опыту работы в нашей компании могу классифицировать выпускаемые версии следующим образом:
1. локальная версия продукта (у разработчика на машине).
2. версия для тестирования на локальном сервере.
3. версия для тестирования на удаленном сервере (таких серверов может быть несколько, к примеру, с различной конфигурацией).
4. Production версия.
Версия 1 - это внутренняя версия и тестировщики (у нас в компании) ее не тестируют. Это неудобно ни разработчикам, ни тестировщикам.
Версия 2 - планируется т.е. заранее известно какие изменения в ней будут, оценочное время проведения изменений и следовательно, дата выпуска такой версии; может выкладываться на тестовый сервер 1-2 раза в неделю (хотя может и реже и чаще, все зависит от характера изменений и работоспособности текущей тестируемой версии).
Версия 3 - также планируется, выкладывается после того, как проведено тестирование на локальном сервере, если результаты тестирования удовлетворительные. При наличии других удаленных серверов, мы последовательно выкладываем версию на каждый из них, для дальнейшего тестирования.
Версия 4 - работоспособная версия для Production Server.
Как видите, много этапов. Данный подход не претендует на статус универсального, но нам он подходит и решает проблемы, связанные с совместной работой программистов и тестировщиков, непредсказуемостью результатов тестирования.