Jak testować REST API?
Testowanie REST API to jedna z podstawowych procedur związana z testowaniem backendu. Wymaga ona skorzystania z odpowiednich narzędzi (dostępne jest kilka podstawowych, darmowych programów) i wiedzy, na temat integracji interfejsu z architekturą. Osoby, które planują rozwijanie kariery w kierunku testowania oprogramowania, powinny zdecydowanie poświęcić nieco uwagi na zapoznanie się z zagadnieniem testowania REST API, gdyż jest to ważna umiejętność w kontekście pogłębiania swoich kompetencji i budowania wizerunku wartościowego pracownika.
Testowanie REST API – zacznijmy od podstaw
Z nazwą REST API spotkać się może zarówno początkujący tester aplikacji mobilnych, jak i tester aplikacji webowych. Zanim przejdziemy do danych na temat procedur i tego, dlaczego warto je wykonywać, zastanówmy się nad tym, czym REST API w zasadzie jest. Nazwa ta ma dwa człony:
- REST – czyli Representational State Transfer jest architekturą systemową opracowaną na potrzeby uzyskiwania dostępu do zasobów przez protokół HTTP.
- API – czyli Application Programming Interface, będący zbiorem sposobów komunikacji użytkownika z systemem (interfejsem).
Testowanie REST API pozwalają na pracę z zapytaniami http bez interfejsu graficznego. Jest to więc rozwiązanie, które może pozwolić na znaczące usprawnienie prac nad oprogramowaniem i wykonywanie pewnych czynności na wczesnym etapie realizacji danego programu, kiedy elementy oprawy wizualnej nie zostały jeszcze zaimplementowane.
Testowanie API – procedura zależy od wybranego programu testowego
By przetestować REST API, należy skorzystać z jednego z dostępnych na rynku programów stworzonych z myślą o tego typu działaniu. Na rynku dostępne są zarówno programy open-source, jak i narzędzia komercyjne. Warto zwrócić uwagę na; JMeter, Rest-Assured, Postman, Swagger, czy HttpMaster.W zależności od wybranego narzędzia procedura testowania REST API wygląda inaczej. Operujemy tu na czterech z ośmiu metod, tj. GET, PUT, POST i DELETE (z protokołu HTTP). Konfiguracja testu to m.in. wybranie adresu url, ustalenie warunków, czy wybór nagłówka. Po przeprowadzeniu testu otrzymujemy statusy HTTP (kody odpowiedzi), które wyrażone są poprzez kody (np. 200 – powodzenie zapytania, 403 – brak dostępu do zapytania, 302 – przekierowanie zapytania). Raport z testu najczęściej jest standardowym plikiem JSON.
Czy do testowania REST API potrzebne mi jest zaplecze programistyczne?
Zasadniczo przeprowadzanie procedury testowania REST API nie wymaga specjalnej wiedzy z dziedziny programowania. Odpowiednie narzędzia dosyć szybko przeprowadzą nas przez odpowiednie procedury. Ważne jest jednak to, żeby odpowiednio dobrać program testujący do sprawdzanego programu. Istotne jest to, w jakim języku został napisany obiekt naszych testów. Przykładowo, jeśli mówmy tu o tworze w JavaScript, dobrym pomysłem wydaje się skorzystanie z Postmana.Zaplecze programistyczne w testowaniu REST API może sprzyjać implementacji automatyzacji. Wykonywanie testów bez konieczności każdorazowego wprowadzania danych, pozwala na testowanie większej liczby zapytań w krótszym czasie. Tester oprogramowania, który zajmuje się REST API, nie musi posiadać ugruntowanej wiedzy na temat programowania w danym języku, choć może u się przydać podstawowa wiedza np. z obsługi Pythona.