Slideshow transcript
Slide 1: Bartłomiej Szafko
Slide 2: Be Driven! Wymagana dyscyplina Szersze spojrzenie na programowanie Umiejętność zastosowania się do zaleceń
Slide 3: Test Driven! Testy Kodowanie Uruchamianie testów Naprawianie kodu Uruchamianie testów(znowu) Refaktoryzacja Za Asutosh Nilkanth http://www.nilkanth.com
Slide 4: TDD jest AGILE AGILE: grupa metodyk projektowych eXtremeProgramming: iteracje + TESTOWANIE Szybko dostarczamy działające oprogramowanie Klient może sobie podziałać na prawie gotowej aplikacji Silne nastawienie na zmianę
Slide 5: http://www.extremeprogramming.org
Slide 6: Testowanie Przecież sprawdzam mój kod! Rodzaje testów Unit Integration(moduły) Functional(według specyfikacji, user story) System( wymagania) System integration ( współpraca z innymi aplikacjami) Acceptance – akceptacji: Alfa + Beta Testy dokumentują kod
Slide 7: Testowanie – cd. To, że przechodzą testy, nie oznacza, że nie ma błędów Im więcej błędów znajdziesz – tym więcej ich jest (nieodkrytych?) Nie wszystkie błędy naprawiamy ???
Slide 8: Unit Testing Testowanie małych kawałków kodu - unitów Unit: Procedura, funkcja ( w językach proceduralnych) Metoda
Slide 9: Zasady budowania testów Zostajemy w obrębie procesu i hosta Nie testujemy zapisywanie/pobierania z bazy danych Problem: taki sam stan bazy przed testami Problem: zewnętrzna zależność serwer SQL Nie testujemy wywołań web service, ani niczego sieciowego Pojedyncze sprawdzenie wyniku(Assert), jeśli więcej rozbijamy test Czasem osobny test dla każdej metody Testy na wyjątki na końcu
Slide 10: NUNIT(www.nunit.org) Atrybuty: TestFixture – klasa Test – metoda – właściwy test + Asserty ExpectedException SetUp – metoda – stan na start TearDown – metoda – przywrócenie stanu orginalego Assert – sprawdzanie wartości DEMO
Slide 11: Mock, fake Oszukane implementacje interfejsów Pozwala dodać listę metoda – wynik; property – wynik; Pozwalają ominąć kawałki sięgające na zewnątrz (np. baza danych, web service) Nmock ( http://www.nmock.org) Pozwala na wielokrotne wywołania metod DEMO
Slide 12: Code coverage – pokrycie kodu Chcemy, żeby nasze testy pokrywały 100% kodu Wszystkie rozgałęzienia: If, case, exceptions, catch Pozwala stwierdzić ile i _JAKI_ kod nie jest testowany NCover (http://www.ncover.org/), niestety płatny
Slide 13: Testowanie UI - Winforms NUnitForms (http://nunitforms.sourceforge.net/) TestRecoder Problem: okna modalne, własne kontrolki DEMO
Slide 14: Testowanie UI – ASP .NET WatiN (http://watin.sourceforge.net/) WatiN TestRecoder WatiN nadaje się do stress testów WADY: Wolno działa Zmiany w .aspx mogą uniemożliwić testowanie VSTS ma dobre narzędzia do testowania Web: Symulowanie różnych rozkładów obciążeń DEMO
Slide 15: Ciekawe narzędzia Wtyczka do VS TestDriven.NET ( http://www.testdriven.net)
Slide 16: Pytania? Kompilacja linków + slajdy: http://bartekszafko.inc.pl Dziękuję za uwagę



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 0 (more)