Księżycowo podbudowane testowanie

Post on 25-Jan-2015

454 views 2 download

description

Slajdy z prezentacji przygotowanej na konferencję DevCrowd 2013

Transcript of 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

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