В чем разница между промежуточной и UAT средой?

10

Я знаю, что при разработке решения у нас должно быть как минимум 3 разных среды:

  • Разработка : программисты могут свободно вносить изменения и вносить изменения в любое время, чтобы быстро протестировать свой код и интегрироваться с другими изменениями, не боясь что-либо сломать - это связано с базами данных и сервисами TEST;
  • UAT : Разработчики должны относиться с уважением, поскольку они должны содержать «как можно более качественную» копию производственной среды, касающейся аппаратного обеспечения, с той разницей, что эта среда связана с базами данных UAT с редактируемой копией производственных данных - он используется как командой Q & A, так и пользователями для проверки изменений, которые пойдут в производство
  • Производство : реальная сделка.

Я рассмотрел этот вопрос о SoftwareEngineering и этот вопрос о ServerFault , и они, похоже, расходятся во мнении о том, что означает промежуточная среда. Кроме того, страница Википедии о предмете заявляет, что:

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

Для меня Staging - это UAT, где вы должны протестировать приложение и процедуры развертывания, прежде чем переходить в реальный мир. Таким образом, мы отправляем пакет с изменениями в UAT так же, как мы запускаем производство, полностью автоматизированное и со всей церемонией, которую мы должны иметь в производственной среде.

При этом, какова правильная разница между средой UAT и промежуточной средой?

-

РЕДАКТИРОВАТЬ: Просто чтобы быть ясно, я думаю, с точки зрения веб-приложения, будь то веб-сайт в Интернете или интранет-сайт. Нет "форм" приложение или мобильное приложение.

Мачадо
источник
4
Я хочу, чтобы больше людей учитывалось, но это, по-видимому, в первую очередь основано на мнении. В моей нынешней среде Staging и UAT разные. UAT - это живая общедоступная среда, которая синхронизируется с производственными развертываниями, но с другой загрузкой данных, что позволяет пользователям поиграть с программным обеспечением. Мы называем это средой Sandbox для пользователей. Этап является частным местом для тестирования развертывания и изменений инфраструктуры перед их запуском в Production и UAT. У клиентов есть обязательства по доступности и использованию UAT, но не по подготовке. Другие компании, вероятно, будут другими.
Томас Оуэнс
@ThomasOwens, суть в том, что обе среды различны, и для некоторых людей это кажется одним, а для других - другим. В вопросе о сбое сервера говорилось, что вы используете поэтапное указание на производственные онлайн-данные и просто «переключаетесь», что, на мой взгляд, является интересным подходом, но оно отличается от того, что вы говорите.
Мачадо,
2
Тот факт, что для одних это одно, а для других - что-то другое, делает это в первую очередь основанным на мнении - ответа нет. Я еще не нажал на курок, чтобы закрыть его, на случай, если я ошибаюсь. Это хорошо написанный вопрос, и там может быть стандартное определение. Теперь, если люди предпочитают игнорировать это стандартное определение и использовать свое собственное, это другая история.
Томас Оуэнс
@ThomasOwens, честное заявление. Если вы не возражаете, давайте оставим это открытым в течение пары дней, и если он породит только основанные на мнении ответы, я с удовольствием проголосую, чтобы закрыть с вами. :)
Мачадо
@ThomasOwens согласилась, я чувствую, что этот вопрос также несколько субъективен в том, что люди называют постановкой. Наш UAT и промежуточная среда - это «одно и то же», но это потому, что у нас много выпусков, поэтому, когда мы готовы к выпуску, мы берем промежуточную среду и готовим ее к выпуску для UAT. Разработчики, которые работают над своими вещами, по-прежнему могут использовать ветки функций в нашей рабочей среде, поэтому они не блокируют их.
августу

Ответы:

10

Разница в данных.

Среда UAT настроена на «принятие пользователем» новых функций. Чтобы протестировать эту функциональность, QA или заинтересованные стороны могут настраивать профили пользователей определенным образом, чтобы использовать определенные функции, или могут устанавливать фиктивные продукты или конфигурации, чтобы проверить их все.

Промежуточная среда часто создается с копией производственных данных, иногда анонимной. Некоторые корпорации регулярно «обновляют» свою промежуточную базу данных из рабочего снимка. Основной задачей является обеспечение того, чтобы приложение работало в рабочей среде так же, как оно работало в UAT. Вместо того, чтобы заново настраивать данные, тестеры будут искать в базе данных профили и продукты, которые соответствуют необходимому набору тестовых случаев. Часто «реальные» данные содержат причуды, которые приводят к неожиданным крайним случаям, которые были пропущены во время UAT. Кроме того, любое тестирование миграции данных должно проводиться в промежуточной среде.

Джон Ву
источник
1
| Environment | Software version  | Way of usage of software |
 ------------- ------------------- --------------------------
| UAT         | New               | Same as production       |
| Staging     | New or production | New for this version     |

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

Другими словами:

  • UAT существует, чтобы доказать, что новая версия программного продукта будет работать, если используется так же, как и текущая версия.
  • Этап существует, чтобы доказать, что новый способ использования программного продукта с некоторой принятой версией программного продукта будет работать так же, как и использование текущей версии программного продукта в настоящее время.

Примечание. Как было показано в самом вопросе, «промежуточная среда» по-разному понимается, и используемая в вашей компании / среде может отличаться.

Влад
источник
0

Использование этих различных сред действительно зависит от ваших потребностей. Из вашего комментария, что "staging == UAT", это звучит очень похоже на то, что у вас очень маленькое приложение без команды QA и только пара разработчиков.

В больших прикладных средах может быть среда тестирования интеграции, а также среда QA: первая, где разработчики проводят свои интеграционные тесты, и вторая, где команда QA проводит свои тесты. Может существовать учебная среда, в которой имеются данные о запасах, которые восстанавливаются перед каждой тренировкой. Рабочая среда будет находиться под контролем операционной команды, чтобы обеспечить правильное развертывание. Среда пользовательского приемочного тестирования (UAT) будет использоваться командой заказчика. Также может быть среда для создания моментальных снимков для воспроизведения проблем клиентов.

Моя точка зрения состоит в том, чтобы остерегаться единой точки зрения при определении необходимых вам сред.

BobDalgleish
источник
Похоже, что у вас есть 3 разные тестовые среды с разными целями, но все же тестовые среды: 1, ориентированная на вопросы и ответы, 1, ориентированная на разработчиков, и одна, ориентированная на оперативную группу. Но все они все еще являются средами тестирования и привязаны, например, к тестовым базам данных. Это правильно или я что-то упустил?
Мачадо,
Каждый из них будет привязан к своим базам данных, да.
BobDalgleish
-1

UAT означает « Пользовательское приемочное тестирование» и является средой, в которой проводится пользовательское приемочное тестирование. Обратите внимание на упор на пользователя - ваше тестирование качества отличается, UAT - это шанс для реальных пользователей (или, по крайней мере, для вашей команды обучения, отдела продаж, службы поддержки и т. Д.) Попробовать новые функции и оценить программное обеспечение перед его развертыванием в их производственные системы.

Что именно это означает, будет зависеть от ваших процессов:

  • UAT (среда) может быть «на одном уровне» с производством и, по сути, является песочницей, с которой пользователи могут попробовать новые функции.
  • UAT (среда) может быть «впереди» производства, поэтому новые функции не будут внедрены в производство, пока они не будут оценены. (Я не заинтересован в таком подходе, так как это обязательно означает, что у вас есть больше времени выполнения заказа).
  • Если у вас мультитенантная система, вам может даже не потребоваться среда UAT, вместо этого вы можете выбрать, чтобы пользователи оценивали новые функции в производственных системах, используя флаги функций.

С точки зрения непрерывного развертывания / непрерывной доставки, промежуточная среда используется для тестирования программного обеспечения в «производственной» среде, поскольку вполне вероятно, что разработчики будут работать в среде со значительными различиями в производстве (например, без балансировки нагрузки, меньшая набор данных и т.д ...)

Джастин
источник