Historia pytania
Środowiska testowe pojawiły się wraz z rosnącą złożonością produktów IT. Wydzielenie osobnego środowiska pozwala testerom bezpiecznie sprawdzać nową funkcjonalność, nie wpływając na rzeczywistych użytkowników i dane.
Problem
Jeśli testowanie odbywa się w środowisku produkcyjnym (production), mogą wystąpić utraty danych, zakłócenia w procesach biznesowych lub incydenty bezpieczeństwa. Czasami testowe i produkcyjne środowiska różnią się, co powoduje „niewidoczne” błędy — zmiany działają w teście, ale psują się na produkcji (lub odwrotnie).
Rozwiązanie
Organizuje się osobne środowiska do testów (test, staging, pre-prod), maksymalnie odwzorowujące środowisko produkcyjne. Dla testowania manualnego ważne jest rzeczywiste dopasowanie API, danych, konfiguracji i nawet „sprzętu”. Szczególna uwaga poświęcana jest izolacji danych użytkowników, konfiguracji logowania, monitorowania i danych kontrolnych.
Kluczowe cechy:
Czy można używać środowiska produkcyjnego do testowania, jeśli testy są bezpieczne?
Nie, zawsze istnieje ryzyko zakłócenia pracy użytkowników lub „ujawnienia” danych testowych. Nawet „bezpieczne” testy mogą wpłynąć na statystyki lub spowodować obciążenie.
Jaka jest różnica między środowiskiem testowym, staging a pre-prod?
Test — środowisko do głównych testów manualnych i automatycznych, może różnić się danymi. Staging/pre-prod — maksymalnie podobne do produkcji, odwzorowuje infrastrukturę i dane do ostatecznego testowania.
Jakie dane najlepiej używać w środowisku testowym: rzeczywiste, zanonimizowane czy syntetyczne?
Najlepszą opcją są zanonimizowane dane, zbliżone strukturalnie do rzeczywistych. Rzeczywiste dane naruszają bezpieczeństwo, a wyłącznie syntetyczne — nie odzwierciedlają rzeczywistego zachowania.
Testowanie naprawy błędu odbywa się na produkcji, po wydaniu naprawa jest stosowana tylko w środowisku testowym, w rezultacie na produkcji — nowy błąd: klienci masowo składają skargi.
Zalety:
Wady:
Zespół ręcznie sprawdza funkcję na osobnym stagingu, dane testowe są regularnie aktualizowane, testy maksymalnie zbliżone do rzeczywistości.
Zalety:
Wady: