Upload
fpajak
View
454
Download
2
Embed Size (px)
DESCRIPTION
Slajdy z prezentacji przygotowanej na konferencję DevCrowd 2013
Citation preview
.
......
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Rozwinięcie Decyzja
Dlaczego JVM?Przyzwyczajenie.Brak poważnych przeciwwskazań.
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 13 / 26
Rozwinięcie Decyzja
Dlaczego JVM?Przyzwyczajenie.Brak poważnych przeciwwskazań.
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 13 / 26
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
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
Rozwinięcie Decyzja
Dlaczego TestNg?
Fanboyizm.Moc.Elastyczność.
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 15 / 26
Rozwinięcie Decyzja
Dlaczego TestNg?
Fanboyizm.Moc.Elastyczność.
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 15 / 26
Rozwinięcie Decyzja
Dlaczego Guice?
PrzyzwyczajenieLekkość
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 16 / 26
Rozwinięcie Decyzja
Dlaczego Guice?
PrzyzwyczajenieLekkość
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 16 / 26
Rozwinięcie Decyzja
Dlaczego Maven?PrzyzwyczajenieStandard firmowy
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 17 / 26
Rozwinięcie Decyzja
Dlaczego Maven?PrzyzwyczajenieStandard firmowy
Filip „Filus” Pająk (NCDC) Księżycowo podbudowane testowanie 20 kwietnia 2013 17 / 26
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
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
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
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
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
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
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
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
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
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
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
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
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