TWORZENIE I TESTOWANIE APLIKACJI Z UŻYCIEM TEST-DRIVEN DEVELOPMENT KOD: TDD
PROFIL UCZESTNIKA Prgramista: zna język Java lub C# w stpniu pdstawwym (istnieje mżliwść dpaswania szklenia d inneg języka); chce zwiększyć niezawdnść twrzneg prgramwania; chce używać technik TDD pdczas prgramwania. KORZYŚCI ZE SZKOLENIA 1. Pprawia się bezpieczeństw twrzneg prgramwania dzięki technikm TDD, które skłaniają prgramistów d testwania kdu na najbardziej elementarnym pzimie, maleje ilść błędów w aplikacji. 2. Całkwity czas pświęcnej na twrzenie i utrzymanie funkcjnalnści ulega skróceniu dzieje jest tak, pnieważ dzięki twrzeniu testu przed implementacją pisany jest tylk niezbędny kd. Pszukiwanie błędów zajmuje mniej czasu, gdyż istnieją testy jednstkwe. 3. Rzbudwa aplikacji jest mniej ksztwna stswanie TDD wymusza dbrą jakść kdu źródłweg, m.in. stswanie wzrców prjektwych. Sprawia t, że ddawanie nwych funkcjnalnści jest mniej pracchłnne. Ddatkw istnienie testów jednstkwych czyni prces rzbudwy aplikacji bezpiecznym. 4. Zwiększa się zaangażwanie prgramistów dzięki skierwaniu ich uwagi na cele bizneswe twrzneg prgramwania. PARAMETRY SZKOLENIA Czas trwania: 3 dni - 24 gdziny. Frma zajęć: Labratrium TDD - 60%, wykład 40%. Wielkść grupy: d 10 sób. Języki prgramwania: Java, C#.
SZCZEGÓŁOWY PROGRAM Mduły szkleniwe Nabyte wiedza i umiejętnści, pruszane zagadnienia Cykl prgramwania Cykl TDD red-green-refactr Wprwadzenie d TDD Prgramwanie przyrstwe Zasady twrzenia testów jednstkwych Przykład pracy z użyciem TDD Twrzenie testów jednstkwych z użyciem xunit Wybrane atrybuty knfiguracji xunit @Test[Test] @Befre[SetUp] @After[TearDwn] @Expected[ExpectedExceptin] @Ignre[Ignre] xunit jak narzędzie testwania Wybrane asercje xunit Assert.that Testwanie pzytywne Testwanie negatywne Testwanie wyjątków Wzrce TDD C testwać Testwanie stanu Testwanie zachwania Asercja stanu kńcweg Wzrce testwania xunit Asercja pmcnicza Asercja delta
Asercja własna Asercja interakcji Metda fabryki Klasy pmcnicze Matka biektów Testy parametryzwane Autpdstawianie Uprzywilejwany dstęp Ddatkwy knstruktr Pdklasa na ptrzeby testu Strategie testwania Ogół - szczegół Znane - nieznane Ścieżka pzytywna negatywna Strategie implementacji Zasady TDD Faking it Traingulatin Obvius implementatin Pjęcia TDD Fixture Test dubles (Stubs/Fakes/Mcks) Testwanie stanu i interakcji Refaktryzacje przydatne w TDD Elementy refaktryzacji d wzrców prjektwych Refaktring w kntekście TDD Paradygmaty testwalneg kdu Refaktryzacja testów jednstkwych Usuwanie redundancji w testach
Kmpzycja i dziedziczenie a TDD Testwalny kd Elementy statyczne i singletny Izlwanie i wstrzykiwanie zależnści Architektura warstwwa Cykl życia mcka w Mckit/Mq Mckit/Mq jak narzędzie d twrzenia mcków Testwanie zachwania Stubbing Weryfikacja ilści wywłań Testwanie akceptacyjne Testwanie end-t-end Testwanie end-t-end Jakść zewnętrzna i wewnętrzna Dbre praktyki testwania end-t-end Wprwadzenie d BDD Behaviur-Driven Develpment Testwanie zachwania BDD a User Stries Specyfikacja pprzez przykłady Testwanie dstępu d danych Testwanie integracyjne Narzędzie xdbunit Testwanie transakcji Testwanie z udziałem kmpnentów zewnętrznych Strategie testwania z udziałem kmpnentów zewnętrznych Warstwa adapterów Warsztat praktyczny Inkrementacyjny rzwój przykładweg systemu z użyciem TDD