using json interface testing
Używanie JSON do testowania interfejsu:
Testowanie interfejsu weryfikuje komunikację między dwoma różnymi systemami. Jest wykonywany w testowanej aplikacji w celu sprawdzenia, czy komunikacja między dwiema sieciami przebiega prawidłowo.
Interfejs to w zasadzie połączenie między dwoma systemami oprogramowania, a testowanie tego połączenia w celu przesyłania danych nazywa się testowaniem interfejsu. Interfejs obejmuje szeroki zakres usług w świecie rzeczywistym, można go używać do odwoływania się do usługi sieciowej, API itp.
Interfejs zawiera zestaw reguł, komunikatów, poleceń itp., Które ułatwiają komunikację między dwoma systemami.
Testowanie to koncentruje się głównie na testowaniu dwóch głównych segmentów:
- Komunikacja z bazą danych i serwerem aplikacji
- Komunikacja z serwerem WWW i aplikacjami
Test interfejsu jest wykonywany w celu oceny wyżej wymienionych scenariuszy w celu sprawdzenia, czy komponenty prawidłowo przekazują sobie sterowanie i dane. Weryfikuje również interakcję między różnymi modułami.
Czego się nauczysz:
- Dlaczego przeprowadza się test interfejsu?
- Jak to się robi?
- Różnica między testowaniem interfejsów a testowaniem integracyjnym
- Scenariusz biznesowy
- Konfiguracja środowiska testowego
- Rozpoczynanie testów
- Wniosek
- rekomendowane lektury
Dlaczego przeprowadza się test interfejsu?
Ma to na celu zapewnienie:
- Jeśli komunikacja między systemami przebiega prawidłowo.
- Całe oprogramowanie i sprzęt używany w systemie działa poprawnie.
- Wszystkie dokumenty związane z komunikacją są dostępne na wszystkich zintegrowanych platformach.
- Wymagania dotyczące bezpieczeństwa i szyfrowania są zgodne z komunikacją między systemami.
- Zintegrowane komponenty są w stanie poradzić sobie z awariami sieci i utratą komunikacji.
Rodzaje stwierdzonych usterek
Większość defektów znalezionych podczas testowania interfejsu użytkownika wynika z nieprawidłowego mapowania danych między systemami. Dlatego większość błędów można zasadniczo podzielić na następujące kategorie.
- Niespójna transmisja danych między dwoma systemami.
- Jeden z systemów błędnie interpretuje transmisję danych z innego systemu.
- Kanał transmisji lub interfejs między dwoma systemami zawodzi, co ogranicza przesyłanie danych między systemami, powodując awarię całego interfejsu.
Jak to się robi?
Można go podzielić głównie na następujące fazy:
- Interfejsy można testować indywidualnie podczas testowanie systemu . Ten typ testów jest przeprowadzany głównie przy użyciu systemu odgałęzionego lub atrapy. Fikcyjny system lub odgałęzienie podszywa się pod zachowanie interakcji całego systemu.
- Innym przypadkiem, w którym przeprowadzany jest test interfejsu, jest skrzyżowanie, na którym dwa systemy komunikują się ze sobą.
- Dlatego sprawdzamy, czy dane przesłane przez jeden system zostały poprawnie zmapowane i wstawione do innego systemu, czy nie. Poza wprowadzaniem danych sprawdzamy również integralność danych, tj. Dane po wstawieniu do innego systemu nie zostały zmanipulowane lub zmienione itp.
- Testowanie można również przeprowadzić, gdy system przesyła dane do innej bazy danych aplikacji. Tutaj sprawdzimy, czy dane z jednego systemu zostały poprawnie wstawione do danej kolumny danej tabeli na podstawie mapowania. Przetestujemy również integralność i spójność danych w odniesieniu do systemu źródłowego.
We wszystkich tych scenariuszach testowania test interfejsu jest przeprowadzany na podstawie wymagań biznesowych i reguł przepływu biznesowego.
Różnica między testowaniem interfejsów a testowaniem integracyjnym
Nazywa się weryfikację i walidację pełnej funkcjonalności połączonych ze sobą komponentów Testy integracyjne lub bardziej popularne jako testy integracji systemu. Testy integracyjne sprawdzają głównie, czy dwa lub więcej zintegrowanych ze sobą systemów współpracuje bezbłędnie, czy nie.
Testowanie Berło z drugiej strony zasadniczo koncentruje się na kanale połączeniowym między dwoma systemami. Kanał połączenia między dwoma lub więcej systemami nazywany jest interfejsem. Testowanie tego kanału połączenia nazywa się testowaniem interfejsu. Większość interfejsów to interfejsy API lub usługi internetowe. Nie ma interfejsu użytkownika, ale pobiera dane wejściowe i przedstawia użytkownikowi dane wyjściowe.
Na przykład
W powyższym przykładzie strona internetowa i baza danych mają wspólny interfejs do przesyłania danych logowania, tj. Nazwy użytkownika i hasła.
Interfejs używa usługi sieciowej do wysyłania danych logowania do bazy danych, która z kolei weryfikuje autentyczność przychodzącej wiadomości (nazwa użytkownika i hasło) i zwraca wartość jako true, jeśli zarówno nazwa użytkownika, jak i hasło są zgodne z rekordem obecnym w bazie danych lub false w przypadku, gdy którykolwiek z nich lub zarówno nazwa użytkownika, jak i hasło nie są zgodne z danymi znajdującymi się w środku.
Omówmy przykład testowania interfejsu:
Powiedzmy, że mamy aplikację, w której mamy różne bazy danych współdziałające ze sobą.
W tym przykład , rozważymy dwie interakcje z bazą danych przez kanał interfejsu.
Rozważmy, że istnieją dwie bazy danych lub aplikacje, baza danych A i B. „A” przesyła niektóre dane do „B”, które jest następnie wykorzystywane przez B do wykonania jakiejś operacji. Po wykonaniu określonej operacji na przychodzących danych B wstawia te dane do bazy danych i tworzy wyjściowy kod JSON do potwierdzenia z listą zaktualizowanych danych i przesyła go z powrotem do A.
Zarówno A, jak i B używają kanału interfejsu do komunikacji między sobą.
Scenariusz biznesowy
„A” zawiera dane pracowników wszystkich pracowników działu finansowego.
Dane muszą zostać przeniesione do „B ' na co dzień. „B” zawiera dane dotyczące ogólnych danych pracowników. Wszystkie dane z „A” należy przenieść do określonej tabeli i kolumny „B”. Poza wprowadzaniem danych „B” musi również sortować i organizować dane. Należy również upewnić się, czy dane zostały wprowadzone przeciwko właściwemu pracownikowi.
Po wprowadzeniu danych do systemu „B” powinien wysłać wyjściowy kod JSON w celu potwierdzenia, czy dane zostały wprowadzone do bazy danych.
W przypadku jakichkolwiek rozbieżności w schemacie JSON lub braku danych „B” nie przetworzy danych i wyśle wiadomość Odrzuć JSON z uzasadnieniem odrzucenia.
Konfiguracja środowiska testowego
Aby przetestować taki scenariusz, będziemy potrzebować testowego kodu pośredniczącego, który będzie naśladował bazę danych „A”. Deweloper może podać lokalizację, w której można zrzucić testowy kod JSON lub pozorowany interfejs użytkownika, wkleić dane JSON i wywołać przetwarzanie za pośrednictwem interfejsu. Do celów testowych możemy również mieć lokalizację wyjściową, w której otrzymamy potwierdzenie JSON od „B”.
W naszym przykład , użyjemy ścieżki do folderu, w którym umieścimy nasz testowy JSON, usługa będzie stale wskazywać lokalizację pliku JSON. Gdy plik będzie obecny, usługa odbierze plik i wyśle go do „B” za pośrednictwem interfejsu. Gdy plik zostanie odebrany, zostanie usunięty z lokalizacji odbioru.
Rozpoczynanie testów
Po skonfigurowaniu środowiska testowego następnym krokiem jest utworzenie danych testowych.
Tworząc dane testowe (przeczytaj testowy JSON) powinniśmy pamiętać o kilku rzeczach:
- Przestrzegaj zasad biznesowych.
- Upewnij się, że pola obowiązkowe są obecne.
- Zmień wartość pól zgodnie z regułami biznesowymi dla każdego testu.
- Upewnij się, że schemat JSON ma prawidłowy format.
- Upewnij się, że przestrzegano nazewnictwa nazw plików JSON.
Rzućmy okiem na przykładowy testowy kod JSON, którego użyjemy do testów:
{ 'employeeID ': 2569875, 'LastName': “Jackson”, 'baseSalary': 2569, 'DesignationCode':'P102', “Expenditure”:{ 'Month':“Feb”, 'Year': 2017, 'Official':560, 'Others”:0, } }
Rozpocznij test
Po utworzeniu testowego pliku JSON upuść go w miejscu odbioru. Usługa odbierze to i umieści w bazie danych B.
Scenariusze do przetestowania:
W tym przykładzie może istnieć wiele scenariuszy, które należy przetestować, takich jak:
- Praca z usługą internetową w celu wysyłania i odbierania danych.
- Integralność danych dla danych wejściowych. Można to sprawdzić, odpytując tabele i kolumny w bazie danych B o dane wprowadzone za pomocą testowego kodu JSON.
- Negatywne scenariusze.
Najpierw sprawdzimy, czy testowy plik JSON został pobrany z lokalizacji, czy też nie ma w tej lokalizacji. To potwierdzi działanie usługi. Następnie przejdziemy do folderu wyjściowego, aby wyświetlić wyjściowy plik JSON. Obecność wyjściowego formatu JSON sprawdza, czy dane wejściowe zostały wysłane do bazy danych B i otrzymano potwierdzenie dla tego samego.
Kolejna część testów to walidacja danych wprowadzonych do bazy danych.
W powyższym teście sprawdzimy, czy dane przesłane testowym JSON zostały poprawnie wprowadzone do bazy danych. Sprawdzimy integralność danych, spójność danych i wprowadzanie danych. Będziemy musieli wysłać zapytanie do bazy danych B dla danej kolumny w określonej tabeli, aby sprawdzić, czy dane zostały poprawnie wstawione do tabeli.
Powiedzmy, że mamy tabelę EmpDetails, w której należy wstawić dane. Więc uruchomimy zapytanie, aby zweryfikować dane.
Zapytanie będzie wyglądać mniej więcej tak:
SELECT employeeID, LastName, baseSalary, DesignationCode, Month, Year, Official, Others FROM EmpDetails Where employeeID = 2569875;
Tutaj będziemy używać identyfikatora pracownika jako klucza podstawowego do wykonywania zapytań dotyczących danych w tabeli EmpDetails. Zapytamy, używając wszystkich nazw kolumn, w których zostały wstawione dane. Następnie dane w nazwie kolumny można zweryfikować za pomocą danych przesłanych przez JSON.
W powyższym przypadku dane z JSON są przechowywane w więcej niż jednej tabeli w bazie danych, dlatego możesz użyć SQL JOINS do pobrania wszystkich potrzebnych danych.
Trzecim krokiem w testowaniu będzie przetestowanie negatywnych scenariuszy.
Niektóre z negatywnych scenariuszy, które można przetestować, to:
- Zachowanie systemu w przypadku podania nieprawidłowych danych przez JSON.
- Gdy JSON ma nieprawidłowy schemat lub strukturę.
- Gdy w przetworzonym formacie JSON brakuje klucza podstawowego lub jakichkolwiek pól obowiązkowych.
- Nazewnictwo pliku JSON jest nieprawidłowe.
We wszystkich tych przypadkach system powinien być w stanie obsłużyć te scenariusze i żadne dane nie powinny być wprowadzane do systemu zgodnie z regułą biznesową.
Wniosek
Kanał połączenia między dwoma systemami, przez który przesyłane są dane, nazywany jest testem interfejsu, a testowanie interfejsu działa głównie wokół testowania tych połączeń. Większość interfejsów korzysta z usług sieci Web lub interfejsów API. Nie zawsze ma interfejs użytkownika, ale akceptuje dane wejściowe i udostępnia dane wyjściowe.
jak wydrukować zawartość tablicy java
Będąc jednym z najczęściej używanych formatów przesyłania danych, JSON może być używany do przesyłania danych interfejsu.
Tester musi posiadać podstawową wiedzę na temat struktury JSON, aby móc tworzyć dane testowe (w postaci JSON) oraz odczytywać dane wyjściowe z systemu. Tester powinien również być dobrze zorientowany w mapowaniu między kluczami JSON i kolumną tabeli bazy danych.
Każdy tester, który chce pracować nad testowaniem interfejsów, powinien mieć jasną wiedzę na temat wytycznych biznesowych i reguł aplikacji. Tester powinien również posiadać odpowiednią wiedzę o bazie danych oraz umieć pisać proste zapytania SQL.
W przypadku jakichkolwiek pytań lub wyjaśnień skontaktuj się z nami w sekcji komentarzy.
Samouczek nr 5: Pytania do wywiadów JSON
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Testowanie bazy danych za pomocą narzędzia JMeter
- Testing Primer Pobierz eBook
- Ponad 40 najlepszych narzędzi do testowania baz danych - popularne rozwiązania do testowania danych
- Samouczek testowania GUI: kompletny przewodnik testowania interfejsu użytkownika (UI)
- Proste podejście do testów XML w bazach danych
- Samouczek testowania hurtowni danych ETL (kompletny przewodnik)
- Co to jest testowanie interfejsu? Poznaj jego rodzaje, strategię i narzędzia