Skip to content

84. O implementacji testów backendu i architekturze otwartej na testowanie

April 3, 2024 · 1 h 20 min

Show notes

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?

W tym odcinku rozmawiamy wraz z Piotrem między innymi 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

Zapraszam!

Materiały dodatkowe:

All episodes of Better Software Design

Settings

Display

Language

Decides which stations you see first on the home page.

History

Recently played stations and episodes and your latest searches are only stored in this browser.

Notifications

A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

Account

Save favorites – in the app and on the website.

Keyboard shortcuts

/
Open search
Space
Play or pause
← →
In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
↑ ↓
In a row: target within the tile
Home / End
In a row: first or last tile
Esc
Close window or menu
?
This overview
Now playing

Go to station page

Play next

    Add episodes with “Play next” – they play after the current episode.