Testowanie od końca do końca
End To End Testing to metoda testowania oprogramowania, która weryfikuje całe oprogramowanie od początku do końca wraz z jego integracją z interfejsami zewnętrznymi. Celem testów typu end-to-end 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łnej produkcji, takiej jak scenariusz.
Wraz z systemem oprogramowania weryfikuje również przetwarzanie wsadowe / dane z innych systemów wyższego / niższego szczebla. Stąd nazwa „End-to-End” . Testowanie od końca do końca jest zwykle wykonywane po testach funkcjonalnych i testach systemowych. Wykorzystuje rzeczywistą produkcję, taką jak dane i środowisko testowe, do symulacji ustawień w czasie rzeczywistym. Testowanie od końca do końca jest również nazywane testowaniem łańcuchowym .
Dlaczego testowanie od końca do końca?
Testowanie od końca do końca weryfikuje cały przepływ systemu i zwiększa pewność poprzez wykrywanie problemów i zwiększanie pokrycia testowego podsystemów. Nowoczesne systemy oprogramowania są złożone i połączone z wieloma podsystemami, które mogą różnić się od obecnych systemów. Cały system może się załamać z powodu awarii dowolnego podsystemu, co stanowi poważne ryzyko, którego można uniknąć dzięki testom typu end-to-end.
Proces testowania od końca do końca:
Poniższy diagram przedstawia przegląd procesu testowania od końca do końca.
Główne działania związane z testowaniem od końca do końca to:
- Badanie wymagań dotyczących testów od końca do końca
- Konfiguracja środowiska testowego i wymagania sprzętowe / programowe
- Opisz wszystkie systemy i procesy ich podsystemów.
- Opis ról i obowiązków dla wszystkich systemów
- Metodyka i standardy testowania
- Kompleksowe śledzenie wymagań i projektowanie przypadków testowych
- Dane wejściowe i wyjściowe dla każdego systemu
Jak tworzyć kompleksowe przypadki testowe?
Struktura projektowania testów od końca do końca składa się z trzech części
- Twórz funkcje użytkownika
- Warunki budowy
- Twórz przypadki testowe
Buduj funkcje użytkownika
W ramach budowania funkcji użytkownika należy wykonać następujące czynności:
- Wypisz cechy systemu i połączone z nimi komponenty
- Wymień dane wejściowe, działania i dane wyjściowe dla każdej cechy lub funkcji
- Zidentyfikuj relacje między funkcjami
- Określ, czy funkcja może być wielokrotnego użytku, czy może być niezależna
Na przykład -Consider scenariuszu gdzie zalogować się do swojego konta bankowego i przenieść pieniądze do innego konta z innego banku (3 rd sub-system partyjny)
- Zaloguj się do systemu bankowego
- Sprawdź saldo na koncie
- Przenieść jakąś kwotę z konta do innego konta bankowego (3 rd strona podsystem)
- Sprawdź aktualne saldo konta
- Wyloguj się z aplikacji
Warunki budowy oparte na funkcji użytkownika
W ramach warunków budowy wykonywane są następujące czynności:
- Budowanie zestawu warunków dla każdej zdefiniowanej funkcji użytkownika
- Warunki obejmują sekwencję, czas i warunki danych
Na przykład -Sprawdzenie większej liczby warunków, takich jak
Strona logowania
- Nieprawidłowa nazwa użytkownika i hasło
- Sprawdzanie z poprawną nazwą użytkownika i hasłem
- 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ź komunikat o błędzie, jeśli kwota przelewu jest większa niż bieżąca kwota salda
Zbuduj scenariusz testowy
Budowanie scenariusza testowego dla zdefiniowanej funkcji użytkownika
W tym przypadku,
- Zaloguj się do systemu
- Sprawdź stan konta bankowego
- Przelej saldo konta 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.
Dane do testów od końca do końca:
Poniżej znajduje się kilka z wielu wskaźników używanych do testowania od końca do końca.
- Status przygotowania Przypadku Testowego: Pokazuje postęp przygotowania Przypadku Testowego w stosunku do planowanego
- Cotygodniowy postęp testów - dostarcza tygodniowych szczegółów dotyczących procentowego ukończenia testów - niepowodzenia, niewykonania i wykonania w porównaniu z testami planowanymi do wykonania.
- Status i szczegóły defektów - Podaje procent otwartych i zamkniętych defektów według tygodnia. Ponadto tygodniowa dystrybucja defektów na podstawie wagi i priorytetu
- Dostępność środowiska - całkowita liczba godzin „w górę” / całkowita liczba godzin zaplanowanych dziennie na testowanie
Testowanie od końca do końca a testowanie systemu
Testowanie od końca do końca | Testowanie systemu |
---|---|
Weryfikuje system oprogramowania oraz połączone ze sobą podsystemy | Sprawdza tylko system oprogramowania zgodnie ze specyfikacjami wymagań. |
Sprawdza cały proces od końca do końca. | Sprawdza funkcjonalności i cechy systemu. |
Wszystkie interfejsy, systemy zaplecza będą brane pod uwagę do testowania | Testy funkcjonalne i niefunkcjonalne będą brane pod uwagę przy testowaniu |
Jest wykonywany po zakończeniu testowania systemu. | Jest wykonywany po testach integracji. |
Testowanie od końca do końca obejmuje sprawdzanie zewnętrznych interfejsów, których automatyzacja może być skomplikowana. Dlatego preferowane jest testowanie ręczne. | Do testowania systemu można przeprowadzić zarówno ręczne, jak i zautomatyzowane |
Wniosek
W inżynierii oprogramowania testowanie od końca do końca to proces weryfikujący system oprogramowania wraz z jego podsystemami. Największym wyzwaniem w tych testach jest posiadanie wystarczającej wiedzy na temat całego systemu, a także połączonego ze sobą podsystemu.