Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ričardas Šliapikas Mobile testing

303 views

Published on

Test automation is one of general principles of Agile and mobile app automation was relatively poorly covered topic. However, now there is an open source Appium tool that can cover mobile automation using the good old Selenium framework. I will explore the possibilities of mobile application automation using Appium and will cover a specific use case where it has been applied.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Ričardas Šliapikas Mobile testing

  1. 1. Mobilus testavimas? Automatizuokim!* *Gyvenimas per trumpas rankiniam testavimui © UAB Baltic Amadeus Harmoningi IT sprendimai
  2. 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/ ©© UUAABB BBaallttiicc AAmmaaddeeuuss 2 KAS? IŠ KUR?
  3. 3. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KODĖL AUTOMATIZUOTI?  Tikslu 3  Įdomu  Motyvuoja  Lankstu
  4. 4. ©© UUAABB BBaallttiicc AAmmaaddeeuuss APIE KĄ?  Apie projektą  Mobilaus automatizavimo įrankiai: Appium  Kaip neautomatizuoti testų?  Kaip automatizuoti testus?  „Tips and tricks“ bei rezultatai 4
  5. 5. ©© UUAABB BBaallttiicc AAmmaaddeeuuss PROJEKTAS „MOBILI PINIGINĖ“ Iššūkiai  Aktyvus vystymas  Daug regresinio testavimo  Žemas vartotojų pasitenkinimas  Negalima naudoti emuliatorių Sprendimas?  Regresinio testavimo automatizavimas 5
  6. 6. MOBILUS AUTOMATIZAVIMAS UIAUTOMATOR INSTRUMENTS UIAUTOMATION ©© UUAABB BBaallttiicc AAmmaaddeeuuss 6
  7. 7. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 7
  8. 8. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 8
  9. 9. ©© UUAABB BBaallttiicc AAmmaaddeeuuss APPIUM – KAS TAI? 9 WebDriver UIAutomator Instruments
  10. 10. ©© UUAABB BBaallttiicc AAmmaaddeeuuss APPIUM ARCHITEKTŪRA WebDriver script WebDriver controller: Instruments / UIAutomator Command client: Instruments / UIAutomator HTTP: JSON Wire 10
  11. 11. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 11
  12. 12. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KAIP NEAUTOMATIZUOTI? Testas = skriptas? Ne! Problemos  Daug kodo dublikavimo  Reikalauja daug laiko palaikyti/atnaujinti 12
  13. 13. Testuojamo objekto valdymas ©© UUAABB BBaallttiicc AAmmaaddeeuuss OBJEKTINIS POŽIŪRIS Į TESTĄ Testo logika 13
  14. 14. ©© UUAABB BBaallttiicc AAmmaaddeeuuss GOOGLE PAGE PATTERN Page objektas  Užtikrina, kad reikiamas puslapis pilnai užkrautas  Aprašo galimą sąveiką su testuojamu objektu 14
  15. 15. ©© UUAABB BBaallttiicc AAmmaaddeeuuss GOOGLE PAGE PATTERN Test objektas  Paruošia sąlygas testo vykdymui  Aprašo testo logiką (žingsnius)  Išvalo duomenis po testo 15
  16. 16. KAIP VEIKIA TESTAS? Page Main Test Page Darbuotojo Atlyginimas ©© UUAABB BBaallttiicc AAmmaaddeeuuss 16
  17. 17. ©© UUAABB BBaallttiicc AAmmaaddeeuuss LOGIKOS/INTERFEISO ATSKYRIMO PRIVALUMAI  Mažesni palaikymo kaštai  Paprasčiau rašyti testus  Komponentų pernaudojimas 17
  18. 18. ©© UUAABB BBaallttiicc AAmmaaddeeuuss AUTOMATINIŲ TESTŲ ARCHITEKTŪRA  Test klasės 18 Page klasės Utils Assert Mobile Test Table etc.
  19. 19. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TIPS AND TRICKS  Teksto įvedimas  Paspausti, Įvesti, Paslėpti 19
  20. 20. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TIPS AND TRICKS  Testų sąrašas  Custom doclet 20
  21. 21. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TIPS AND TRICKS  Kreipimasis į WebService 21 Per komandinę eilutę įvykdant skriptą
  22. 22. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TESTNG  Testų ataskaitos  Galima paleisti prieš tai nepavykusius testus  Testų priklausomybės  Testų rinkiniai xml failuose  http://testng.org/ 22
  23. 23. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TESTNG ATASKAITA 23
  24. 24. ©© UUAABB BBaallttiicc AAmmaaddeeuuss 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 24
  25. 25. ©© UUAABB BBaallttiicc AAmmaaddeeuuss REZULTATAS 25 Kas iš to?  Greičiau  Lanksčiau  Labiau užtikrintai
  26. 26. ©© UUAABB BBaallttiicc AAmmaaddeeuuss TOLIAU? Kas laukia?  Testų stabilizavimas  Testų pritaikymas iOS  Tobulinimas 26
  27. 27. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KĄ DAR REIKIA ŽINOTI?  Automatizavimas nebūtinai visada pasiteisina  Automatizavimas užtrunka  Automatinius testus dažnai reikia stabilizuoti, o po to palaikyti 27
  28. 28. ©© UUAABB BBaallttiicc AAmmaaddeeuuss KLAUSIMAI? 28

×