Яка різниця між стадійними та UAT-середовищами?


10

Я знаю, що ми повинні мати принаймні 3 різних середовища під час розробки рішення:

  • Розвиток : Програмісти можуть будь-коли змінювати та натискати на зміни, щоб швидко протестувати свій код та інтегруватися з іншими змінами, не боячись щось порушити - це пов'язано з базами даних та послугами TEST;
  • UAT : До розробників слід ставитися з повагою, оскільки він повинен містити "якомога кращу" копію виробничого середовища щодо обладнання, з тією різницею, що це середовище підключено до баз даних UAT з редагованою копією виробничих даних - його використовують як команда Q&A, так і користувачі, щоб перевірити зміни, які будуть спрямовані на виробництво
  • Виробництво : реальна угода.

Я розглянув це питання на SoftwareEngineering і це питання на ServerFault , і вони, схоже, відрізняються від того, що означає Постановочне середовище. Також на сторінці Вікіпедії про цю тему зазначено:

Основне використання поетапного середовища полягає у тестуванні всіх сценаріїв та процедур встановлення / конфігурації / міграції, перш ніж вони застосовуються до виробничого середовища. Це забезпечує, що всі основні та незначні оновлення виробничого середовища будуть завершені надійно без помилок, за мінімальний час.

Для мене Staging дорівнює UAT, де ви повинні перевірити процедури застосування та розгортання перед тим, як натиснути на реальний світ. Таким чином, ми підштовхуємо пакет із змінами до UAT так само, як ми спрямовуємось до виробництва, повністю автоматизовані та з усією церемонією, яку ми повинні мати із виробничим середовищем.

Як це сказано, у чому полягає правильна різниця між середовищем UAT та стадіонним середовищем?

-

EDIT: Просто для того, щоб було зрозуміло, я думаю про веб-додаток, будь то веб-сайт або веб-сайт інтранет. Немає додатка "форми" чи мобільного додатка.


4
Я хочу, щоб більше людей зважилося, але це, здається, в першу чергу засноване на думках. У моєму теперішньому середовищі постановка та UAT відрізняються. UAT - це живе, публічне середовище, яке синхронізується з виробничими розгортаннями, але з різним завантаженням даних, що дозволяє користувачам пограти з програмним забезпеченням. Ми називаємо це середовищем пісочниці для користувачів. Постановка - це приватне місце для тестування розгортання та змін інфраструктури, перш ніж запускати їх у виробництво та 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). Можливо, також існує середовище виготовлення знімків для відтворення проблем із клієнтами.

Моя суть полягає в тому, щоб остерігатися єдиної точки зору, визначаючи необхідні умови.


Здається, що у вас є 3 різних тестових середовища з різними цілями, але все ж тестові середовища: 1 орієнтований на питання Q&A, 1 - на розробників і один - на оперативну команду. Але всі вони все ще тестують середовища, наприклад, прив'язані до тестових баз даних. Це правильно чи я щось пропускаю?
Мачадо

Кожен з них буде прив’язаний до власних баз даних, так.
BobDalgleish

-1

UAT означає « Тестування прийняття користувача » і є середовищем, в якому проводиться тестування прийняття користувача. Зауважте, що акцент робиться на користувачів - тестування на якість Q інше, UAT - це можливість фактичним користувачам (або, принаймні, вашій навчальній команді, продажам, обслуговуючому персоналу тощо ...) спробувати нові функції та оцінити програмне забезпечення до його розгортання. їх виробничі системи.

Що саме це означає, буде залежати від ваших процесів:

  • UAT (навколишнє середовище) може бути "рівним" у виробництві, і по суті є пісочницею для користувачів, які можуть спробувати нові функції.
  • UAT (навколишнє середовище) може бути «випередити» виробництво, так що нові функції не будуть розгорнуті у виробництві до тих пір, поки вони не будуть оцінені. (Я не захоплююсь таким підходом, оскільки це обов'язково означає, що у вас більше часу).
  • У вас є система з багатьма орендарями, можливо, вам навіть не потрібне середовище UAT, натомість ви можете вибрати, щоб користувачі оцінювали нові функції у виробничих системах, використовуючи прапорці функцій.

Що стосується безперервної розгортання / безперервної доставки, то середовище постановки використовується для тестування програмного забезпечення в "виробничому" середовищі, оскільки ймовірно, що розробники працюватимуть у середовищі зі значними відмінностями від виробництва (наприклад, відсутність балансування навантаження, менший набір даних тощо ...)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.