84. O implementacji testów backendu i architekturze otwartej na testowanie
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 backendziemetryce code-coverage i jej różnym stopniu przydatności w projekcieprofesjonalnym podejściu do problemu "z testami, czy bez?"dobrych praktykach doboru strategii testowaniaszarej strefie testów Kevlina Henney'alegacy, testach charakterystyki, szwach i odcinaniu fragmentów systemu dla testówunitach, czyli fragmentach kodu o pojedynczej odpowiedzialności, mierzonego kohezjąimplementacji architektury otwartej na testowanieeliminacji problemów z nadużywaniem mocków w projekcieZapraszam!Materiały dodatkowe:Sub-second acceptance tests, prezentacja Aslaka Hellesøy z konferencji SeleniumConf ChicagoGrowing Object-Oriented Software, Guided by Tests, wspomniana w rozmowie książka Steve'a Freemana i Nata Pryce'aStyle Guide for Object Design, książka Matthiasa NobackaFinancial System, repozytorium z przykładowym kodem Piotra
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 backendziemetryce code-coverage i jej różnym stopniu przydatności w projekcieprofesjonalnym podejściu do problemu "z testami, czy bez?"dobrych praktykach doboru strategii testowaniaszarej strefie testów Kevlina Henney'alegacy, testach charakterystyki, szwach i odcinaniu fragmentów systemu dla testówunitach, czyli fragmentach kodu o pojedynczej odpowiedzialności, mierzonego kohezjąimplementacji architektury otwartej na testowanieeliminacji problemów z nadużywaniem mocków w projekcieZapraszam!
Materiały dodatkowe:
Sub-second acceptance tests, prezentacja Aslaka Hellesøy z konferencji SeleniumConf ChicagoGrowing Object-Oriented Software, Guided by Tests, wspomniana w rozmowie książka Steve'a Freemana i Nata Pryce'aStyle Guide for Object Design, książka Matthiasa NobackaFinancial System, repozytorium z przykładowym kodem Piotra