Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

Poznańska grupa .Net spotkanie VI - Test Driven Development

From bartlomiej.szafko, 8 months ago

603 views  |  0 comments  |  0 favorites  |  4 downloads  |  4 embeds (Stats)
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 603
on Slideshare: 576
from embeds: 27* * Views from embeds since 21 Aug, 07

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ę