Podczas współpracy z API między zespołami lub partnerami zewnętrznymi szczególnie ważne jest, aby format wniosków i odpowiedzi pozostawał przewidywalny. Testowanie umowy pozwala sprawdzić, czy obie strony - klient i serwer - zgadzają się na strukturę wymiany i nie naruszają jej podczas aktualizacji.
Wdrażamy testy kontraktowe, które automatycznie sprawdzają zgodność API z dokumentacją lub oczekiwaniami konsumentów - przed wejściem do produkcji.
Co to jest umowa API
Umowa jest umową, która określa:- które pola zawierają żądanie i odpowiedź
- jakie formaty danych są dozwolone
- które kody statusu są zwracane
- jakie obowiązkowe parametry są wymagane
Naruszenie umowy = potencjalny klient lub brak obsługi.
Jak to działa?
| Strona | Co jest testowane |
|---|---|
| Dostawca (API) | API musi spełniać oczekiwania klientów dotyczące struktury odpowiedzi |
| Klient (konsument) | Klient czeka na określony schemat - sprawdza, czy jest spełniony |
| Dwukierunkowy | Testy dwukierunkowe: zarówno klient, jak i serwer zgadzają się na umowę |
Używane narzędzia: Pakt, Kontrakt Spring Cloud, Dredd, Testy kontraktowe listonosza.
Korzyści z testów kontraktowych
Identyfikacja niezgodności przed wyczerpaniem
Chroń przed „cichymi” zmianami, które łamią klientów
Bezpieczne aktualizowanie wersji API
Zwiększenie zaufania między zespołami rozwojowymi
Historia zmian w kontrakcie rejestrowania
Jak wdrażamy
Zdefiniuj umowy OpenAPI/Pact
Integracja CI z automatycznymi uruchomieniami testowymi przy każdym zatwierdzeniu
Wizualizacja i historia zmian kontraktowych
Ustawianie/produkcja
Umowy wydawnicze dla integratorów zewnętrznych
Gdzie szczególnie ważne
Współodpowiedzialność mikroprzedsiębiorstw
Platformy z zewnętrznymi integracjami B2B
Praca nad interfejsami API z wieloma niezależnymi poleceniami
Systemy krytyczne, w których błąd jest niedopuszczalny (finanse, usługi publiczne)
Testowanie kontraktów to niezawodny most między serwerem a klientem. Pomożemy Ci zbudować proces, w którym żadna aktualizacja nie zakłóca integracji i nie przyniesie niespodziewanych błędów.