what is interface testing
Wprowadzenie do testowania interfejsów:
Kiedy tworzona jest aplikacja, oprogramowanie lub witryna internetowa, składa się z kilku elementów. Te komponenty mogą być serwerem, bazą danych itp.
Połączenie, które integruje i ułatwia komunikację między tymi komponentami, nazywane jest interfejsem.
Mówiąc najprościej, interfejs to oprogramowanie składające się z zestawu poleceń, komunikatów itp.
Ten samouczek zawiera pełny przegląd testowania interfejsu wraz z jego potrzebami, typem, strategią, listą kontrolną i niektórymi jego narzędziami w prosty sposób, aby wzbogacić wiedzę o koncepcji.
Czego się nauczysz:
- Wprowadzenie
- Kiedy i dlaczego powinniśmy testować interfejs?
- Rodzaje testowania interfejsów
- Strategia lub podejście do testowania interfejsów
- Różnica między testowaniem interfejsu, integracji i testowaniem komponentów
- Lista kontrolna do testowania interfejsów
- Najlepsze narzędzia do testowania interfejsów
- Wniosek
- rekomendowane lektury
Wprowadzenie
W przypadku komputera interfejsem może być API, usługi sieciowe itp. Komunikacja między różnymi komponentami oprogramowania lub aplikacji lub witryny internetowej może wpływać na ogólną wydajność, stąd ta komunikacja, tj. Interfejs również musi zostać przetestowany i zweryfikowany.
Testowanie wykonywane w celu sprawdzenia funkcjonalności interfejsu nosi nazwę Testowanie interfejsu.
Dwa wspólne elementy testowania interfejsów obejmują:
- Serwer WWW i interfejs serwera aplikacji.
- Serwer bazy danych i interfejs serwera aplikacji.
Kiedy i dlaczego powinniśmy testować interfejs?
Poniżej wymieniono 3 fazy testowania interfejsu w cyklu życia interfejsu:
1) Konfiguracja i rozwój:
Gdy interfejs jest skonfigurowany i po rozpoczęciu programowania, konfiguracje należy zweryfikować zgodnie z wymaganiami.
2) Walidacja:
Po zakończeniu opracowywania interfejs musi zostać zweryfikowany i zweryfikowany, można to również zrobić w ramach testów jednostkowych.
3) Konserwacja:
etl testuje pytania i odpowiedzi na rozmowę kwalifikacyjną dla doświadczonych plików PDF
Gdy całe oprogramowanie jest już gotowe, wdrożone i działa, interfejs musi być monitorowany pod kątem wydajności i wszelkich nowych problemów wprowadzonych w wyniku wprowadzonych zmian lub pogorszenia wydajności.
Rozpoczynając tworzenie interfejsu, musimy upewnić się, że nie wprowadzamy żadnych defektów w naszym kodzie i dlatego testy muszą zostać uruchomione na interfejsie, aby sprawdzić, czy dodanie nowego kodu nie wprowadza żadnych nowych defektów. Pomoże to ustalić, czy interfejs jest wolny od defektów i zgodnie z wymaganiami.
Kiedy jesteśmy zadowoleni z interfejsu, sprawdzamy go pod kątem zamierzonego przepływu pracy, danych itp. Możemy przeprowadzić testy wydajnościowe, ogromne testy danych i sprawdzić, jak dobrze interfejs reaguje. Pozwoli to zaoszczędzić dużo czasu, który zostanie później poświęcony na naprawę usterek.
Krótko mówiąc, testowanie interfejsu ma na celu:
- Aby sprawdzić, czy serwer działa poprawnie.
- Obsługa błędów jest wykonywana prawidłowo, a odpowiednie komunikaty o błędach są wyświetlane dla zapytań wysyłanych przez aplikację lub oprogramowanie.
- Aby sprawdzić wynik po zresetowaniu połączenia z serwerem.
- Aby sprawdzić aspekt bezpieczeństwa, gdy komponenty komunikują się ze sobą.
- Aby sprawdzić wpływ awarii sieci na komunikację między komponentami.
Rodzaje testowania interfejsów
Testowanie interfejsów zasadniczo odbywa się w warstwie komunikacyjnej architektury systemu. Polega na testowaniu REST API lub usługi sieciowej SOAP w formacie JSON lub XML.
Testowanie interfejsu zazwyczaj obejmuje następujące praktyki:
- Testów jednostkowych: Testowanie funkcjonalności każdej pojedynczej operacji (w funkcji).
- Testy funkcjonalności : Testowanie funkcjonalności szerszych scenariuszy obejmujących tworzenie przypadków testowych, walidację, regresję itp.
- Testowanie obciążenia: Sprawdzanie wydajności pod obciążeniem, głównie przy użyciu funkcjonalnych przypadków testowych.
- Testy bezpieczeństwa : Testowanie mechanizmu bezpieczeństwa i obejmuje testy penetracyjne, a także walidację kontroli dostępu, szyfrowania itp.
- Wykrywanie błędów w czasie wykonywania: Monitorowanie aplikacji pod kątem problemów, takich jak wyścig w czasie wykonywania, wyciek zasobów itp.
- Testowanie przepływu pracy: Ma to na celu zapewnienie, czy aparat interfejsu obsługuje przepływ pracy zgodnie z oczekiwaniami.
- Indywidualne systemy: Testy te mają na celu sprawdzenie indywidualności każdego systemu. Podobnie jak system rozliczeniowy i system zarządzania zapasami, powinien być w stanie działać indywidualnie.
Strategia lub podejście do testowania interfejsów
Jak każde inne testowanie, testowanie interfejsu jest równie ważne, ponieważ zapewnia bezproblemowe działanie, wydajność itp. Różnych aplikacji i systemów opartych na danych, poprzez weryfikację komunikacji między bazą danych, sieciami i systemami.
Testowanie interfejsu staje się ważniejsze, gdy weryfikujemy zależności aplikacji z innymi aplikacjami.
Poniżej podano kilka kroków, które zapewniają pomyślne testowanie interfejsu:
1) Określ swoje wymagania:
Przed utworzeniem testów interfejsu konieczne jest zrozumienie aplikacji. Dlatego spróbuj znaleźć odpowiedzi na pytania, takie jak przeznaczenie interfejsu? Jaki jest przepływ pracy systemu lub aplikacji? Jakie są funkcje i cechy interfejsu?
Zdefiniowanie wszystkich takich odpowiedzi pomoże ci zrozumieć wymaganie, znaleźć trudne punkty aplikacji, a następnie odpowiednio stworzyć przypadki testowe. Często podczas kontroli jakości to pomijane, a później prowadzi to do nieporozumień co do wymagań lub nieprawidłowego testowania.
2) Oczekiwany wynik:
Teraz bardzo dobrze znamy i rozumiemy to wymaganie, nadszedł czas na sfinalizowanie wyników, których będziemy oczekiwać po testach. Może to być nie tylko wynik pozytywny lub negatywny, ale może to być niektóre dane, wywołanie innego interfejsu API itp. Mierzenie wyniku oczekiwanego wyniku może być nie tylko trudne, ale także ryzykowne.
Dlatego spróbuj dowiedzieć się, jaki może być wynik, dyskutując z twórcami.
3) Zacznij od małego:
Dzięki testowaniu interfejsu nie możemy bezpośrednio przejść do tworzenia dużych przypadków testowych, tworzenie małych przypadków testowych lub wywołań jest stosunkowo proste. Przynajmniej w przypadku małych funkcji utwórz mały kod testowy i sprawdź, czy dane wyjściowe są zgodne z oczekiwaniami, czy nie.
4) Spróbuj zautomatyzować:
Pisanie kodów do testowania interfejsu może być nudne.
Nie tylko będziesz spędzać czas na pisaniu kodu, ale także będziesz musiał poświęcić czas na zrozumienie formatu, stylu, języka kodowania używanego do programowania, a następnie jako wisienka na torcie będziesz musiał upewnić się, że Twój kod nie stwarza problemu w aplikacji lub kodzie systemowym.
Dlatego lepiej jest zbadać i znaleźć narzędzia do automatyzacji, które uratują Twój dzień. Będzie to znacznie łatwiejsze i oszczędzające czas proces.
5) Zdefiniuj punkty początkowe i końcowe:
Przed rozpoczęciem wykonywania testu zawsze ustalamy punkt rozpoczęcia (wejścia) i zakończenia (zakończenia) testu, a także ustalamy, jak rozpocznie się i zakończy cały proces testowania. Podobnie, musimy również zmierzyć poziom wydajności testów interfejsu.
Aby to zrobić, musimy znaleźć odpowiedzi na następujące dwa pytania:
- Jaki jest przewidywany czas zakończenia testu interfejsu?
- Jaki jest rzeczywisty czas zakończenia testu interfejsu?
Ten etap obejmujący punkty wejścia i wyjścia testu interfejsu pomoże Ci znaleźć poziom wydajności testów. Pomoże Ci to również w podjęciu decyzji o planowanym harmonogramie testów.
Różnica między testowaniem interfejsu, integracji i testowaniem komponentów
Poniżej podano kilka różnic:
S.No. | Testowanie komponentów | Testowanie interfejsu | Testy integracyjne |
---|---|---|---|
1 | Testowanie komponentu indywidualnie w celu zweryfikowania oczekiwanego wyniku nazywa się testowaniem komponentu | Testowanie interfejsu w celu sprawdzenia oczekiwanego wyniku nazywa się testowaniem interfejsu. | Gdy wszystkie lub kilka modułów lub komponentów jest zintegrowanych, aby wspólnie działać; następnie testowanie przeprowadzane w celu sprawdzenia kompletnej funkcjonalności zintegrowanych komponentów nazywa się testowaniem integracyjnym. |
dwa | Komponent może być czymś takim jak ekran, moduł logowania itp. | Interfejsy to usługi internetowe, API, parametry połączeń itp. | Integracja może obejmować jeden kompletny przypadek użycia, taki jak aplikacja bankowa, logowanie i dodawanie „beneficjenta” itp. |
3 | To testowanie jest stosunkowo łatwe. | To testowanie jest trudne i żmudne. | Ten test jest trochę łatwy, ale długi. |
4 | Obowiązują zarówno ręczne, jak i automatyczne. | Głównie automatyzacja. | Obowiązują zarówno ręczne, jak i automatyczne. |
5 | Testowanie dotyczy zarówno kodu, jak i graficznego interfejsu użytkownika aplikacji lub systemu. | To testowanie jest wykonywane tylko na kodzie; nie ma GUI. | Testowanie dotyczy zarówno kodu, jak i graficznego interfejsu użytkownika aplikacji lub systemu. Ale to głównie GUI. |
Lista kontrolna do testowania interfejsów
Poniżej podano kilka wskazówek z listy kontrolnej, które należy wziąć pod uwagę przy testowaniu interfejsu:
jak wyświetlić plik swf
- W testach należy uwzględnić błędy 4xx i 5xx, ponieważ pomogą one w weryfikacji obsługi błędów po stronie serwera i po stronie klienta. Najlepiej byłoby, gdyby zamiast błędu w kodzie pojawił się odpowiedni komunikat.
- Walidacja użytkownika przy użyciu uwierzytelniania HTTP.
- Sprawdź wszystkie metody używane w API lub usługach internetowych, takich jak GET, PUT, POST itp.
- Sprawdź konwersję z formatu JSON na format XML i odwrotnie.
- Sprawdź, czy operacje zbiorcze na interfejsie pobierają oczekiwany wynik.
- Sprawdź, czy strefa czasowa interfejsu API jest zgodna ze specyfikacją strefy czasowej obszaru geograficznego.
- Sprawdź, czy nieautoryzowany dostęp do interfejsu prowadzi do prawidłowego komunikatu o błędzie.
- Sprawdź, czy przerwy w połączeniu są obsługiwane prawidłowo.
- Sprawdź, czy niektóre komponenty zostały usunięte z aplikacji, to interfejs nie współdziała już z tymi komponentami itp.
Najlepsze narzędzia do testowania interfejsów
Ponieważ firmy przechodzą w kierunku DevOps, Continuous Integration (CI) i Continuous Deployment (CD), testowanie opinii musi być szybsze niż kiedykolwiek. Zanim przygotujesz się do wysyłki aplikacji, musisz upewnić się, że interfejsy są dobrze przetestowane. Ręczne testowanie interfejsu może być bardzo żmudne, skomplikowane i czasochłonne.
Najlepszą metodą testowania interfejsów jest użycie automatyzacji i uwzględnienie testów interfejsów w planie automatyzacji.
Dlatego poniżej znajduje się lista narzędzi, które pomogą Ci jak najszybciej zakończyć testowanie interfejsu. Jednak osobiście poleciłbym używanie SoapUI (użyłem tego narzędzia w moim projekcie do testowania usług internetowych), ale każde wymaganie jest inne, dlatego przyjrzyjmy się 5 najlepszym narzędziom.
Pięć najlepszych narzędzi to:
1) Gwarancja REST
Dla osób pracujących z Javą, ODPOCZYNEK - Zapewniony jest najbardziej preferowanym narzędziem. W rzeczywistości jest to najlepsze narzędzie do testowania API w Javie, ponieważ weryfikacja usług internetowych REST w Javie jest dość trudna. Jest przeznaczony do celów testowych, dzięki czemu można go łatwo zintegrować z dowolnym frameworkiem opartym na Javie.
Ma dużo gotowych funkcji, więc nie będziesz musiał kodować od początku. To narzędzie dobrze integruje się z frameworkiem Serenity i umożliwia generowanie niesamowitych raportów z testów.
2) Listonosz
Niektórzy testerzy nie lubią używać tego samego języka kodowania co IDE. Dla takich osób Postman to dobra opcja automatyzacji. Jest to również dobra opcja do testowania eksploracyjnego interfejsu.
Listonosz jest prostym klientem REST i można szybko zacząć korzystać z wtyczki Chrome. Ma dostępną wersję natywną, której można używać na komputerach Mac, Linux i Windows. Posiada interfejs użytkownika, który pomaga w budowaniu zapytań i sprawdzaniu otrzymanej odpowiedzi.
3) SoapUI
Jeśli Twój zespół zajmuje się tylko testami API, MYDŁO może być świetnym wyborem. Jest to kompletne narzędzie do testowania funkcjonalnego przeznaczone do testowania API. Obsługuje również testy oparte na danych, w których dane mogą być przekazywane w formacie CSV lub Excel. Ma również płatną wersję o nazwie SoapUI Pro, która oferuje jeszcze lepsze i ulepszone funkcje do testowania usług internetowych.
Jeśli chcesz dodać dodatkowy kod dla określonego przepływu pracy lub funkcji, użyj Groovy do tworzenia skryptów. Możesz także utworzyć globalne ustawienie zmiennej i używać wszystkich tych zmiennych w swoich testach, zamiast inicjować je indywidualnie dla każdego testu.
4) JMeter
JMeter jest szeroko stosowany do testowania obciążenia i może być również używany do testowania interfejsów. JMeter obsługuje nagrywanie i odtwarzanie oraz generuje raporty HTML, które są łatwe do odczytania i zrozumienia. Ponieważ JMeter jest kompatybilny z plikami CSV, umożliwia to tworzenie unikalnych parametrów do testowania.
Można go łatwo zintegrować z Jenkinsem, dzięki czemu testy można uwzględnić w CI. Jeśli chcesz użyć tego samego narzędzia do testowania interfejsu i obciążenia, to JMeter będzie godnym wyborem.
5) Fiddler
Skrzypek pomaga sprawdzić i (ponownie) używać żądań HTTP. Ma wiele funkcji, które pomagają w debugowaniu problemów z witryną, z jej rozszerzeniami i możesz zrobić znacznie więcej. Jest to również dobre narzędzie do testowania bezpieczeństwa, ponieważ można je skonfigurować tak, aby odszyfrować zaszyfrowane żądanie, a następnie zmodyfikować żądania w celach testowych.
Jednym z rozszerzeń Fiddlera jest rozszerzenie APITest, które pomaga zweryfikować zachowanie interfejsu w sieci. Aby uzyskać bardziej intensywne testy interfejsu, możesz spróbować użyć FiddlerCore.Net biblioteka do tworzenia infrastruktury testowania interfejsów.
Wniosek
Testowanie interfejsów jest bardzo ważną częścią testowania aplikacji na dużą skalę i jest to konieczne. Nawet w aplikacjach, w których regularnie stosuje się CI, ważne staje się wykonanie testów interfejsu.
Testowanie interfejsu jest dość trudne i niełatwe, dlatego należy opracować odpowiednią strategię przeprowadzania tego testu. Pamiętaj też, aby wziąć dane wejściowe od zespołu programistów, ponieważ lepiej rozumieją kod.
Najlepszym i najprostszym sposobem przeprowadzenia tego testu jest zautomatyzowanie i zintegrowanie zestawu testów w CI, co pozwoli zaoszczędzić dużo czasu, a wyniki zostaną osiągnięte w szybszym tempie.
Czy wykonałeś testowanie interfejsu? Zapraszam do podzielenia się swoimi doświadczeniami i poinformowania nas, jakie narzędzie i strategię wdrożyliście.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Testy alfa i testy beta (kompletny przewodnik)
- Samouczek testowania GUI: kompletny przewodnik testowania interfejsu użytkownika (UI)
- Rodzaje testowania oprogramowania: różne typy testów ze szczegółami
- Testing Primer Pobierz eBook
- Rodzaje zagrożeń w projektach oprogramowania
- 11 najlepszych narzędzi automatyzacji do testowania aplikacji na Androida (narzędzia do testowania aplikacji na Androida)
- Kompletny przewodnik po testach funkcjonalnych z typami i przykładami