Wiem, że powinniśmy mieć co najmniej 3 różne środowiska podczas opracowywania rozwiązania:
- Programowanie : Programiści mogą dowolnie zmieniać i wypychać zmiany w dowolnym momencie, aby szybko przetestować swój kod i zintegrować się z innymi zmianami, bez obawy, że coś zepsują - jest to związane z bazami danych i usługami TEST;
- UAT : Powinien być traktowany z szacunkiem przez programistów, ponieważ powinien zawierać „możliwie najlepszą” kopię środowiska produkcyjnego w odniesieniu do sprzętu, z tą różnicą, że to środowisko jest podłączone do baz danych UAT z edytowalną kopią danych produkcyjnych - jest wykorzystywany zarówno przez zespół Q&A, jak i użytkowników do sprawdzania poprawności zmian wprowadzonych do produkcji
- Produkcja : prawdziwa okazja.
Przyjrzałem się temu pytaniu na temat SoftwareEngineering i temu pytaniu na ServerFault. Wydaje się , że różnią się one co do znaczenia środowiska przejściowego. Ponadto strona Wikipedii na ten temat stwierdza, że:
Podstawowym zastosowaniem środowiska pomostowego jest przetestowanie wszystkich skryptów i procedur instalacji / konfiguracji / migracji, zanim zostaną one zastosowane w środowisku produkcyjnym. Zapewnia to, że wszystkie główne i drobne aktualizacje środowiska produkcyjnego zostaną wykonane niezawodnie bez błędów, w jak najkrótszym czasie.
Dla mnie Staging jest równy UAT, gdzie musisz przetestować procedury aplikacji i wdrażania przed przejściem do prawdziwego świata. Tak więc pchamy pakiet ze zmianami do UAT w ten sam sposób, w jaki pchamy do produkcji, w pełni zautomatyzowany i przy całej ceremonii, jaką powinniśmy odbyć w środowisku produkcyjnym.
Biorąc to pod uwagę, jaka jest właściwa różnica między środowiskiem UAT a środowiskiem przejściowym?
-
EDYCJA: Żeby było jasne, myślę o aplikacji internetowej, czy to o stronie internetowej, czy o intranecie. Brak aplikacji „formularzy” lub aplikacji mobilnej.
Odpowiedzi:
Różnica polega na danych.
Środowisko UAT jest skonfigurowane do „akceptacji przez użytkownika” nowej funkcjonalności. W celu przetestowania tej funkcji QA lub interesariusze mogą skonfigurować profile użytkowników w określony sposób w celu korzystania z określonych funkcji lub mogą skonfigurować fałszywe produkty lub konfiguracje, aby je sprawdzić.
Środowisko przejściowe jest często konfigurowane z kopią danych produkcyjnych, czasem anonimową. Niektóre korporacje regularnie „odświeżają” swoją bazę danych pomostowych na podstawie migawki produkcyjnej. Głównym celem jest upewnienie się, że aplikacja będzie działać w środowisku produkcyjnym w taki sam sposób, jak działała w UAT. Zamiast konfigurować dane od nowa, testerzy przeszukają bazę danych w poszukiwaniu profili i produktów pasujących do podstawowego zestawu przypadków testowych. Często „prawdziwe” dane zawierają dziwactwa, które powodują nieoczekiwane przypadki brzegowe, które zostały pominięte podczas UAT. Ponadto wszelkie testy migracji danych musiałyby odbywać się w środowisku testowym.
źródło
Definicja użycia jest tutaj bardzo szeroka i może obejmować wszelkiego rodzaju rzeczy, od pewnej zmiany konfiguracji dokonanej przez użytkowników końcowych do kosztownej funkcji infrastruktury niedostępnej w środowisku UAT. Co ważne, wersja oprogramowania na etapie może być nowa lub aktualna, ale zawsze taka, która już przeszła akceptację.
Innymi słowy:
Uwaga: jak zostało to przedstawione w samym pytaniu, istnieje różne rozumienie „środowiska przejściowego”, a stosowane w firmie / środowisku może być inne.
źródło
Korzystanie z tych różnych środowisk naprawdę zależy od twoich potrzeb. Z twojego komentarza, że „staging == UAT”, brzmi to tak, jakbyś miał bardzo małą aplikację bez zespołu kontroli jakości i tylko kilku programistów.
Większe środowiska aplikacji mogą mieć środowisko testowe integracji, a także środowisko kontroli jakości, pierwsze, w którym programiści przeprowadzają testy integracji, a drugie, w którym zespół kontroli jakości przeprowadza testy. Może istnieć środowisko szkoleniowe, które ma dane zapasów, które są przywracane przed każdą sesją szkoleniową. Środowisko przemieszczania będzie kontrolowane przez zespół operacyjny, aby zapewnić prawidłowe wdrożenie. Zespół klienta użyłby środowiska testu akceptacji użytkownika (UAT). Może również istnieć środowisko migawki produkcyjnej do odtwarzania problemów klientów.
Moim celem jest uważanie na pojedynczy punkt widzenia podczas określania potrzebnych środowisk.
źródło
UAT oznacza „ Test akceptacji użytkownika ” i jest środowiskiem, w którym przeprowadzane są testy akceptacji użytkownika. Zwróć uwagę na nacisk na użytkownika - Twoje testy QA są inne, UAT jest szansą dla rzeczywistych użytkowników (lub przynajmniej twojego zespołu szkoleniowego, sprzedaży, personelu wsparcia itp.), Aby wypróbować nowe funkcje i ocenić oprogramowanie przed jego wdrożeniem w ich systemy produkcyjne.
Co to dokładnie będzie zależeć od twoich procesów:
W zakresie ciągłego wdrażania / ciągłego dostarczania środowisko testowe jest używane do testowania oprogramowania w środowisku „produkcyjnym”, ponieważ jest prawdopodobne, że programiści będą pracować w środowisku o znacznych różnicach w produkcji (np. Brak równoważenia obciążenia, mniejszy zbiór danych itp ...)
źródło