Najlepsze praktyki testowania aplikacji ASP.NET

13

Click here to load reader

Transcript of Najlepsze praktyki testowania aplikacji ASP.NET

Page 1: Najlepsze praktyki testowania aplikacji ASP.NET

Najlepsze praktyki testowania aplikacji ASP.NET

Marcin Daczkowski

Page 2: Najlepsze praktyki testowania aplikacji ASP.NET

?

Page 3: Najlepsze praktyki testowania aplikacji ASP.NET

UI

Service

Unit

Page 4: Najlepsze praktyki testowania aplikacji ASP.NET

UI

„In short, tests that run end-to-end through the UI are: brittle, expensive to write, and time consuming to run.”

Martin Fowler

Page 5: Najlepsze praktyki testowania aplikacji ASP.NET

Agenda

Page 6: Najlepsze praktyki testowania aplikacji ASP.NET

Demo

• aplikacja sklepu• podstawowa wersja testu

Page 7: Najlepsze praktyki testowania aplikacji ASP.NET

Jakie są korzyści?

• automatyczne testy regresywne• reprodukcja scenariuszy podczas pracy nad

nowymi funkcjonalnościami • testy na wielu przeglądarkach• masowe sprawdzenia scenariuszy dla

różnych parametrów

Page 8: Najlepsze praktyki testowania aplikacji ASP.NET

Jak redukować koszty?

• testuj tylko kluczowe scenariusze• buduj testy stopniowo zaczynając od

„happy path”• ogranicz asercje• zacznij wcześnie• postaw na zespół

Page 9: Najlepsze praktyki testowania aplikacji ASP.NET

Jak zmniejszyć złożoność?

• twórz testy niezależne od sterownika• preferuj selekcję po id > name > css > xpath• oznaczaj elementy aby uprościć dostęp• korzystaj z wzorca Page Object– logiczny widok strony– ukrywa użycie sterownika przed testem– nie zawiera asercji– fluent interface

Page 10: Najlepsze praktyki testowania aplikacji ASP.NET

Demo

• parametryzowany TestFixture• stworzenie Page Object dla poprzedniego

testu• PageFactory

Page 11: Najlepsze praktyki testowania aplikacji ASP.NET

Jak przyspieszyć testy?

• headless browser• DriverService• wysokopoziomowe mockowanie• uruchamianie testów równolegle

Page 12: Najlepsze praktyki testowania aplikacji ASP.NET

Demo

• Phantom JS• Driver Service

Page 13: Najlepsze praktyki testowania aplikacji ASP.NET

Zapraszam do dyskusji