01 - Wprowadzenie do TDD

Post on 02-Dec-2014

1.205 views 3 download

description

 

Transcript of 01 - Wprowadzenie do TDD

Plan na dziś

1.Historia

2.Definicja

3.Skąd wiem, że mój kod działa?

4.Cykl TDD

5.Kata

6.Czego się nauczę na tych zajęciach?

7.Warunki zaliczenia

Coś o mnie

Krzysztof Jelski

ZACZYNAMY!

TEST

DRIVEN

DEVELOPMENT

#1 wprowadzenie

HISTORIA

HISTORIA

Kent Beck

AUTOMATYCZNE TESTY

PROGRAMISTÓW

1

TESTY PISANE PRZED KODEM

2

STOPNIOWEPROJEKTOWANIE

3

PROGRAMOWANIE

CZY MÓJ KOD DZIAŁA?

t

LONG FEEDBACK LOOP

t

SHORT FEEDBACK LOOPS

CYKL TDD

REDGREEN

REFACTOR

CYKL TDD

REFACTOR

CYKL TDD

REDGREEN

REFACTOR

spraw abytest

przechodził

napisznieprzechodzący

test

refaktoryzuj

KATA

1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz,

16, 17, Fizz, 19, Buzz, Fizz, 22, 23, Fizz, Buzz, 26, Fizz, 28, 29, Fizz

Buzz, 31, 32, Fizz, 34, Buzz, Fizz, ...

SPODZIEWANE EFEKTY

TECHNIKA

KOMPETENCJE

WIEDZA

CYKL TDD

● znam i potrafię zastosować cykl TDD● znam zalety TDD

REFAKTORYZACJE

● potrafię dostrzec kilka rodzajów duplikacji i ją usunąć

● znam podstawowe refaktoryzacje niskopoziomowe

TESTOWALNOŚĆ

● rozumiem czym jest● wiem, co na nią wpływa i jak ją zwiększać

PROJEKTOWANIE

● znam i potrafię zastosować heurystyki (SOLID)● znam wzorce ułatwiające testowanie GUI

(Model-View-Presenter, Presentation Model)

TESTOWANIE JEDNOSTKOWE

● znam i potrafię stosować mocki/stuby● znam idiomy i wzorce testów jednostkowych

(Arrange-Act-Assert/Given-When-Then, testowanie wyjątków)

PRACA Z ODZIEDZICZONYM KODEM

● potrafię dodawać testy do istniejącego kodu● wiem jak pisać testy charakteryzacyjne

OCENA

● 30 punktów - Projekt - rozwiązanie prostego problemu za pomocą TDD w domu i prezentacja kodu na zajęciach (ok. 10 minut)

● 20 punktów - Screencast - ilustracja wybranego zagadnienia omawianego na zajęciach

● 50 punktów - Screencast - pokaz kodowania TDD

[3, 4] By Joe Mabel (Photo by Joe Mabel) [CC-BY-SA-3.0 or GFDL], from Wikimedia Commons[6] http://commons.wikimedia.org/wiki/File:Kent_Beck_no_Workshop_Mapping_XP.jpg[7] http://www.psa-peugeot-citroen-press.co.uk/images/2007-10-03/Laser%20welding%20robot%20on%20the%20body-assembly%20line%20of%20the%20FIAT%20FIORINO,%20PEUGEOT%20BIPPER%20and%20CITROEN%20NEMO.jpg[8] http://commons.wikimedia.org/wiki/File:April_dawn.jpg[9] http://www.flickr.com/photos/spaceamoeba/3101102763/[17] http://buzzyteam.files.wordpress.com/2009/05/bloglogo1.png?w=120&h=120[18] http://commons.wikimedia.org/wiki/File:2010_Winter_Olympics_Didier_Defago_in_downhill.jpg

DZIĘKUJĘ

Zdjęcia:

warsjawa.pl

15 października 2011, 9.00-17.30, EiTI