Autmomatyczne testy oprogramowania

Po co i na co to komu?

@MichalZalecki

michalzalecki.com

Po co testujemy?

Testy znacząco ułatwiają refaktoryzację i przyczyniają się do mniejszej ilości bugów

Testy są dobrym źródłem informacji, stanowią świetną formę dokumentacji technicznej

Testy w procesie refaktoryzacji przyczyniają się do oszczędności czasu 

Testy są pomocne w procesie przenoszenia kodu między aplikacjami

Testy pozytywnie wpływają na kulturę organizacji pracy

Testy to świetny sposób na poznanie nowych narzędzi

Testy idą w parze z dużymi projektami Open Source

Testy jednostkowe

Obejmują najmniejsze funkcjonalne jednostki

(Testy jednostkowe)

Niezależne od dostępu do sieci, bazy danych, systemu pików itd.

(Testy jednostkowe)

Eliminują zależności poprzez makiety
(mock-upy)

(Testy jednostkowe)

Dostarczają szczegółowych informacji

(Testy jednostkowe)

Szybkie w wykonaniu

(Testy jednostkowe)

End-to-End

Testują aplikacje jako całość*, sprawdzają
data-flow między komponentami

(E2E)

Działają w środowisku bliskim produkcyjnemu

(E2E)

Uwzględniają zależności

(E2E)

Informują (tylko)
o wystąpieniu błędu

(E2E)

Dłuższe w wykonaniu od testów jednostkowych

(E2E)

Aplikacja przetestowana!

Czego chcieć wiecej?

Testy integracyjne

Testują tylko współpracę aplikacji z zewnętrznymi usługami

(Testy integracyjne)

Wizualne testy regresyjne

Porównują zmiany w interfejsie użytkownika

(Wizualne testy regresyjne)

Pytania?

Made with Slides.com