Ostatnia aktualizacja:
Stanislav Anisimov
Badanie kontraktowe
Click to expand / collapse

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?

StronaCo 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
DwukierunkowyTesty 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.

Popularne tematy


Główne tematy