estoTwanie w systemie Android -...
Transcript of estoTwanie w systemie Android -...
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Testowanie w systemie Android
Marek Defecilaquoski
Mobica oddziaordf w odzi
Mobile Trends Conference 2012
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
O mnie
Organizator konferencji Mobilizationpl w odzi
Programista aplikacji mobilnych w rmie Mobica
Prawie 3 lata doplusmnwiadczenia w j2mePonad 1 w Androidzie
Animator JUG oacutedsup1 httpinfolodzjugpl
Chciaordfby pisacent bloga Blog programisty Android
httpblogprogramistyandroidblogspotcom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Testowacent czy nie testowacent o to jest pytanie
Nie waraquone jak ale waraquone raquoeby testowacent
Jednostkowo Funkcjonalnie IntegracyjneManualnie AutomatycznieWydajnoplusmnciowo
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Szczbrvbarplusmnliwi programiplusmnci
testy to pewnoplusmncent raquoe dziaordfaspokoacutej o zmiany
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Sprawdzamy poprawnoplusmncent kodu
Czy robi to co chcemyWykrywamy bordfbrvbardy
Zwibrvbarkszajiexcl jakoplusmncent kodu
czy kod jest uraquoywalny (ordfatwo go testowacent)czy jest moduordfowyordfatwo sibrvbar integruje
Testowanie skutkuje lepszym designem
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
O mnie
Organizator konferencji Mobilizationpl w odzi
Programista aplikacji mobilnych w rmie Mobica
Prawie 3 lata doplusmnwiadczenia w j2mePonad 1 w Androidzie
Animator JUG oacutedsup1 httpinfolodzjugpl
Chciaordfby pisacent bloga Blog programisty Android
httpblogprogramistyandroidblogspotcom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Testowacent czy nie testowacent o to jest pytanie
Nie waraquone jak ale waraquone raquoeby testowacent
Jednostkowo Funkcjonalnie IntegracyjneManualnie AutomatycznieWydajnoplusmnciowo
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Szczbrvbarplusmnliwi programiplusmnci
testy to pewnoplusmncent raquoe dziaordfaspokoacutej o zmiany
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Sprawdzamy poprawnoplusmncent kodu
Czy robi to co chcemyWykrywamy bordfbrvbardy
Zwibrvbarkszajiexcl jakoplusmncent kodu
czy kod jest uraquoywalny (ordfatwo go testowacent)czy jest moduordfowyordfatwo sibrvbar integruje
Testowanie skutkuje lepszym designem
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
O mnie
Organizator konferencji Mobilizationpl w odzi
Programista aplikacji mobilnych w rmie Mobica
Prawie 3 lata doplusmnwiadczenia w j2mePonad 1 w Androidzie
Animator JUG oacutedsup1 httpinfolodzjugpl
Chciaordfby pisacent bloga Blog programisty Android
httpblogprogramistyandroidblogspotcom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Testowacent czy nie testowacent o to jest pytanie
Nie waraquone jak ale waraquone raquoeby testowacent
Jednostkowo Funkcjonalnie IntegracyjneManualnie AutomatycznieWydajnoplusmnciowo
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Szczbrvbarplusmnliwi programiplusmnci
testy to pewnoplusmncent raquoe dziaordfaspokoacutej o zmiany
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Sprawdzamy poprawnoplusmncent kodu
Czy robi to co chcemyWykrywamy bordfbrvbardy
Zwibrvbarkszajiexcl jakoplusmncent kodu
czy kod jest uraquoywalny (ordfatwo go testowacent)czy jest moduordfowyordfatwo sibrvbar integruje
Testowanie skutkuje lepszym designem
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Testowacent czy nie testowacent o to jest pytanie
Nie waraquone jak ale waraquone raquoeby testowacent
Jednostkowo Funkcjonalnie IntegracyjneManualnie AutomatycznieWydajnoplusmnciowo
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Szczbrvbarplusmnliwi programiplusmnci
testy to pewnoplusmncent raquoe dziaordfaspokoacutej o zmiany
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Sprawdzamy poprawnoplusmncent kodu
Czy robi to co chcemyWykrywamy bordfbrvbardy
Zwibrvbarkszajiexcl jakoplusmncent kodu
czy kod jest uraquoywalny (ordfatwo go testowacent)czy jest moduordfowyordfatwo sibrvbar integruje
Testowanie skutkuje lepszym designem
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Testowacent czy nie testowacent o to jest pytanie
Nie waraquone jak ale waraquone raquoeby testowacent
Jednostkowo Funkcjonalnie IntegracyjneManualnie AutomatycznieWydajnoplusmnciowo
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Szczbrvbarplusmnliwi programiplusmnci
testy to pewnoplusmncent raquoe dziaordfaspokoacutej o zmiany
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Sprawdzamy poprawnoplusmncent kodu
Czy robi to co chcemyWykrywamy bordfbrvbardy
Zwibrvbarkszajiexcl jakoplusmncent kodu
czy kod jest uraquoywalny (ordfatwo go testowacent)czy jest moduordfowyordfatwo sibrvbar integruje
Testowanie skutkuje lepszym designem
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Szczbrvbarplusmnliwi programiplusmnci
testy to pewnoplusmncent raquoe dziaordfaspokoacutej o zmiany
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Sprawdzamy poprawnoplusmncent kodu
Czy robi to co chcemyWykrywamy bordfbrvbardy
Zwibrvbarkszajiexcl jakoplusmncent kodu
czy kod jest uraquoywalny (ordfatwo go testowacent)czy jest moduordfowyordfatwo sibrvbar integruje
Testowanie skutkuje lepszym designem
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Sprawdzamy poprawnoplusmncent kodu
Czy robi to co chcemyWykrywamy bordfbrvbardy
Zwibrvbarkszajiexcl jakoplusmncent kodu
czy kod jest uraquoywalny (ordfatwo go testowacent)czy jest moduordfowyordfatwo sibrvbar integruje
Testowanie skutkuje lepszym designem
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
(Potencjalne) zalety
Testy to kontrakt na piplusmnmie
rodzaj dokumentacji (samodokumentujiexclcy sibrvbar kod)lista przykordfadoacutewistniejiexclce testy pozwalajiexcl na wykrycie bordfbrvbardoacutew regresji
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Wady (do wytrenowania)
Wymagajiexcl czasu
na napisaniena utrzymanie
Wymagajiexcl wibrvbarcej od programisty
umiejbrvbartnoplusmncidyscypliny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Android - TestowanieKsiiexclraquoka na dobry pocziexcltek
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
RoboSpecshttpsgithubcomjbrechtelrobospecs
Specs2httpetorreborregithubcomspecs2
Calculonhttpsgithubcomkaepplercalculon
Android Junit Reporthttpsgithubcomjsankeyandroid-junit-report
EasyMockhttpeasymockorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Moraquoliwoplusmnci
Borachiohttpborachiocom
Andjecthttpsgithubcomko5tikandject
Android Maven Pluginhttpcodegooglecompmaven-android-plugin
Vogarhttpcodegooglecompvogar
Caliperhttpcodegooglecompcaliper
roacutedordfoacute Manfred Moser - Testing Android Apps Going from Zero toHero - httpwwwsimpligilitycom
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaAnatomia testowania
Aplikacje w androidzie zorganizowane siexcl w paczki (AndroidPacKage)
Test w Androidzie to teraquo paczka (apk)
Paczki w Androidzie nie majiexcl dostbrvbarpu do swojego kodu(security)
Testowanie uraquoywa instrumentacji dzibrvbarki ktoacuterej test i aplikacjatestowana pracujiexcl w tym samym procesie
warunek podpisane siexcl tym samym kluczemUwazamy na biblioteki w teplusmncie i aplikacji testowanej - niemogiexcl sibrvbar powtarzacent (Conversion to Dalvik format failed lubbordfbrvbardy w czasie wykonania)
Uprawnienia (permissions) siexcl takie jak dla aplikacji testowanej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaUruchamianie
AndroidManifestxml
ltmanifest package=plmobiletrendsconftestsgtltuses-library androidname=androidtestrunner gtltinstrumentation androidtargetPackage=plmobiletrendsconf
androidname=androidtestInstrumentationTestRunner gt
Uruchamianie
adb shell am instrumentplmobiletrendsconftestsandroidtestInstrumentationTestRunner
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
InstrumentacjaZastosowanie
Testy jednostkowe - wolne (kompilacja dex aapt adb install)
jeszcze wolniej (emulator)po co w ogoacutele testowacent to na urziexcldzeniuemulatorze
Testy funkcjonalne
tak samo wolnotrudno napisacent przeczytacent utrzymacent
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidInsideandroidtest
androidtestInstrumentationTestCase
umoraquoliwia korzystanie z instrumentacji
symulowanie wciplusmnnibrvbarcia klawiszytestowanie metod raquoycia activity (onStart onCreate)
androidtestActivityInstrumentationTestCase2
najczbrvbarplusmnciej uraquoywana klasagetActivity() - zaordfatwia za nas startowanie
androidtestServiceTestCase
przetestowacent cykl raquoycia serwisu (onBind)
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
androidtestmock
To nie jest mocking framework typu mockito lub easymock
Bardziej zbliraquoone do denicji stuboacutew (M Fowler)To klasy ktoacuterych
metody rzucajiexcl wyjiexcltkaminadpisujemy metody ktoacutere chcemy uraquoycent
Sordfuraquoiexcl izolacji od plusmnrodowiska
MockContextMockContentProvider (baza danych)MockContentResolver (jw)
atwiej coplusmn wstrzykniexclcentNiespecjalnie przydatne
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Monkey i Monkeyrunner
Monkey
wysyordfanie losowych eventoacutew (klawiatura mysz rotacja)tryb serwera (oczekiwanie na polecenia tekstowe)tryb skryptoacutewdokumentacja w kodzie sup1roacutedordfowym SDK
Monkeyrunner
pythonjythonumoraquoliwia
startowanie activitywysyordfanie eventoacutew (klawiatura mysz)screenshoty
moraquona nagracent test uraquoywajiexclc recorder-a (w kodzie sdk)szukaj helppy w kodzie sup1roacutedordfowym SDK
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robotium
Jak Selenium ale dla AndroidTesty typu black box
nie wymagajiexcl kodu aplikacji testowanej (ale mogiexcl)
Testy przyjazne w dotyku - proplusmnciej niraquo instrumentacjazgrabne APIordfatwo sibrvbar piszbrvbarordfatwo sibrvbar czyta
Duraquoe i aktywne community i regularne release-y (30 wlistopadzie 31 w styczniu)
Wadylimit 1 aplikacji na test przejplusmncie do innej aplikacji (np sms)kolaquoczy test (limit instrumentacji)moraquoe i ordfadniej ale wcale nie szybciejzmiany UI = zmiany testoacutew
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
TestDroid recorder
BitBar - httptestdroidcom
Plugin do eclipse
Nagrywanie testoacutew wynikiem siexcl
testy robotiumtesty monkeyrunner
Pordfatny
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
javalangRuntimeException Stub
androidjar - fasada potrzebna do kompilacji
Testy uruchamiane w zwykordfej Javie
SzybkieTypu black-boxatwo zrefaktorowacent
atwo osiiexclgniexclcent duraquoe pokrycie testami
bo szybko sibrvbar piszei szybko uruchamia
Maven (out of the box)
atwe mockowanie http
RobolectricaddPendingHttpResponse()
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
Robolectric
Czy to nadal Android
Brakuje jeszcze duraquoo implementacji
Doordfiexclcz sibrvbar httpsrobolectricorg
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
AndroidDriverAndroidWebDriver
Prawdziwe Selenium
Testujemy stronbrvbar internetowiexcl ale w Androidzie
Dwa tryby uraquoycia
Zdalny serwer WebDriver
Testy na hoplusmncieDowolny jbrvbarzyk programowaniaTen sam test uraquoywasz do innych przegliexcldarek
Testy androidowe (instrumentacja) - SDK Extras
Testy na androidzieDziaordfa szybciej
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
MoraquoliwoplusmnciNarzbrvbardzia
NativeDriver
httpcodegooglecompnativedriver
Reusability
Robimy to samo co Selenium klikamy wpisujemy tekstzmieniamy okna (activity)Wszyscy znajiexcl Selenium to uraquoyjmy to API jeszcze raz
Obsordfuguje wiele platform (iPhoneWindows)
Test po stronie hosta
Serwer po stronie aplikacji
Wymaga doordfiexclczenia jar-a do aplikacji
I zmiany kilku permissions
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Agenda
1 Wstbrvbarp
2 Testujmy
3 Android i testowanieMoraquoliwoplusmnciNarzbrvbardzia
4 Continuous integration
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Budowanie
antmaven
Integracja z HudsonJenkinshttpswikijenkins-ciorgdisplayJENKINSAndroid+Emulator+Plugin
Emulator w trybie headless (-no-window)Snapshots httptoolsandroidcomrecentemulatorsnapshots
Monkey
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous integration
Statyczna analiza kodu
Sonar
Marek Defecilaquoski Testowanie w systemie Android
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
WstbrvbarpTestujmy
Android i testowanieContinuous integration
Continuous Integration
Code Coverage
EmmaTestwell CTC for java (pordfatne)
I tak bbrvbardziemy musieli coplusmn napisacent samemu
python
Marek Defecilaquoski Testowanie w systemie Android
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
Pytania
marekdef+mobiletrendsgmailcom
Dzibrvbarkujbrvbar za uwagbrvbar
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-
Pytania
marekdef+mobiletrendsgmailcomDzibrvbarkujbrvbar za uwagbrvbar
- Wstęp
- Testujmy
- Android i testowanie
-
- Możliwości
- Narzędzia
-
- Continuous integration
-