zrozumienia idei i koncepcji Test Driven Development
sprawdzonych technik programowania sterowanego testami
tworzenia łatwego w rozwoju i utrzymaniu kodu, który będzie wolny od błędów
przepisywania funkcjonalności zabezpieczając je testami
pracy zgodnie z cyklem red-green-refactor
wnioskowania ze sprzężeń zwrotnych iteracji TDD
refaktoryzacji kodu aplikacji i kodu testowego
szukania pomysłów na testy i implementowania ich
Programista, który potrafi zminimalizować ryzyko błędów w kodzie, to specjalista, którego każdy pracodawca chciałby mieć w swojej firmie. To właśnie dlatego w coraz większej liczbie ogłoszeń o pracę jednym z głównych wymagań jest znajomość metodyki TDD. Automatyczne testy to umiejętność, którą powinien opanować każdy programista bez względu na branżę czy technologię, z którą pracuje. I właśnie tego uczy to szkolenie! Dzięki niemu zapomnisz o żmudnym testowaniu kodu linijka po linijce. Zamiast tego zajmiesz się po prostu pisaniem wolnego od błędów i łatwego w utrzymaniu kodu! Przekonasz się, że tak naprawdę dopiero Test Driven Development sprawi, że w pełni wykorzystasz możliwości testów automatycznych. Podejście, w którym testy pisane były na koniec implementacji zabezpieczały tylko te części kodu, które już i tak działają. Test Driven Development pozwoli Ci natomiast uniknąć przyszłych błędów oraz wykryć te, których nie byłeś w stanie przewidzieć klasycznymi metodami. Oznacza to dużą skuteczność implementacji i znacznie prostszy kod. Skorzystaj z tego kursu i przekonaj się sam!
Tworząc to szkolenie zależało mi, abyś zrozumiał nie tylko samą ideę i możliwości stojące za TDD, ale też poznał praktyczną stronę pisania testów automatycznych. Bazując na własnym doświadczeniu i rzeczywistych sytuacjach, z którymi sam się spotkałem, pokażę Ci jak Test Driven Development pomoże Ci w Twojej pracy z kodem. Dowiesz się między innymi jak izolować testy, określać ich granularności, stosować tzw. atrapy, zaślepiać porażki testu czy stosować refaktoring. Kurs zaczniemy jednak od wyjaśnienia najważniejszych zasad i koncepcji TDD oraz przedstawieniu tej metodyki w kontekście innych metodyk zwinnych. Pozwoli Ci lepiej zrozumieć jej zalety oraz to jak i kiedy będziesz mógł je wykorzystać.
Cykl pracy z TDD to przede wszystkim 3 etapy: red, green i refactor. W trakcie kursu opowiem Ci dokładnie czym będziesz zajmował się w każdym z nich. Dowiesz się też czy krok 3 zawsze jest konieczny. Zajmiemy się problemami związanymi z pokryciem kodu testami. Odpowiem również na pytanie czy TDD zawsze będzie najlepszym wyjściem. Pokażę Ci jak dzięki rytmicznym zmianom kodu skupić się dokładnie na tym, czego wymaga od Ciebie zadanie. Dowiesz się jak “posprzątać kod”, dodać brzegowe testy i przejść dalej nie martwiąc się, że to co zrobiłeś wcześniej zepsuje się w niekontrolowany sposób.
Każdego developera wcześniej czy później spotka konieczność przepisania funkcjonalności, której nikt w zespole nie rozumie. Będziesz miał wtedy dwa wyjścia - inżynieria wsteczna (bolesne rozwiązanie) lub właśnie obwarowanie testami za pomocą TDD. W trakcie szkolenia podpowiem Ci, jak napisać testy do istniejącej funkcjonalności i zredukować ryzyko związane z migracją na nowy framework, nowe narzędzia lub po prostu jak zastąpić skomplikowany i zawiły kod dużo czytelniejszym rozwiązaniem. Przekonasz się, że klasy obwarowane testami stabilizują przyszłe zmiany działania funkcji - również w przypadku jej pełnego przepisania.
Metodyka, którą poznasz w tym kursie, w pewnym stopniu wymusza na programiście zaplanowanie swojej pracy lub przynajmniej refleksję nad tym, co i jak chce napisać. Na etapie pisania testów trzeba orientacyjnie spodziewać się, jakie zmiany będziemy pod nie musieli zaimplementować. Dzięki temu znacznie zwiększa się intuicja programistyczna i umiejętności analityczne związane z planowaniem i czasochłonnością zadań. Jeśli pisząc rozwiązania zdarza Ci się poczuć zagubionym i nie wiesz co dalej - ta metodyka jest dla Ciebie! Znajomość Test Driven Development pozwoli Ci również na lepsze zrozumienie metodyk zwinnych takich jak: Agile, Scrum, XP.
Część praktyczna szkolenia powstała w Javie, przede wszystkim dlatego, że jest to popularny i łatwy w czytaniu język, który pozwoli Ci zrozumieć przedstawione przykłady i problemy, niezależnie od technologii, z jaką pracujesz. Jeżeli zdobyłeś już więc podstawy programowania w jakimś języku i dodatkowo masz pewne doświadczenie z testami, ta wiedza w zupełności wystarczy ci do swobodnego korzystania z kursu. Pamiętaj, że ewentualne braki uzupełnisz dzięki naszym szkoleniom.