Download - Ričardas Šliapikas Mobile testing
© UAB Baltic Amadeus© UAB Baltic Amadeus Harmoningi IT sprendimai
Mobilus testavimas? Automatizuokim!*
*Gyvenimas per trumpas rankiniam testavimui
© UAB Baltic Amadeus© UAB Baltic Amadeus 2
Ričardas Šliapikas
UAB “Baltic Amadeus” įkurta 1988 m., ~100 darbuotojų.
Pagrindinės veiklos kryptys: programavimo ir testavimo paslaugos, bankiniai, web, mobilūs ir kiti specializuoti IT sprendimai.
Įmonė veikia pagal Agile principus
http://www.ba.lt http://www.enjoyit.lt/
KAS? IŠ KUR?
© UAB Baltic Amadeus© UAB Baltic Amadeus 3
KODĖL AUTOMATIZUOTI?
Tikslu
Įdomu Motyvuoja
Lankstu
© UAB Baltic Amadeus© UAB Baltic Amadeus 4
APIE KĄ?
Apie projektą Mobilaus automatizavimo įrankiai: Appium Kaip neautomatizuoti testų? Kaip automatizuoti testus? „Tips and tricks“ bei rezultatai
© UAB Baltic Amadeus© UAB Baltic Amadeus 5
PROJEKTAS „MOBILI PINIGINĖ“
Iššūkiai Aktyvus vystymas Daug regresinio testavimo Žemas vartotojų
pasitenkinimas Negalima naudoti emuliatorių
Sprendimas? Regresinio testavimo
automatizavimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 6
MOBILUS AUTOMATIZAVIMAS
UIAUTOMATOR INSTRUMENTS
UIAUTOMATION
© UAB Baltic Amadeus© UAB Baltic Amadeus 7
WEBDRIVER
WebDriver standartas aprašo: Sesijos sukūrimą HTML elementų paiešką Naršyklės langų valdymą Galimas klaidas Ir t.t.
WebDriver klientai egzistuoja: Java, C#, Python,
Ruby, PHP, Perl, JavaScript
Selenese
© UAB Baltic Amadeus© UAB Baltic Amadeus 8
WEBDRIVER
„WebDriver API, a platform and language-neutral interface and associated wire protocol that allows programs or scripts to introspect into, and control the behaviour of, a web browser.“
Plačiai naudojamas naršyklių automatizavimui
Turėtų tapti W3C standartu
*Šaltinis: https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html
© UAB Baltic Amadeus© UAB Baltic Amadeus 9
APPIUM – KAS TAI?
UIAutomator InstrumentsWebDriver
© UAB Baltic Amadeus© UAB Baltic Amadeus 10
APPIUM ARCHITEKTŪRA
WebDriver script
WebDriver controller:
Instruments / UIAutomator
Command client:
Instruments / UIAutomator
HTTP:JSON Wire
© UAB Baltic Amadeus© UAB Baltic Amadeus 11
UŽ IR PRIEŠ
Appium privalumai Nereikia agentų Vienodi* testai Android ir
iOS Standartizuotas WebDriver
interfeisas Atviro kodo ir nemokama
Appium trūkumai Atviro kodo ir nemokama Nepalaiko WP Prastas Xpath palaikymas
© UAB Baltic Amadeus© UAB Baltic Amadeus 12
KAIP NEAUTOMATIZUOTI?
Testas = skriptas? Ne!
Problemos Daug kodo
dublikavimo
Reikalauja daug laiko palaikyti/atnaujinti
© UAB Baltic Amadeus© UAB Baltic Amadeus 13
OBJEKTINIS POŽIŪRIS Į TESTĄ
Testo logika
Testuojamo objekto
valdymas
© UAB Baltic Amadeus© UAB Baltic Amadeus 14
GOOGLE PAGE PATTERN
Page objektas Užtikrina, kad reikiamas
puslapis pilnai užkrautas
Aprašo galimą sąveiką su testuojamu objektu
© UAB Baltic Amadeus© UAB Baltic Amadeus 15
GOOGLE PAGE PATTERN
Test objektas Paruošia sąlygas testo
vykdymui
Aprašo testo logiką (žingsnius)
Išvalo duomenis po testo
© UAB Baltic Amadeus© UAB Baltic Amadeus 16
KAIP VEIKIA TESTAS?
PageMain
TestPage
DarbuotojoAtlyginimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 17
LOGIKOS/INTERFEISO ATSKYRIMO PRIVALUMAI
Mažesni palaikymo kaštai
Paprasčiau rašyti testus
Komponentų pernaudojimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 18
AUTOMATINIŲ TESTŲ ARCHITEKTŪRA
Test klasėsPage klasės Utils Assert Mobile Test Table etc.
© UAB Baltic Amadeus© UAB Baltic Amadeus 19
TIPS AND TRICKS
Teksto įvedimas Paspausti, Įvesti, Paslėpti
© UAB Baltic Amadeus© UAB Baltic Amadeus 20
TIPS AND TRICKS
Testų sąrašas Custom doclet
© UAB Baltic Amadeus© UAB Baltic Amadeus 21
TIPS AND TRICKS
Kreipimasis į WebService
Per komandinę eilutę įvykdant
skriptą
© UAB Baltic Amadeus© UAB Baltic Amadeus 22
TESTNG
Testų ataskaitos
Galima paleisti prieš tai nepavykusius testus
Testų priklausomybės
Testų rinkiniai xml failuose
http://testng.org/
© UAB Baltic Amadeus© UAB Baltic Amadeus 23
TESTNG ATASKAITA
© UAB Baltic Amadeus© UAB Baltic Amadeus 24
REZULTATAS
Kas atlikta? Automatizuoti testai Android Testų rinkiniai.xml failuose HTML ataskaita su ekrano vaizdais Automatiškai generuojamas testų sąrašas Testai gali nesudėtingai kreiptis į WS Testams paleisti nereikia infrastruktūros
© UAB Baltic Amadeus© UAB Baltic Amadeus 25
REZULTATAS
Kas iš to?
Greičiau
Lanksčiau
Labiau užtikrintai
© UAB Baltic Amadeus© UAB Baltic Amadeus 26
TOLIAU?
Kas laukia? Testų stabilizavimas Testų pritaikymas iOS Tobulinimas
© UAB Baltic Amadeus© UAB Baltic Amadeus 27
KĄ DAR REIKIA ŽINOTI?
Automatizavimas nebūtinai visada pasiteisina
Automatizavimas užtrunka
Automatinius testus dažnai reikia stabilizuoti, o po to palaikyti
© UAB Baltic Amadeus© UAB Baltic Amadeus 28
KLAUSIMAI?