Obserwuj

Odcinek 84

O implementacji testów backendu i architekturze otwartej na testowanie z Piotrem Stawirejem

3 kwietnia 2024

Odcinek 84

Jeśli wycena projektu podawana jest w dwóch wersjach, z uwzględnieniem testów i bez, to z software craftsmanshipem ma to niewiele wspólnego. To tak, jakby pytać chirurga, czy może przyspieszyć operację nie dezynfekując skalpela. Jakość nie powinna być elementem przetargowym. Chyba, że pracujemy nad proof-of-concept, ale tego rodzaju projekty często lubią płynnie przejść w fazę protoduction…

Jeśli szukasz sprawdzonych w boju receptur na implementację jakościowych testów, które nie będą wymagały co chwilę refaktoryzacji i modyfikacji przy zmianie kodu projektu, zapraszam Cię na dzisiejszą rozmowę z Piotrem Stawirejem. Napisać test w projekcie to w zasadzie żadna sztuka. Ale napisać test, który dostarczy realną wartość biznesową, będzie łatwy do utrzymania, a przy okazji może zostać wykorzystany na różnych poziomach piramidy testów, to trochę bardziej skomplikowane zadanie.

I pewnie niektóre strategie mogą być trochę kontrowersyjne, jak na przykład rezygnacja z typowego mockowania zależności, czy silnego podziału na wiele różnych testów w projekcie. Ale skoro działa to w praktyce, to w czym rzecz?

Jeśli mamy szybkie I/O, to może nie ma co rozdzielać testów na jednostkowe i integracyjne

Stawirej Piotr

W tym odcinku usłyszysz m.in. o...

  • organizacyjnych i technicznych problemach z implementacją jakościowych testów w backendzie
  • metryce code-coverage i jej różnym stopniu przydatności w projekcie
  • profesjonalnym podejściu do problemu "z testami, czy bez?"
  • dobrych praktykach doboru strategii testowania
  • szarej strefie testów Kevlina Henney'a
  • legacy, testach charakterystyki, szwach i odcinaniu fragmentów systemu dla testów
  • unitach, czyli fragmentach kodu o pojedynczej odpowiedzialności, mierzonego kohezją
  • implementacji architektury otwartej na testowanie
  • eliminacji problemów z nadużywaniem mocków w projekcie

Materiały dodatkowe

PODCAST JEST DOSTĘPNY NA PLATFORMACH