Coraz więcej profesjonalnych środowisk produkcyjnych opiera się na oprogramowaniu.
Ewentualne błędy w pracy kodu mogą prowadzić do poważnych konsekwencji – dlatego od rozwiązań informatycznych wymaga się solidności i poprawności. Równocześnie oczekuje się wydajnego działania, skalowalności i podatności na modyfikacje, a także możliwości łatwego utrzymania kodu. Aplikacje utworzone zgodnie z paradygmatem TDD są w większym stopniu testowalne i zapewniają wysoki poziom poprawnej, stabilnej pracy. Sprawia to, że coraz więcej zespołów programistycznych skłania się ku TDD, mimo że zautomatyzowane testowanie bywa czasochłonne, pracochłonne i dość trudne w implementacji.
To książka przeznaczona dla tych, którzy chcą dogłębnie zrozumieć istotę TDD. Omówiono tu wszystkie aspekty TDD, włączając w to podstawy, dzięki którym średnio zaawansowany programista komfortowo rozpocznie budowę aplikacji zgodnie z tym paradygmatem. Przedstawiono zasady definiowania i testowania granic, a także pojęcie abstrahowania kodu zewnętrznego. W książce pojawiają się też – wprowadzane stopniowo – bardziej zaawansowane koncepcje, takie jak szpiedzy, imitacje i fałszywki. Pokazano w niej, w jaki sposób za pomocą TDD można przekształcić wymagania i historie użytkownika w funkcjonującą aplikację. Sporo miejsca poświęcono pisaniu różnych rodzajów testów, również integracyjnych. Poszczególne koncepcje zostały zilustrowane praktycznymi fragmentami kodu napisanego w C# i JavaScripcie.
W tej książce między innymi:
• koncepcje programowania sterowanego testami i przygotowanie środowiska do pracy,
• różne podejścia do budowania aplikacji i sterowania testami,
• poprawa elastyczności aplikacji i jej podatności na przyszłe modyfikacje,
• TDD w warunkach zmieniających się wymagań,
• rozwiązywanie problemów z kodem zastanym.
TDD: tak pracują najlepsi programiści!
John Callaway – jest programistą z tytułem Microsoft MVP. Specjalizuje się w technologiach WWW. Znakomicie zna praktycznie wszystkie ważne technologie, od PHP po C#, od ReactJS po SignalR. Ceni czysty kod i profesjonalizm. Chętnie dzieli się wiedzą.
Clayton Hunt – jest profesjonalnym programistą. Zajmuje się głównie programowaniem dla internetu w językach JavaScript i C#. Jest sygnatariuszem manifestów głoszących idee agile i software craftsmanship.