If you can't read please download the document
Upload
michal-spacek
View
2.427
Download
1
Embed Size (px)
Citation preview
PowerPoint Presentation
Vyuit chemie v procesu testovn webovch aplikac vytvoench pomoc technologi PHP a Java
aneb Selenium v akci
Michal paek, WebExpo 2008, Praha
Pro vbec testovat?
N software nem dn chyby,
jen si ije svm ivotem.
N software nem dn chyby,
jen si ije svm ivotem.
Jak testovn
Unit testing
testovn samostatnch modul, td, funkc
Regression testing
vci, kter fungovaly musej fungovat i nadle
Integration testing
ok, samostatn nm to funguje,
ale funguje to vechno dohromady?
System testing
(Functional testing, Acceptance testing)
spluje vsledek specifikace a poadavky?
Co testovat
vkon
zt
UI (uivatelsk rozhran)
pstupnost
pouitelnost
bezpenost
nov auta
Nzev pednky?
Spojen nstroj do jednoho funknho celku
Regression, Integration, System testing
UI testing
Nzev pednky?
Spojen nstroj do jednoho funknho celku
Regression, Integration, System testing
UI testing
Pouit nstroje
Selenium
Python
hlava
prsty
klvesnice
Selenium je
testovac systm pro webov aplikace
sada nstroj pro
automatizaci testovn
testovn na rznch platformch
dostupn na
Selenium bylo
stvoeno potkem 2004 (dnes Selenium Core)
nejdve jako in-house nstroj na testovn
Javascript Functional Test Runner, ThoughtWorks
v souasnosti na nstroji pracuje 10+ lid
ze spolenost jako nap. Google, i Oracle
pouv se ve spolenostech
Skype
vytvoeno pro tmy pouvajc agiln techniky
ale nejen pro n
Jak to funguje
v prohlei se nate testovan strnka
spust se test
v testu je mon programov
klikat na odkazy
zjiovat zda je na strnce text
provdt a vyhodnocovat XPath dotazy
vyplovat vstupn polka
odeslat formule
vyrbt screenshoty
Jak to funguje
je to vlastn elektronick cvien opice
na steroidech
pro kadho webovho testera
a kadho 1337 h4x0ra
Podstatn lenov rodiny Seleniovch
Selenium Core
dda
Selenium IDE
tta
Selenium Remote Control (RC)
vlivn strc
Selenium Grid
bratranci
Dda Selenium Core
pvodn testovac systm
pomoc JS a IFRAME
testovac engine se pmo vlo do testovanho webu atesty se spoutj pmo v prohlei
jist omezen
crossdomain JS, nelze pomoc JS z jedn domny pracovat s formulem na jin domn
testy a aplikace na jedn domn
testy se zapisuj pomoc Selenese tabulek
Selenese tabulky
Tta Selenium IDE
rozen pro Firefox 2+ pro tvorbu test
umouje klikat a nahrvat testy pmo na testovan webov strnce
klikn se pak zobraz jako pkazy, kter lze pehrt zpt
a taky pehrvat
a debugovat a editovat
lze nahrvat a ukldat v nkolika formtech
Python, PHP a dal
nahran kd je mono pout jako zklad pro testy pro Selenium RC
Strc Selenium RC
pro pln automatizovan testy
klient/server architektura
server napsn v Jav
klient pro v oblben jazyk
.Net, Java, Perl, Python, Ruby
Strc Selenium RC
pro pln automatizovan testy
klient/server architektura
server napsn v Jav
klient pro v oblben jazyk
.Net, Java, Perl, Python, Ruby
i pro PHP
Testing_Selenium v PEAR repository
Strc Selenium RC
pro pln automatizovan testy
klient/server architektura
server napsn v Jav
klient pro v oblben jazyk
.Net, Java, Perl, Python, Ruby
i pro PHP
Testing_Selenium v PEAR repository
klient posl serveru HTTP pkazy
http://localhost:4444/selenium-server/driver?cmd=getNewBrowserSession&1=*firefox&2=http://www.skype.com
Stle strc Selenium RC
obsahuje Selenium Core
dky sv architektue a proxovn obchz zmnn JS omezen
vkld testovac engine na stejnou domnu, jako je ta, kde be aplikace, protoe Selenium server se pouv jako proxy server modifikujc strnky
Pod stek Selenium RC
klient pouze komunikuje se serverem
posl mu pkazy
o samotn spoutn test se vtinou star njak klasick unittest framework
PHPUnit
PyUnit unittest
nebo nap. Testoob
testy, resp. testovac sady tedy maj podobnou stukturu jako unittesty danho frameworku
a z psan test se stv programovn
Bratranci Selenium Grid
nstroj pro paraleln spoutn test na vce strojch narz
Selenium a podpora prohle a OS
Vechny sousti (Core, IDE, RC)
Firefox 2+
Bez Selenium IDE
Firefox 2+
Opera 8+
Safari 2+
IE 7(8 ?)
Operan systmy
Windows, Mac OS X, Linux, Solaris
Co lze testovat pomoc Selenium?
lze testovat pouze to, co lze zobrazit v konvenm prohlei
jak otestovat doruen mailu?
zapojit do testu njak webmail
napsat jednoelov potovn server pro pjem mailu s jednoduchm webovm interface
Spoutn test ve Skype aneb konen chemie
testy psan v Pythonu
Testoob framework (Testing Out Of The Box)
Firefox 2 na Linuxu
systm nen uren pro testovn kompatibility se vemi prohlei, ale pro regresn, systmov a UI testovn
alepo prozatm, el by upravit
Xvfb
X virtual framebuffer
operace nezbrazuje, ale provd v pamti potae
umouje nm tedy spoutt vce test narz bez nutnosti extra eleza (a bratranc Seleniovch)
Reportovn vsledk test
parsovn log a ukldn do databze
dostupnost screenshot
srozumiteln testy
hodn abstrakce
nap. zmna stavu uivatele se dje pihlenm do pln jin aplikace, ne je testovan
ale v kdu je to jeden dek
vyuit doc commentu pro popis testcase, autora testu a dal metadata
Reportovn vsledk test kdykoliv dostupn
grafy
poty test
kter jsou ok
peskoen
neimplementovan (manuln testovn)
celkov zdrav
pesn msto, kde test selhal
screenshoty
prbhu testu
vsledku
Reportovn vsledk test pro vechny
dostupn pro vechny vvoje
team leadery, project managery a managerky
Podobn a souvisejc nstroje
WebDriver
bude merdnut se Seleniem a vznikne Selenium 2.0
PHPUnit
m extenzi pro Selenium
FireUnit
od tvrc Firebugu a nejdve pro jeho testovn
nstroj v plenkch
WindMill
testovac framework napsan v Pythonu, obsahuje IDE
Nae chemie m budoucnost
aktuln nov verze
podporujc vce testovacch prosted (verz) aplikace
QA pro hotfixy live verze
PreQA pro aktuln vvoj
jet lep propojen se Subversion
pehlednj reporting
bl jet blej
Zvrem na zvr: testovat? ano
automaticky sledovat, jestli jsme pli velkou snahou nhodou nco nezboili
minimalizovat run testovn
nchyln na chyby a zapomnn
programovat testy, kter maj vlastn logiku
QA engineering
testy spoutt automaticky
stl pehled o stavu aplikace, pseudomtko spchu
ukldat vsledky
sledovat logy aplikace
Michal paek
,
(bow)
Klepnte pro pravu formtu titulnho textu
Klepnte pro pravu formtu textu osnovy
Druh rove
Tet rove
tvrt rove osnovy
Pt rove osnovy
est rove
Sedm rove
Osm rove textu
Devt rove
Michal paek. 2008 by Skype.
Michal paek. 2008 by Skype.
MyTest
open/mypage
typenameFieldJohn Smith
clicksubmitButtonTrue
verifyTextnameJohn Smith
???Strnka ??? (???)18.10.2008, 04:13:35Strnka /