Księżycowo podbudowane testowanie

37
. . Księżycowo podbudowane testowanie czyli rzecz o sklecaniu własnej podbudowy do zautomatyzowanych testów funkcjonalnych aplikacji sieciowych. Filip „Filus” Pająk NCDC 20 kwietnia 2013 Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 1 / 26

description

Slajdy z prezentacji przygotowanej na konferencję DevCrowd 2013

Transcript of Księżycowo podbudowane testowanie

Page 1: Księżycowo podbudowane testowanie

.

......

Księżycowo podbudowane testowanieczyli rzecz o sklecaniu własnej podbudowy do zautomatyzowanych

testów funkcjonalnych aplikacji sieciowych.

Filip „Filus” Pająk

NCDC

20 kwietnia 2013

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 1 / 26

Page 2: Księżycowo podbudowane testowanie

Zastrzeżenia

Ograniczona Gwarancja

Prezentacja jest dostarczona tak jak jest.Autor zastrzega sobie prawo do tremy.Autor starał się nie popełniać błędów językowych, ale nikt nie jestdoskonały.Autor nie jest guru jeśli chodzi o prezentowany temat.Autor zastrzega sobie prawo do nieznajomości odpowiedzi nazadane pytanie.Aczkolwiek postara się nie rozmijać z rzeczywistością ;)

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 2 / 26

Page 3: Księżycowo podbudowane testowanie

Zastrzeżenia

Agenda

1 Wstęp

2 Rozwinięcie

3 Zakończenie

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 3 / 26

Page 4: Księżycowo podbudowane testowanie

Wstęp

Co teraz?

1 Wstęp

2 Rozwinięcie

3 Zakończenie

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 4 / 26

Page 5: Księżycowo podbudowane testowanie

Wstęp

Tło

Rok: 2010Zespół czteroosobowy:

„zewnętrzny” względem „programistów”,niespecjalnie doświadczony programistycznie.

Aplikacje sieciowe (WWW) w mniejszości.Mocno ograniczony budżet.Limitowany czas.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 5 / 26

Page 6: Księżycowo podbudowane testowanie

Wstęp

Dylemat

Dzień P(ytania) – A może by tak to zautomatyzować?Dzień D(ecyzji) – Dobra, zrobimy tak…

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 6 / 26

Page 7: Księżycowo podbudowane testowanie

Wstęp

Wcześniejsze doświadczenia

Selenium 1 i JameleonWłasne narzędzie do testowania Oracle Forms

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 7 / 26

Page 8: Księżycowo podbudowane testowanie

Wstęp

(Ówczesne) założenia

Łatwość pisaniaElastycznośćMożliwość uruchamiania „na zewnątrz”

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 8 / 26

Page 9: Księżycowo podbudowane testowanie

Rozwinięcie

Co teraz?

1 Wstęp

2 Rozwinięcie

3 Zakończenie

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 9 / 26

Page 10: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Klamka zapadła

Własne.Selenium 2 (WebDriver)GroovyTestNgGuiceMaven

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 10 / 26

Page 11: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego własne?

Brak budżetuBrak wiedzy o innym rozwiazaniuNieprzekonanie do znanych rozwiązańInne

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 11 / 26

Page 12: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego własne?

Brak budżetuBrak wiedzy o innym rozwiazaniuNieprzekonanie do znanych rozwiązańInne

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 11 / 26

Page 13: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Selenium 2?

Doświadczenia z wcześniejszą wersją.Przesłanki, że będzie „standardem”.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 12 / 26

Page 14: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Selenium 2?

Doświadczenia z wcześniejszą wersją.Przesłanki, że będzie „standardem”.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 12 / 26

Page 15: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego JVM?Przyzwyczajenie.Brak poważnych przeciwwskazań.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 13 / 26

Page 16: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego JVM?Przyzwyczajenie.Brak poważnych przeciwwskazań.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 13 / 26

Page 17: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Groovy?Niski próg wejścia.Elastyczność.Łatwość wyrażania się.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 14 / 26

Page 18: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Groovy?Niski próg wejścia.Elastyczność.Łatwość wyrażania się.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 14 / 26

Page 19: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego TestNg?

Fanboyizm.Moc.Elastyczność.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 15 / 26

Page 20: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego TestNg?

Fanboyizm.Moc.Elastyczność.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 15 / 26

Page 21: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Guice?

PrzyzwyczajenieLekkość

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 16 / 26

Page 22: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Guice?

PrzyzwyczajenieLekkość

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 16 / 26

Page 23: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Maven?PrzyzwyczajenieStandard firmowy

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 17 / 26

Page 24: Księżycowo podbudowane testowanie

Rozwinięcie Decyzja

Dlaczego Maven?PrzyzwyczajenieStandard firmowy

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 17 / 26

Page 25: Księżycowo podbudowane testowanie

Rozwinięcie (Obecne) Rozwiązanie

Co teraz?

1 Wstęp

2 RozwinięcieDecyzja(Obecne) RozwiązaniePrzeszkody

3 Zakończenie

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 18 / 26

Page 26: Księżycowo podbudowane testowanie

Rozwinięcie (Obecne) Rozwiązanie

Projekty składają się z modułów:z opisem stron,z przepływami testowymi,z definicjami obiektów danychi dystrybucyjnego.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 19 / 26

Page 27: Księżycowo podbudowane testowanie

Rozwinięcie (Obecne) Rozwiązanie

Biblioteki:commons - rdzeń podbudowy,uzupełniających TestNg,wspierających zewnętrzne źródła danych,rozszerzających podbudowę pod danego klienta.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 20 / 26

Page 28: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Co teraz?

1 Wstęp

2 RozwinięcieDecyzja(Obecne) RozwiązaniePrzeszkody

3 Zakończenie

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 21 / 26

Page 29: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Rodzaje przeszkód

Własne.Wybranych narzędzi.Nasi Kochani Programiści.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 22 / 26

Page 30: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Przeszkody własne:

„Zwykłe” błędy.Braki w wyobraźni.Braki w wiedzy.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 23 / 26

Page 31: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Przeszkody własne:

„Zwykłe” błędy.Braki w wyobraźni.Braki w wiedzy.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 23 / 26

Page 32: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Przeszkody od narzędzi:Błędy.Zmiany (np. w API)Nieprzystające zachowania.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 24 / 26

Page 33: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Przeszkody od narzędzi:Błędy.Zmiany (np. w API)Nieprzystające zachowania.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 24 / 26

Page 34: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Przeszkody od programistów:

Wybrane przez „Nich” technologie.Zmiany.Zmiany.Zmiany.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 25 / 26

Page 35: Księżycowo podbudowane testowanie

Rozwinięcie Przeszkody

Przeszkody od programistów:

Wybrane przez „Nich” technologie.Zmiany.Zmiany.Zmiany.

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 25 / 26

Page 36: Księżycowo podbudowane testowanie

Zakończenie

Co teraz?

1 Wstęp

2 Rozwinięcie

3 Zakończenie

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 26 / 26

Page 37: Księżycowo podbudowane testowanie

Zakończenie

Koniec

…o to byłoby na tyle

Blog: http://pacykarz.blogspot.com

Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 27 / 26