ričardas Šliapikas mobile testing

Post on 05-Dec-2014

88 Views

Category:

Software

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

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.

TRANSCRIPT

© 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?

top related