Projektowanie systemu rozproszonego, opartego np. o architekturę mikroserwisową, zwykle nie jest trywialne. Pojawia się tu choćby problem komunikacji poszczególnych części systemu i właściwego sposobu jej testowania...
Wspólnie z moim dzisiejszym gościem, Rafałem Maciakiem, przyglądamy się idei testowania kontraktowego, które świetnie rozwiązuje problem testowania poprawności komunikacji pomiędzy konsumentami i producentami. Co istotne, w izolacji, bez konieczności używania kosztowych środowisk i testów integracyjnych.
W tym odcinku rozmawiamy m.in. o:
- idei testowania kontraktowego,
- przykładowej budowie kontraktów,
- lokalizacji tego rodzaju weryfikacji w piramidzie testów,
- narzędziach wspierających testowanie kontraktowe,
- różnicach pomiędzy Consumer Driven Contract i Producer Driven Contract,
Materiały dodatkowe:
- Contract Testing - Spring Cloud Contract , artykuł Rafała na blogu SoftwareMill przedstawiający praktyczną stronę testowania kontraktowego z użyciem Springa,
- Save your friday's evening with Contract Testing , prezentacja Rafała z Allegro Tech Meetings
- Spring Cloud Contract in a polyglot world , artykuł Marcina Grzejszczaka na blogu Spring, pokazujący praktyczne użycie SCC,
- How Pact Works , krótkie wprowadzenie do zasady działania jednego ze wspomnianych w odcinku narzędzi
- Can I Deploy , jedno z narzędzi wchodzących w skład Pacta, wspomagające proces wdrożenia systemu
- Introducing Contact Testing with PactFlow , playlista kilku ciekawych filmów przedstawiających użycie Pacta w omawianym w odcinku kontekście
Zapraszam Cię także do odwiedzenia moich innych miejsc w internecie:
Jest to odcinek podkastu:
Better Software Design
Better Software Design podcast. Rozmowy o projektowaniu oprogramowania, architekturze i wyzwaniach z tym związanych.
Technologia