Hugpró, 25. nóvember 2009 Sjálfvirkar viðmótsprófanir Landbankans Gyða Bjarkadóttir Sérfræðingur, Prófanadeild Landsbankans Steinunn M. Halldórsdóttir Sérfræðingur, Prófanadeild Landsbankans
Um okkur Gyða Bjarkadóttir Háskólinn í Reykjavík, BSc. í tölvunarfræði, vor 2008 Prófanadeild, Landsbanki Íslands, sumarið 2007 Prófanadeild, Landsbankinn, 2008 til nú. Steinunn M. Halldórsdóttir Háskólinn í Reykjavík, BSc. í tölvunarfræði, vor 2004 Landmat/Enpocket, 2004-2006 Calidris, 2007 Prófanadeild, Landsbankinn, maí 2007 til nú. Sjálfvirkar viðmótsprófanir 1
Mismunandi sjónahorn Prófar ofan á kóða Gert beint ofan á kóða hugbúnaðar Viðmóts prófanir Gerð ofan á viðmót hugbúnaðar Gerð próf fyrir hvert fall Gerð próf fyrir hvert notkunartilvik Áður en forritari checkar inn sínum breytingum þarf það að standast prófanir. Keyrt fyrir hverja útgáfu sem kemur í prófanir. Sjálfvirkar viðmótsprófanir 2
Hugbúnaður til viðmótsprófana Hér má sjá lista yfir hugbúnað sem er notaður til viðmótsprófana, listinn er ekki tæmandi. Hugbúnaður Quick Test Professional QF-Test Rational robot Selenium SilkTest TestComplete Test Partner Watir Framleiðandi HP Quality First Software IBAM-Rational OpenSource Tool Borland AutomatedQA Micro Focus Open Source Tool Test automation, Wikipedia. Sótt þann 2.11.2009 af: http://en.wikipedia.org/wiki/automated_testing Sjálfvirkar viðmótsprófanir 3
Quick Test Professional HUGBÚNAÐUR TIL VIÐMÓTSPRÓFANA Sjálfvirkar viðmótsprófanir 4
Quick Test Professional (QTP) QTP er þróunartól fyrir sjálfvirkar viðmótsprófanir Hannað með vef og Windows kerfi í huga Aðgerðir eru teknar upp með QTP Gripnar með Microsoft Component Object Model(COM) Einnig hægt að notast við Visual Basic forritun eftir þörfum Athugun er gerð með samanburði. Hægt að geyma prófanagögn í Excel skjali sem QTP síðan notar. Hvert próf notar eitt Excel skjal. Hver lína í Excel skjalinu er eitt prófanatilvik Sjálfvirkar viðmótsprófanir 5
QTP - Dæmi Department/Presentation/Chapter 6
QTP Checkpoints Standard Checkpoints Text Checkpoints XML Checkpoints Reports (Forritaðir checkpointar) Dæmi If strupphaed = strradstofun Then Reporter.ReportEvent micpass, Upphæð", Upphæð er rétt miðað við ráðstöfun" Else Reporter.ReportEvent micfail, Upphæð", Upphæð er EKKI rétt miðað við ráðstöfun" End If Database Checkpoints Accessibility Checkpoints Bitmap Checkpoints Sjálfvirkar viðmótsprófanir 7
Tæknileg vandamál Vafrar Ekki stuðningur við alla helstu vafra. Erum bara að nota þetta með IE Gluggakerfi Aðkeyptar viðbætur við þróunarumhverfi (Visual Studios) Til dæmsi DevExpress Vélbúnaður Getur ekki unnið á þá tölvu sem prófin eru keyrð. Sjálfvirkar viðmótsprófanir 8
SJÁLFVIRKAR PRÓFANIR Í LANDSBANKANUM Sjálfvirkar viðmótsprófanir 9
Hvar vorum við Starfsmenn 8 Fjöldi kerfa í kringum 50 Um 10% þeirra kerfa eru í stöðugri þróun Önnur kerfi prófuð nokkrum sinnum á ári Hver prófari bar einn ábyrgð á sínum kerfum og prófuðu kerfin handvirkt eftir lýsingum Kerfin umfangsmikil og prófanatíminn oft stuttur Erfitt að framkvæma fulla prófun á hvert build/patch Sjálfvirkar viðmótsprófanir 10
Hvað gerðum við Sjálfvirkar prófanir hófust vorið 2007 Quick Test Professional keypt Ákveðið að hafa eitt fast stöðugildi í sjálfvirkum prófunum Byrjað á netbönkum Flestir notendur Viðmót bankans út á við Stuðningur QTP við gluggakerfi ekki nægur þá Færðum okkur yfir í gluggakerfin Bara notað á innanhúss kerfi Sjálfvirkar viðmótsprófanir 11
Ferlið í Sjálfvirkum prófunum Það er einn sérfræðingur í sjálfvirkum prófunum Viðskiptavinurinn er sá prófari sem á vöruna Sérfræðingurinn gerir Proof of Concept á viðkomandi kerfi Sérfræðingurinn sest niður með prófara og fer yfir kerfið Tímafrekustu prófanatilvikin fundin Búin til sjálfvirk próf fyrir þau prófanatilvik Sjálfvirku prófin keyrð fyrir prófarann Farið í gegnum checkpointa og lagfært ef þarf Sjálfvirku prófanirnar keyrðar á hvert build Sjálfvirkar viðmótsprófanir 12
Hvar erum við núna? 4 af 5 stærstu kerfunum nota sjálfvirkar prófanir Sjálfvirkum prófunum er skipt í tvennt Sanity prófin taka 30 mín til 1 klst að keyra Regression prófin taka lengri tíma Síðasta stóra kerfið að komast í sjálfvirkar prófanir Tveir innan deildarinnar sem kunna á QTP Sjálfvirkar viðmótsprófanir 13
KOSTIR, GALLAR OG LÆRDÓMUR Sjálfvirkar viðmótsprófanir 14
Kostir Tímasparandi Endurnýtanlegt Tölvan en fljótari en maðurinn Tölvan getur unnið hvenær sem er, óháð vinnutíma Hægt er að keyra sama prófið oft með mismunandi innslætti. Prófarinn getur einbeitt sér að sértilfellum Tölvan sér um regression prófanir, Prófarinn einbeitir sér að nýjum fítusum Dregur úr mannlegum mistökum Innsláttarvillur Yfirsjást villur Ytra áreiti Tölvan getur keyrt próf án þess að stoppa Tölvan þarf ekki að svara síma né tölvupósti Sjálfvirkar viðmótsprófanir 15
Gallar Líka hægt að gera mistök við gerð sjálfvirks prófs Tölvan er ekki með augu Prófarar sjá oft augljósar útlitsvillur t.d. að takki er í röngum lit. Getur verið tímafrekt að skrifa sjálfvirkar próf Tímasparnaður verður ekki fyrr en eftir að prófið er tilbúið. Viðhald er falinn kostnaður Ef forritari breytir tildæmis html tagi sem prófið notaði til að skilgreina hlut, þá þarf að uppfæra prófið. Takmarkanir Hugbúnaður styður ekki endilega öll stýrikerfi, vafra, aðkeypta pakka(t.d. DevExpress) Sjálfvirkar viðmótsprófanir 16
Lærdómur - Prófanaferlið Tók prófara tíma að treysta sjálfvirkum prófunum Er núna fastur partur af prófanaferlinu Prófanir fyrir hverja útskrift eru meiri Prófarar öruggari um að varan sé í góðu standi Hefur flýtt mikið fyrir Best að hafa 1-2 sérfræðinga í sjálfvirkum prófunum Prófarar og keyrsla QTP Betra að sérfræðingar keyri sjálfvirku prófin Sérfræðingurinn þekkir QTP villur Sjálfvirkar viðmótsprófanir 17
Lærdómur - Kerfin Henta ekki fyrir öll kerfi Kerfi sem koma sjaldan í prófanir Kerfi sem hafa litla virkni Sum TC á bara að prófa handvirkt TC sem eru háð bakvinnslu TC sem treysta á viðkvæm raungögn TC háð tíma Jaðar TC Sjálfvirkar viðmótsprófanir 18
Lærdómur Sjálfvirkar prófanir Algengt að vilja prófa of mikið í einu TC-i Að viðhald er falinn kostnaður Skiptir ekki öllu hvaða hugbúnaður er notaður við sjálfvirkar prófanir Sjálfvirkar viðmótsprófanir 19
Framtíðarsýn Að koma síðasta stóra kerfinu inn í sjálfvirkar prófanir Að bæta við sjálfvirkum prófunum á þau kerfi sem við erum komin með góðan grunn á Að skoða prófanaumhverfi Visual Studio 2010 Sjálfvirkar viðmótsprófanir 20
Takk fyrir Sjálfvirkar viðmótsprófanir 21