Nie ma wątpliwości, że testowanie jest nieodłączną częścią procesu tworzenia oprogramowania. Jest to najbardziej popularna i najefektywniejsza w praktyce metoda wersyfikacji poprawności oprogramowania (choć zawsze należy pamiętać, że testowanie nie zapewnia 100% poprawności). Jednak tradycyjne „kaskadowe” podejście do tworzenia oprogramowania, w którym faza testów następuje po zakończeniu fazy implementacji, okazuje się nieefektywne i jest powszechnie krytykowane. Współczesne „iteracyjne” metodologie wytwarzania oprogramowania zalecają wykonywanie testów wraz z tworzeniem implementacji i przyrostowe budowanie poprawnego oprogramowania.
Idea programowania w oparciu o testy (Test-Driven Development) idzie jeszcze dalej i postuluje tworzenie w wielu mikro-iteracjach najpierw testu, a następnie implementacji realizującej ten test. Aby zapobiegać tworzeniu sztucznych rozwiązań spełniających tylko wybrany test, powstały kod należy jeszcze za każdym razem refaktoryzować.
Idea TDD jest wykorzystywana w metodyce tworzenia oprogramowania Extreme Programmingi innych metodykach z rodziny „zwinnych” ( agile). Stosowanie TDD wpływa na sposób pracy w projekcie, a także na kształt wynikowego oprogramowania. O tym, czy ostatecznie wpływ ten jest pozytywny, trwają zażarte dyskusje. Idea TDD i metodologie „zwinne” uzyskały mimo wszystko dużą popularność w latach 2000-nych i wciąż są bardzo popularne w przemyśle, dlatego na pewno warto je poznać i wypróbować w praktyce.
Aby efektywnie pracować zgodnie z TDD, potrzebne są odpowiednie narzędzia. Wymagana jest przede wszystkim biblioteka do testowania jednostkowego ( unit testing), ale przydatne mogą być także narzędzia do łatwego tworzenia obiektów zastępczych ( stub lub mock) i biblioteki do testowania jednostkowego w specyficznych zastosowaniach (np. bazy danych, interfejs użytkownika).
Szkolenie koncentruje się przede wszystkim na praktycznym stosowaniu idei Test-Driven Development w Javie. Uczestnicy poznają szczegółowo bibliotekę JUnit, a dodatkowo także biblioteki Mockito, DBUnit, JFCUnit i HTTPUnit. Na szkoleniu przedstawione są także ogólne, niezależne od języka programowania, idee TDD i metodyk „zwinnego” tworzenia oprogramowania.
Podczas szkolenia, zgodnie z ideą TDD i jej różnymi wariantami, od podstaw tworzona jest przykładowa aplikacja. Wykorzystywana jest Java SE, baza danych (domyślnie SQLite), wspomniane narzędzia i biblioteki oraz środowisko programistyczne Eclipse.
Po zakończeniu szkolenia aktywny uczestnik:
Szkolenie przeznaczone jest dla programistów Javy, którzy chcą podnieść komfort i jakość swojej pracy poprzez tworzenie testów dających informację zwrotną programiście, ułatwiających projektowanie klas i wspierających dobre praktyki programowania obiektowego. Wymagana jest praktyczna znajomość języka Java.
21 godzin (3 dni x 7 godzin), w tym wykłady i warsztaty praktyczne.