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.

Testowanie od końca do końca

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.

Proces testowania END-to-END

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.

Odwiedź testRigor >>

Jak tworzyć kompleksowe przypadki testowe?

Twórz kompleksowe przypadki testowe
Kompleksowe przypadki testowe

Struktura projektowania testów kompleksowych składa się z trzech części

  1. Twórz funkcje użytkownika
  2. Warunki budowy
  3. 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)

  1. Zaloguj się do systemu bankowego
  2. Sprawdź kwotę salda na koncie
  3. Przelej część kwoty ze swojego konta na inne konto bankowe (3rdpodsystem partyjny)
  4. Sprawdź najnowsze saldo konta
  5. 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.