Listen

Description

Zamiast uruchamiać ciężką machinę testów integracyjnych, możemy szybko i precyzyjnie zweryfikować, czy nasze API nadal spełnia oczekiwania konsumentów - nawet jeśli technologia po drugiej stronie jest zupełnie inna. W tym odcinku rozmawiamy o tym, jak wdrożyć to podejście, by uniknąć sytuacji, w której „za płotem pali się budynek sąsiada" z powodu jednej zmiany w kodzie.

Gościem tego odcinka jest Łukasz Reszke, konsultant i Software Engineer w firmie Arkency. Łukasz na co dzień zajmuje się ratowaniem systemów przed rozpadem oraz tchnięciem nowego życia w aplikacje legacy, głównie w ekosystemie Ruby on Rails. W swojej pracy łączy Domain Driven Design i Event Sourcing , ale jego drugą wielką inżynierską miłością - i głównym tematem naszej rozmowy - są testy kontraktowe.

Z tego odcinka dowiesz się:

 

 

Linki:

 

 

Rozdziały:

00:00 Wstęp i przedstawienie gościa

00:33 Kim jest Łukasz Reszke?

01:41 Czym są testy kontraktowe?

06:55 Pact - narzędzie technology agnostic

12:00 Filozofia Consumer-Driven

14:45 Odkrywanie API i Swagger

17:15 Rola Pact Brokera

17:59 Próg wejścia i czas nauki

21:32 Testowanie komunikacji asynchronicznej

22:10 Automatyzacja w CI/CD

23:50 Webhooki i Pending Contracts

28:33 Skala testów w organizacji

29:18 Kiedy uruchamiać testy?

30:53 Miejsce w Piramidzie Testów

31:54 Kiedy (nie) warto wdrażać Pact'a?

35:47 Rozszerzanie kontraktu (bezpieczne zmiany)

40:55 Breaking Changes i zmiana nazw pól

44:57 HTTP czy Eventy - od czego zacząć?

46:00 Najczęstsze błędy przy projektowaniu

50:30 Wpływ AI i LLM na testowanie

52:35 Odbiór wśród developerów

56:15 Provider States - kluczowy element