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!
O autorach
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.
Informacja dotycząca wprowadzenia produktu do obrotu:
Ten produkt został wprowadzony na rynek przed 13 grudnia 2024 r. zgodnie z obowiązującymi wówczas przepisami (Dyrektywą o ogólnym bezpieczeństwie produktów). W związku z tym może on być nadal sprzedawany bez konieczności dostosowania do nowych wymogów wynikających z Rozporządzenia o Ogólnym Bezpieczeństwie Produktów (GPSR). Produkt zachowuje pełną legalność w obrocie, a jego jakość i bezpieczeństwo pozostają zgodne z obowiązującymi wcześniej standardami.
Information regarding product placement on the market:
This product was placed on the market before December 13, 2024, in accordance with the applicable regulations at the time (the General Product Safety Directive). As a result, it can continue to be sold without needing to meet the new requirements introduced by the General Product Safety Regulation (GPSR). The product remains fully compliant with all previously valid legal standards, ensuring its continued quality and safety.