W mniejszych firmach (nie jest jasne, jak duże jest twoje), wspólne są trzy środowiska (deweloper, scena, produkcja). Większe firmy często mają środowisko kontroli jakości między deweloperem a sceną.
Zwykle dzielą się one w następujący sposób:
dev : Kopiowanie kodu roboczego. Wprowadzane są tutaj zmiany dokonane przez programistów, dzięki czemu można przetestować integrację i funkcje. To środowisko jest szybko aktualizowane i zawiera najnowszą wersję aplikacji.
qa : (Nie wszystkie firmy będą to miały). Środowisko dla zapewnienia jakości; zapewnia to rzadziej zmienianą wersję aplikacji, z którą testerzy mogą przeprowadzać kontrole. Umożliwia to raportowanie wspólnej wersji, dzięki czemu programiści wiedzą, czy określone problemy wykryte przez testerów zostały już usunięte w kodzie programistycznym.
inscenizacja : jest to kandydat do wydania, a to środowisko jest zwykle lustrem środowiska produkcyjnego. Obszar przejściowy zawiera „następną” wersję aplikacji i służy do końcowych testów warunków skrajnych oraz zatwierdzeń klienta / kierownika przed uruchomieniem.
produkcja : Jest to obecnie wydana wersja aplikacji, dostępna dla klienta / użytkowników końcowych. Ta wersja najlepiej się nie zmienia, z wyjątkiem zaplanowanych wydań.
Jestem nieco zaskoczony, że środowisko testowe również nie istnieje, ponieważ jest to miejsce, do którego można przejść kod, zanim awansuje się na etap.
Aby odpowiedzieć na pytanie:
Środowisko sceniczne powinno jak najbardziej odzwierciedlać środowisko produkcyjne.
Służy do weryfikacji procedur wdrażania - upewnienia się, że gdy kod jest gotowy do produkcji, można go wdrożyć bez powodowania problemów.
Oznacza to, że kod przechodzi do przemieszczania - jest to kompleksowo testowane i regresowane, aby zapewnić, że wdrożenie przebiegło zgodnie z planem (i wyeliminować wszelkie problemy, jeśli tak nie było).
źródło
Środowisko sceniczne jest środowiskiem przedprodukcyjnym, które odzwierciedla produkcję. Często może zawierać pewne dane produkcyjne, dzięki czemu grupa testowa złożona z rzeczywistych użytkowników i testerów zapewniania jakości może potwierdzić, że wstępnie wydana baza danych / dane wdrożą się i będą działać poprawnie w środowisku podobnym do produktu, zwykle za pomocą skryptowych przypadków użycia i regresji testy.
Jak zauważa @Oded, zazwyczaj środowisko kontroli jakości jest używane przez testerów kontroli jakości do testowania kodu.
źródło
Moje doświadczenie z rządem USA / Departamentem Obrony IT polega na tym, że:
źródło
Jako web developer, istnieją głównie trzech środowisk do rozważenia praktycznie :
Produkcja : środowisko skonfigurowane do obsługi końcowej wersji produktu skierowanego do użytkowników końcowych. Jest zoptymalizowany pod kątem bezpieczeństwa i wydajności. Jest hostowany na serwerze na żywo. Wymaga ostrzeżonego i pilnego wsparcia. Ma to kluczowe znaczenie dla danych. Dlatego jego dane są regularnie archiwizowane. Obejmuje również zarządzanie ryzykiem i odzyskiwanie po awarii. Środowisko produkcyjne jest skonfigurowane do wyświetlania przyjaznych błędów użytkownikom końcowym.
Przemieszczanie : środowisko skonfigurowane do obsługi kandydata do wydania aplikacji po zadeklarowaniu zawieszenia kodu. Kieruje do kierownika / właściciela projektu wraz z zespołem programistycznym, aby uzgodnić zakres kandydata do wydania. Obejmuje to zapewnienie jakości, a także zespół programistów, aby dokonać ostatecznych poprawek i wyposażenia przed wprowadzeniem do produkcji. Najlepszą praktyką jest naśladowanie środowiska produkcyjnego przy użyciu najnowszych danych dostępnych z aktywnej bazy danych skopiowanej ze środowiska produkcyjnego. Zwykle środowisko przejściowe jest dostępne tylko dla wewnętrznego zespołu i interesariuszy, dlatego jest ono zabezpieczone na serwerze publicznym lub opublikowane w środowisku intranetowym, jeśli wszyscy interesariusze mogą uzyskać dostęp do sieci lokalnej. Środowisko przemieszczania jest skonfigurowane do wyświetlania średnich lub pełnych błędów technicznych.
Programowanie : Prywatne środowisko skonfigurowane przez jednego programistę na jego maszynie do sprawdzania własnej pracy podczas cyklu programowania, zwykle zwanego sprintem w środowisku scrum. Środowisko programistyczne jest skonfigurowane do wyświetlania pełnych błędów technicznych.
źródło