Co to jest testowanie END-to-END? Przykład E2E
Testowanie od końca do końca
Testowanie od końca do końca to metoda testowania oprogramowania, która sprawdza całe oprogramowanie od początku do końca wraz z jego integracją z interfejsami zewnętrznymi. Celem kompleksowych testów jest testowanie całego oprogramowania pod kątem zależności, integralności danych i komunikacji z innymi systemami, interfejsami i bazami danych w celu wykonania pełnego scenariusza przypominającego produkcję.
Wraz z systemem oprogramowania sprawdza także przetwarzanie wsadowe/danych z innych systemów wyższego i niższego szczebla. Stąd nazwa "Koniec końców". Testowanie od końca do końca jest zwykle wykonywane po funkcjonalnym i Testowanie systemu. Wykorzystuje rzeczywiste dane produkcyjne, takie jak dane i środowisko testowe, do symulacji ustawień w czasie rzeczywistym. Testowanie E2E jest również nazywane Testowanie łańcucha.
Dlaczego kompleksowe testowanie?
Testowanie od końca do końca weryfikuje pełny przepływ systemu i zwiększa pewność poprzez wykrywanie i zwiększanie problemów Zasięg testu podsystemów. Nowoczesne systemy oprogramowania są złożone i połączone wieloma podsystemami, które mogą różnić się od obecnych systemów. Cały system może się zawalić z powodu awarii dowolnego podsystemu, co stanowi poważne ryzyko, którego można uniknąć dzięki testowaniu typu End-to-End.
Proces testowania od końca do końca
Poniższy diagram przedstawia przegląd procesu testowania od początku do końca.
Główne działania związane z testowaniem od końca do końca to:
- Badanie kompleksowych wymagań testowych
- Konfiguracja środowiska testowego i wymagania sprzętowe/programowe
- Opisz wszystkie systemy i procesy w ich podsystemach.
- Descriptpodziału ról i odpowiedzialności za wszystkie systemy
- Metodologia i standardy testowania
- Kompleksowe śledzenie wymagań i projektowanie przypadków testowych
- Dane wejściowe i wyjściowe dla każdego systemu
Narzędzie do kompleksowego testowania
testRygor
testRygor jest liderem branży, jeśli chodzi o kompleksowe testowanie. Bezproblemowo twórz testy bez kodu w interfejsie użytkownika sieci Web, natywnych i hybrydowych aplikacjach mobilnych, przeglądarkach mobilnych i interfejsie API. Testuj wiadomości e-mail i SMS, testuj pobrane pliki .XLS, .DOC, .PDF itp. z łatwością.
Cechy:
- Pisz testy bez kodu prostym językiem angielskim.
- Pokrycie Web + Mobile + API w jednym teście. Obsługa wielu platform i przeglądarek.
- Twórz testy 15 razy szybciej w porównaniu do Selenium.
- Zredukuj konserwację testów nawet o 99.5%.
- testRigor jest bezpieczny i zgodny z SOC 2 Typ 2.
- Integracje z CI/CD i zarządzaniem przypadkami testowymi.
- Wykonaj tysiące testów i uzyskaj wyniki w mniej niż 1000 minut.
Jak tworzyć kompleksowe przypadki testowe?
Struktura projektowania testów kompleksowych składa się z trzech części
- Twórz funkcje użytkownika
- Warunki budowy
- Twórz przypadki testowe
Przyjrzyjmy się im szczegółowo: –
Twórz funkcje użytkownika
Następujące czynności powinny zostać wykonane w ramach tworzenia funkcji użytkownika:
- Wypisz cechy systemu i ich wzajemnie połączone komponenty
- Wypisz dane wejściowe, działania i dane wyjściowe dla każdej cechy lub funkcji
- Identyfikacja zależności pomiędzy funkcjami
- Określ, czy funkcja może być wielokrotnego użytku, czy niezależna
Na przykład - Rozważ scenariusz, w którym logujesz się na swoje konto bankowe i przelewasz część pieniędzy na inne konto z innego banku (3rdpodsystem partyjny)
- Zaloguj się do systemu bankowego
- Sprawdź kwotę salda na koncie
- Przelej część kwoty ze swojego konta na inne konto bankowe (3rdpodsystem partyjny)
- Sprawdź najnowsze saldo konta
- Wyloguj się z aplikacji
Twórz warunki w oparciu o funkcję użytkownika
Następujące czynności są wykonywane jako część warunków kompilacji:
- Budowanie zestawu warunków dla każdej zdefiniowanej funkcji użytkownika
- Warunki obejmują sekwencję, czas i warunki danych
Na przykład -Sprawdzanie większej liczby warunków, takich jak
Strona logowania
- Nieprawidłowa nazwa użytkownika i hasło
- Sprawdzanie prawidłowej nazwy użytkownika i hasła
- Sprawdzanie siły hasła
- Sprawdzanie komunikatów o błędach
Kwota salda
- Sprawdź aktualne saldo po 24 godzinach. (Jeśli przelew jest wysyłany do innego banku)
- Sprawdź, czy pojawił się komunikat o błędzie, jeśli kwota przelewu jest większa niż bieżąca kwota salda
Zbuduj scenariusz testowy
Budowanie Scenariusz testowy dla zdefiniowanej funkcji użytkownika
W tym przypadku,
- Zaloguj się do systemu
- Sprawdzenie kwoty salda bankowego
- Przelej kwotę salda bankowego
Twórz wiele przypadków testowych
Zbuduj jeden lub więcej przypadków testowych dla każdego zdefiniowanego scenariusza. Przypadki testowe mogą obejmować każdy warunek jako pojedynczy przypadek testowy.
Metryki dla testów kompleksowych
Poniżej przedstawiono kilka spośród wielu metryk użytych jako przykład testów kompleksowych:
- Stan przygotowania przypadku testowego: Daje postęp w przygotowaniu przypadku testowego w porównaniu z planowanym
- Cotygodniowy postęp testu- Zawiera szczegółowe informacje o procentowym ukończeniu testów dla każdego tygodnia, w tym o nieudanych, niewykonanych i wykonanych w stosunku do zaplanowanych do wykonania testach.
- Status i szczegóły usterek- Podaje procent otwartych i zamkniętych defektów według tygodnia. Ponadto, tygodniowy rozkład defektów na podstawie powagi i priorytetu
- Dostępność środowiska —Całkowita liczba godzin „aktywnych” / Całkowita liczba godzin zaplanowanych na dzień na testy
Testowanie kompleksowe a testowanie systemu
Testowanie od końca do końca | Testowanie systemu |
---|---|
Waliduje system oprogramowania, a także połączone ze sobą podsystemy | Sprawdza tylko system oprogramowania zgodnie ze specyfikacjami wymagań. |
Sprawdza cały przebieg procesu od początku do końca. | Sprawdza funkcjonalność i możliwości systemu. |
Wszystkie interfejsy, systemy backendowe zostaną uwzględnione w testach | Testy funkcjonalne i niefunkcjonalne będą brane pod uwagę podczas testów |
Jest wykonywany po zakończeniu testowania systemu. | Jest wykonywany po Testy integracyjne. |
Testowanie od początku do końca obejmuje sprawdzanie interfejsów zewnętrznych, których automatyzacja może być skomplikowana. Stąd Testowanie ręczne jest preferowany. | Do testowania systemu można przeprowadzić zarówno ręczne, jak i automatyczne |
Podsumowanie
W inżynierii oprogramowania kompleksowe testowanie w testowaniu oprogramowania to proces weryfikacji systemu oprogramowania wraz z jego podsystemami. Największym wyzwaniem w tym testowaniu jest posiadanie wystarczającej wiedzy o całym systemie, jak również o wzajemnie połączonych podsystemach.