#201

Java – TDD (Test Driven Development)

Marzeniem każdego PM jest idealny kod w pełni pokryty testami. Marzenia nie zawsze się jednak spełniają. Tak często jest i w tym wypadku.

Rzeczywistość jest taka, że programiści piszą kod byle jaki, a testy odkładają zawsze “na potem”. Często kończy się na tym, że w pośpiechu piszemy kilka prostych testów, aby osiągnąć wymagane w umowie pokrycie. Kogo obchodzi to, że owe testy tak naprawdę nie sprawdzają niczego? W ten sposób powstają błędy często trudne do wykrycia. Pozostaje się tylko modlić, aby nie wyszły one na produkcji.

Jak wybrnąć z takiej mentalności? Czy istnieją techniki pozwalające polepszyć jakość kodu, zwiększyć jakość testów, tworzyć bezawaryjne oprogramowanie i łatwe do utrzymania?
Odpowiedzią na te potrzeby jest TDD (ang. Test Driven Development). Jest to odwrócenie tradycyjnego myślenia z jakim developer spotyka się w pracy. Programowanie sterowane testami można sprowadzić do prostej zasady: w pierwszej kolejności napisz test, a następnie kod, który ma być testowany. Prawda, że brzmi dziwnie?

TDD sprawia, że twój kod jest lepszy. A lepszy twój kod = mniej wstydu przy pull requestach i większy szacunek przełożonych. A kto wie – może nawet jakaś podwyżka wpadnie?

Na warsztacie poruszymy technologie: Java, JUnit 4, JUnit 5, AssertJ, Mockito, Spring, Spock, Groovy.

Podczas warsztatu zapewniamy nielimitowany dostęp do kawy, herbaty, wody. W porze obiadowej zapewniamy pizzę w wersji mięsnej lub wegeteriańskiej. W trakcie zajęć uczestnicy korzystają z własnych laptopów.

Partner:

Partnerem warsztatu jest Kodołamacz

Kodołamacz jest szkołą programowania. Oferujemy bootcampy zarówno dla osób początkujących jak i posiadających doświadczenie w programowaniu. Program i formuła bootcampów Kodołamacz opracowana została na bazie naszych wieloletnich obserwacji potrzeb rynku IT. Zaprosiliśmy do ich współtworzenia ekspertów z proponowanych przez nas ścieżek. Wspólnie z nimi opracowaliśmy program obejmujący optymalny zestaw technologii oraz formułę pracy projektowej, która pozwala zdobyć doświadczenie odpowiadające realiom pracy w działach programistycznych.

Jeżeli chcesz sprawdzić naszą ofertę dotyczącą bootcampu Java zajrzyj tu: https://kodolamacz.pl/bootcamp-java/.

Żarówka

Czego się nauczysz?

Podczas warsztatu uczestnicy zrozumieją na czym polega TDD i będą potrafili zastosować tę technikę dla prostych problemów. W ramach zajęć poznają i przyswoją sobie cykl pracy TDD, nauczą się zwracać uwagę na czytelność testów, a także tworzyć testy z użyciem mocków.
Grupa

Dla kogo jest ten warsztat?

Szkolenie adresowane jest do programistów, chcących podnieść swoje umiejętności tworzenia czystego, utrzymywalnego i testowalnego kodu.
Notatnik

Wymagania wstępne

Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java.

Prowadzący

Arek Cacko i Dmytro Svarychevskyi:

Arek - Absolwent dwóch kierunków na Politechnice Warszawskiej aktualnie doktoryzujący się w informatyce. Współautor pierwszej polskiej semantycznej wyszukiwarki internetowej NEKST oraz ogólnopolskiego systemu antyplagiatowego OSA. Na co dzień projektant, programista Java EE. Lubi zdobywać wiedzę i dzielić się nią z innymi dlatego prowadzi przedmioty programistyczne na dwóch uczelniach. Autor kilku artykułów naukowych o zasięgu międzynarodowym. Dmytro - Full stack programista z wieloletnim doświadczeniem. Absolwent „European University” (wydziału informatyki specjalność: nauki komputerowe, Kijów, Ukraina) oraz Wyższej Szkoły Informatyki Stosowanej i Zarządzania ( wydziału informatyki, specjalność: inżynieria programowo-sprzętowa, Warszawa). Pracuje w IT od 2010 roku. Zaczynał swoją karierę w zespole QA jako programista testów automatycznych. Obecnie jest senior developerem oraz architektem aplikacji webowych. Na co dzień programuje w Javie i TypeScript, pracuje z wykorzystaniem frameworków Spring oraz VueJs. Szczególną uwagę poświęca testom: unit, integracyjnym, wydajnościowym. Pracował w projektach dla takich firm jak: Deutsche Bank, Orange, T-mobile, PZU. Prywatnie zajmuje się tworzeniem gier w Unreal Engine 4 oraz aplikacji webowych.

Program warsztatów

  1. Podstawy.
    1. czym jest TDD,
    2. jak TDD pomaga programistom,
    3. kiedy warto używać TDD,
    4. stosowanie cyklu TDD Red-Green-Refactor.
  2. TDD w praktyce.
    1. od czego zacząć,
    2. rodzaje testów,
    3. podział testu na bloki,
    4. jak pracować z TDD,
    5. co i jak testować,
    6. jaki następny test zaimplementować,
    7. nazewnictwo testów,
    8. TDD a architektura systemu.
  3. Wykorzystanie bibliotek i narzędzi.
    1. wsparcie dla TDD w IDE,
    2. JUnit,
    3. AssertJ,
    4. Mockito,
    5. Spock.

Uwaga

Liczba miejsc ograniczona! Organizator zastrzega sobie prawo do zmiany lokalizacji wydarzenia oraz jego odwołania w przypadku niezgłoszenia się minimalnej liczby uczestników.

Zapisy na wybrany warsztat zostały zakończone.