využití chemie v procesu testování webových aplikací vytvořených pomocí technologií php a...

Download Využití chemie v procesu testování webových aplikací vytvořených pomocí technologií PHP a Java

If you can't read please download the document

Upload: michal-spacek

Post on 16-Apr-2017

2.428 views

Category:

Technology


1 download

TRANSCRIPT

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

Google

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 /