Transcript
Page 1: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus Harmoningi IT sprendimai

Mobilus testavimas? Automatizuokim!*

*Gyvenimas per trumpas rankiniam testavimui

Page 2: Ričardas Šliapikas Mobile testing

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

Page 3: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 3

KODĖL AUTOMATIZUOTI?

Tikslu

Įdomu Motyvuoja

Lankstu

Page 4: Ričardas Šliapikas Mobile testing

© 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

Page 5: Ričardas Šliapikas Mobile testing

© 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

Page 6: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 6

MOBILUS AUTOMATIZAVIMAS

UIAUTOMATOR INSTRUMENTS

UIAUTOMATION

Page 7: Ričardas Šliapikas Mobile testing

© 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

Page 8: Ričardas Šliapikas Mobile testing

© 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

Page 9: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 9

APPIUM – KAS TAI?

UIAutomator InstrumentsWebDriver

Page 10: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 10

APPIUM ARCHITEKTŪRA

WebDriver script

WebDriver controller:

Instruments / UIAutomator

Command client:

Instruments / UIAutomator

HTTP:JSON Wire

Page 11: Ričardas Šliapikas Mobile testing

© 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

Page 12: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 12

KAIP NEAUTOMATIZUOTI?

Testas = skriptas? Ne!

Problemos Daug kodo

dublikavimo

Reikalauja daug laiko palaikyti/atnaujinti

Page 13: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 13

OBJEKTINIS POŽIŪRIS Į TESTĄ

Testo logika

Testuojamo objekto

valdymas

Page 14: Ričardas Šliapikas Mobile testing

© 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

Page 15: Ričardas Šliapikas Mobile testing

© 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

Page 16: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 16

KAIP VEIKIA TESTAS?

PageMain

TestPage

DarbuotojoAtlyginimas

Page 17: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 17

LOGIKOS/INTERFEISO ATSKYRIMO PRIVALUMAI

Mažesni palaikymo kaštai

Paprasčiau rašyti testus

Komponentų pernaudojimas

Page 18: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 18

AUTOMATINIŲ TESTŲ ARCHITEKTŪRA

Test klasėsPage klasės Utils Assert Mobile Test Table etc.

Page 19: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 19

TIPS AND TRICKS

Teksto įvedimas Paspausti, Įvesti, Paslėpti

Page 20: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 20

TIPS AND TRICKS

Testų sąrašas Custom doclet

Page 21: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 21

TIPS AND TRICKS

Kreipimasis į WebService

Per komandinę eilutę įvykdant

skriptą

Page 22: Ričardas Šliapikas Mobile testing

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

Page 23: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 23

TESTNG ATASKAITA

Page 24: Ričardas Šliapikas Mobile testing

© 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

Page 25: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 25

REZULTATAS

Kas iš to?

Greičiau

Lanksčiau

Labiau užtikrintai

Page 26: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 26

TOLIAU?

Kas laukia? Testų stabilizavimas Testų pritaikymas iOS Tobulinimas

Page 27: Ričardas Šliapikas Mobile testing

© 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

Page 28: Ričardas Šliapikas Mobile testing

© UAB Baltic Amadeus© UAB Baltic Amadeus 28

KLAUSIMAI?


Top Related