what is end end testing
Co to jest testowanie od końca do końca: Framework testowania E2E z przykładami
Kompleksowe testowanie to metodologia testowania oprogramowania służąca do testowania przepływu aplikacji od początku do końca. Celem testów od końca do końca jest symulacja rzeczywistego scenariusza użytkownika i walidacja testowanego systemu i jego komponentów pod kątem integracji i integralności danych.
Nikt nie chce być znany ze swoich błędów i zaniedbań, tak samo jest w przypadku Testerów. Kiedy Testerom zostaje przypisana aplikacja do testowania, od tego momentu biorą na siebie odpowiedzialność, a aplikacja działa również jako platforma do wykazania ich praktycznej i technicznej wiedzy testowej.
Tak więc, aby opisać to technicznie, aby upewnić się, że testy są wykonane w całości, konieczne jest wykonanie „ Testowanie od końca do końca ' .
W tym samouczku dowiemy się, czym jest testowanie od końca do końca, jak to się robi, dlaczego jest to konieczne, jakie są używane macierze, jak utworzyć koniec do zakończenia określonych przypadków testowych, a także kilka innych ważnych aspektów. Dowiemy się również o testowaniu systemu i porównamy go z testem End to End.
Prawdziwe też => Szkolenie od końca do końca w projekcie na żywo - bezpłatne szkolenie z kontroli jakości online.
Czego się nauczysz:
szybkie sortowanie pseudokod c ++
- Co to jest testowanie od końca do końca?
- Kompleksowe narzędzia testowe
- Jak działa test od końca do końca?
- Metody testowania E2E
- Dlaczego przeprowadzamy testy E2E?
- Struktura projektowania testów E2E
- Zaangażowane wskaźniki
- Wniosek
Co to jest testowanie od końca do końca?
Kompleksowe testowanie to metodologia testowania oprogramowania służąca do testowania przepływu aplikacji od początku do końca. Celem tego testowania jest symulacja scenariusza rzeczywistego użytkownika i weryfikacja testowanego systemu i jego komponentów pod kątem integracji i integralności danych.
Jest wykonywana od początku do końca w rzeczywistych scenariuszach, takich jak komunikacja aplikacji ze sprzętem, siecią, bazą danych i innymi aplikacjami.
Głównym powodem przeprowadzania tych testów jest określenie różnych zależności aplikacji, a także zapewnienie przekazywania dokładnych informacji między różnymi komponentami systemu. Zwykle jest wykonywany po zakończeniu testów funkcjonalnych i systemowych dowolnej aplikacji.
Weźmy przykład Gmaila:
Kompleksowa weryfikacja konta Gmail obejmuje następujące kroki:
- Uruchomienie strony logowania do Gmaila za pośrednictwem adresu URL.
- Logowanie się na konto Gmail przy użyciu ważnych poświadczeń.
- Dostęp do skrzynki odbiorczej. Otwieranie przeczytanych i nieprzeczytanych wiadomości e-mail.
- Tworzenie nowej wiadomości e-mail, odpowiedź lub przekazanie wiadomości e-mail.
- Otwieranie wysłanych elementów i sprawdzanie wiadomości e-mail.
- Sprawdzanie wiadomości e-mail w folderze Spam
- Wylogowywanie się z aplikacji Gmail przez kliknięcie „wyloguj”
Kompleksowe narzędzia testowe
Zalecane narzędzie:
# 1) TestCraft
Zalecamy korzystanie z kompleksowego narzędzia do automatyzacji testów, takiego jak TestCraft.
TestCraft to bezkodowa platforma automatyzacji testów Selenium. Jego rewolucyjna technologia sztucznej inteligencji i unikalne modelowanie wizualne pozwalają na szybsze tworzenie i wykonywanie testów, eliminując jednocześnie koszty utrzymania testów.
Testerzy tworzą w pełni zautomatyzowane scenariusze testów bez kodowania. Klienci szybciej znajdują błędy, publikują częściej, integrują się z podejściem CI / CD i poprawiają ogólną jakość swoich produktów cyfrowych. To wszystko tworzy kompletne doświadczenie testowe od końca do końca.
=> Odwiedź witrynę TestCraft
Jak działa test od końca do końca?
Aby zrozumieć nieco więcej, dowiedzmy się Jak to działa?
Weźprzykładsektora bankowego. Niewielu z nas musiało tego spróbować Dyby. Kiedy posiadacz konta Demat kupi jakąkolwiek akcję, określony procent kwoty zostanie przekazany brokerowi. Gdy akcjonariusz sprzedaje ten udział, niezależnie od tego, czy osiągnie zysk, czy stratę, określony procent kwoty jest następnie ponownie przekazywany maklerowi. Wszystkie te transakcje są odzwierciedlane i zarządzane na kontach. Cały proces obejmuje zarządzanie ryzykiem.
Kiedy spojrzymy na powyższy przykład, mając na uwadze test od końca do końca, przekonamy się, że cały proces obejmuje wiele liczb, a także różne poziomy transakcji. Cały proces obejmuje wiele systemów, które mogą być trudne do przetestowania.
Metody testowania E2E
# 1) Test poziomy:
Ta metoda jest używana bardzo często. Występuje poziomo w kontekście wielu aplikacji. Ta metoda może łatwo wystąpić w pojedynczej aplikacji ERP (Enterprise Resource Planning). Weźmy przykład internetowej aplikacji systemu zamówień online. Cały proces będzie obejmował rachunki, stan zapasów produktów, a także szczegóły wysyłki.
# 2) Test pionowy:
W tej metodzie wszystkie transakcje dowolnej aplikacji są weryfikowane i oceniane od początku do końca. Każda pojedyncza warstwa aplikacji jest testowana od góry do dołu. Weź przykład aplikacji internetowej, która używa kodów HTML do uzyskiwania dostępu do serwerów WWW. W takich przypadkach wymagane jest API do generowania kodów SQL w bazie danych. Wszystkie te złożone scenariusze obliczeniowe będą wymagały odpowiedniej walidacji i dedykowanych testów. Dlatego ta metoda jest znacznie trudniejsza.
' Testowanie White Box ' jak również ' Testowanie czarnoskrzynkowe ' oba są związane z tym testowaniem. Innymi słowy, możemy powiedzieć, że jest to połączenie zalet testów białoskrzynkowych i testów czarnoskrzynkowych. W zależności od rodzaju opracowywanego oprogramowania, na różnych poziomach, w razie potrzeby stosuje się obie techniki testowania, tj. Testowanie białoskrzynkowe i testowanie czarnoskrzynkowe. Zasadniczo test od końca do końca sprawdza się zarówno pod względem funkcjonalnym, jak i architektonicznym dla dowolnego oprogramowania lub programów w celu walidacji funkcji systemu.
Testerzy jak weryfikacja od końca do końca, ponieważ pisanie przypadków testowych od użytkownika ' perspektywie iw realnym scenariuszu pozwala uniknąć dwóch typowych błędów, tj. ' brakuje błędu ' i ' pisanie przypadków testowych, które nie weryfikują rzeczywistych scenariuszy ' . Daje to testerom ogromne poczucie spełnienia.
Poniżej wymieniono kilka wskazówek, o których należy pamiętać podczas projektowania przypadków testowych do wykonywania tego typu testów:
- Przypadki testowe należy projektować z perspektywy użytkownika końcowego.
- Powinien skupić się na testowaniu niektórych istniejących funkcji systemu.
- Podczas tworzenia wielu przypadków testowych należy wziąć pod uwagę wiele scenariuszy.
- Należy tworzyć różne zestawy przypadków testowych, aby skupić się na wielu scenariuszach systemu.
Ponieważ wykonujemy dowolne przypadki testowe, podobnie jest z tym testowaniem. Jeśli przypadki testowe mają wynik pozytywny, tj. Otrzymujemy oczekiwany wynik, mówi się, że system pomyślnie przeszedł test od końca do końca. Podobnie, jeśli system nie daje pożądanego wyniku, wymagane jest ponowne przetestowanie przypadku testowego z uwzględnieniem obszarów awarii.
Dlaczego przeprowadzamy testy E2E?
W obecnym scenariuszu, jak również pokazano na powyższym schemacie, nowoczesny system oprogramowania składa się z połączenia z wieloma podsystemami. To spowodowało, że nowoczesne systemy oprogramowania stały się bardzo skomplikowane.
Te podsystemy, o których mówimy, mogą znajdować się w tej samej organizacji lub w wielu przypadkach mogą również należeć do różnych organizacji. Ponadto te podsystemy mogą być nieco podobne lub różne od obecnego systemu. W rezultacie, jeśli wystąpi jakakolwiek awaria lub usterka w jakimkolwiek podsystemie, może to niekorzystnie wpłynąć na cały system oprogramowania, prowadząc do jego załamania.
Tych głównych zagrożeń można uniknąć i można je kontrolować za pomocą tego rodzaju testów:
- Sprawdź i przeprowadź weryfikację przepływu systemu.
- Zwiększ obszar pokrycia testowego wszystkich podsystemów zaangażowanych w system oprogramowania.
- Wykrywa ewentualne problemy z podsystemami, a tym samym zwiększa produktywność całego systemu oprogramowania.
Poniżej wymienione są kilka czynności, które są zawarte w procesie od końca do końca:
- Dokładne badanie wymagań do wykonania tego testu.
- Właściwy tworzenie środowisk testowych.
- Dokładne badanie wymagań sprzętowych i programowych.
- Opisy wszystkich podsystemów oraz głównego systemu oprogramowania.
- Wymień role i obowiązki wszystkich zaangażowanych systemów i podsystemów.
- Metody badawcze stosowane w ramach tego badania oraz przestrzegane normy, ich opis.
- Projektowanie przypadków testowych oraz śledzenie macierzy wymagań.
- Zarejestruj lub zapisz dane wejściowe i wyjściowe dla każdego systemu.
Struktura projektowania testów E2E
Przyjrzymy się kolejno wszystkim 3 kategoriom:
# 1) Funkcje użytkownika: W ramach budowania Funkcji Użytkownika należy wykonać następujące czynności:
- Wymienienie cech systemów oprogramowania i ich wzajemnie połączonych podsystemów.
- W przypadku dowolnej funkcji śledź wykonywane czynności oraz dane wejściowe i wyjściowe.
- Znajdź relacje, jeśli takie istnieją, między różnymi funkcjami użytkowników.
- Dowiedz się, jakie są różne funkcje użytkownika. jeśli są niezależne lub nadają się do ponownego wykorzystania.
# 2) Warunki: W ramach warunków zabudowy w oparciu o funkcje użytkownika należy wykonać następujące czynności:
- Dla każdej funkcji użytkownika należy przygotować zestaw warunków.
- Czas, warunki danych i inne czynniki wpływające na funkcje użytkownika można uznać za parametry.
# 3) Przypadki testowe: Podczas tworzenia przypadków testowych należy wziąć pod uwagę następujące czynniki:
- Dla każdego scenariusza należy utworzyć jeden lub więcej przypadków testowych, aby przetestować każdą funkcjonalność funkcji użytkownika.
- Każdy warunek powinien być wymieniony jako osobny przypadek testowy.
Zaangażowane wskaźniki
Przechodzenie do następnych ważnych czynności lub wskaźników związanych z tym testowaniem :
- Stan przygotowania przypadku testowego: Można to śledzić w postaci wykresu przedstawiającego postęp planowanych przypadków testowych, które są w przygotowaniu.
- Cotygodniowe śledzenie postępu testu: Obejmuje to tygodniową reprezentację postępu wykonywania przypadków testowych. Może to być odzwierciedlone poprzez reprezentację procentową dla przypadków zaliczenia, niepowodzenia, wykonania, niewykonania, nieprawidłowości itp.
- Stan i szczegółowy raport dotyczący usterek: Raport o stanie powinien być przygotowywany codziennie, aby pokazać stan wykonania przypadku testowego, a także wykryte i zarejestrowane defekty według ich wagi. Co tydzień należy obliczyć procent otwartych i zamkniętych usterek. Ponadto, na podstawie wagi i priorytetu defektów, status defektów powinien być śledzony co tydzień.
- Środowisko testowe: Pozwala to śledzić przydzielony czas trwania środowiska testowego, a także czas faktycznie wykorzystany podczas wykonywania testów.
Prawie widzieliśmy wszystkie aspekty tego testu. Teraz pozwól nam Rozróżniać ' Testowanie systemu ' i ' Testowanie od końca do końca ' . Ale zanim to nastąpi, przedstawię podstawowe pojęcie „testowania systemu”, abyśmy mogli łatwo odróżnić te dwie formy Testowanie oprogramowania .
Testowanie systemu to forma testowania, która obejmuje serię różnych testów, których celem jest przeprowadzenie pełnego testowania zintegrowanego systemu. Testowanie systemu jest w zasadzie formą testowania czarnoskrzynkowego, w którym nacisk kładzie się na zewnętrzne działanie systemów oprogramowania z punktu widzenia użytkownika, biorąc pod uwagę rzeczywiste warunki.
Testowanie systemu obejmuje:
- Testowanie w pełni zintegrowanej aplikacji, w tym systemu głównego.
- Określ, czy komponenty współdziałają ze sobą oraz w systemie.
- Sprawdź żądane wyjście na podstawie dostarczonych danych wejściowych.
- Analiza doświadczeń użytkownika podczas korzystania z różnych aspektów aplikacji.
Powyżej widzieliśmy podstawowy opis testowania systemu, aby to zrozumieć. Teraz przyjrzymy się różnicom między „testowaniem systemu” a „testowaniem od początku do końca”.
S.No. | Testowanie od końca do końca | Testowanie systemu |
---|---|---|
jeden | Sprawdza zarówno główny system oprogramowania, jak i wszystkie połączone systemy podrzędne. | Zgodnie ze specyfikacjami podanymi w dokumencie wymagań, po prostu weryfikuje system oprogramowania. |
dwa | Główny nacisk kładziony jest na weryfikację przebiegu procesu testowania od końca do końca. | Główny nacisk kładzie się na weryfikację i sprawdzenie cech i funkcjonalności systemu oprogramowania. |
3 | Podczas testowania brane są pod uwagę wszystkie interfejsy, w tym procesy backendowe systemu oprogramowania. | Podczas testowania brane są pod uwagę tylko obszary funkcjonalne i niefunkcjonalne oraz ich cechy. |
4 | Testowanie od końca do końca jest wykonywane / wykonywane po zakończeniu testowania systemu dowolnego systemu oprogramowania. | Testowanie systemu jest zasadniczo wykonywane po zakończeniu testów integracyjnych systemu oprogramowania. |
5 | Testowanie ręczne jest najczęściej preferowane do przeprowadzania testów od końca do końca, ponieważ ta forma testowania obejmuje testowanie zewnętrznych interfejsów, które również mogą być czasami bardzo trudne do zautomatyzowania. I sprawi, że cały proces będzie bardzo skomplikowany. | W ramach testów systemowych można wykonywać zarówno testy ręczne, jak i automatyczne. |
Wniosek
Mam nadzieję, że nauczyłeś się różnych aspektów testów end-to-end, takich jak procesy, metryki i różnica między testowaniem systemowym a testowaniem end-to-end.
W przypadku każdej komercyjnej wersji oprogramowania weryfikacja End to End odgrywa ważną rolę, ponieważ testuje całą aplikację w środowisku, które dokładnie imituje rzeczywistych użytkowników, takich jak komunikacja sieciowa, interakcja z bazą danych itp.
Przeważnie testy end-to-end są wykonywane ręcznie, ponieważ koszt automatyzacji takich przypadków testowych jest zbyt wysoki, aby mógł go na to pozwolić każda organizacja. Jest to korzystne nie tylko dla walidacji systemu, ale może być również przydatne do testowania integracji zewnętrznej.
Daj nam znać, jeśli masz pytania dotyczące testu od początku do końca.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]
- Kluczowe różnice między testami czarnoskrzynkowymi a białoskrzynkowymi
- Testing Primer Pobierz eBook
- Testy funkcjonalne a testy niefunkcjonalne
- Sylabus kursu testowania oprogramowania - szczegółowy plan szkolenia kursu online
- Czym są testy wytrzymałościowe w testowaniu oprogramowania (przykłady)
- Testowanie czarnoskrzynkowe: szczegółowy samouczek z przykładami i technikami
- Co to jest testowanie komponentów lub testowanie modułów (poznaj przykłady)