Elu välikontoris Keri saarel

Meie veel värske ja põnev sopiline kontor on hirmus äge, aga veel ägedam on, kui saad vahelduseks totaalselt äraspidises keskkonnas enda tööd teha. Selline võimalus avanes seiklushimulisematele Proeksperdi töötajatele eelmisel nädalal – meil oli ajutine harukontor tillukesel Keri saarel.

Emotsioone, kuidas sinna “kontorisse” tööle sõita oli ning mida tähendab elu 12-voldiste akude peal, kirjeldab elavalt enda blogis kvaliteediinsener Kunnar.

 

Veebirakenduste automaatne testimine vol 2 – jõudlus ja stabiilsus

rencontre port cartier
rencontres amoureuses meaux
qui est la grande prostituée de l’apocalypse
prostituee bourgoin
rencontre dialogues brest
rencontres commanderie rixheim
un gars rencontre un de ses copains
rencontre russe france
comment rencontrer matthieu tota
rencontre serge gainsbourg jane birkin
combien de temps dure la rencontre avec les dauphins à marineland
de bon matin rencontre train
qui nabilla rencontre dans la voiture
edouard baer rencontre
chat chatou
rencontrer rachida dati
prostitute finder
lieu rencontre salon provence
rencontrer des gens a rome
village rencontre ile de ré
dsk violent avec prostituées
marie france secret story prostituée
rencontre amoureuse mali
centre espace rencontre etterbeek
prostituées cotes d’armor
avis rencontre meetic
rencontre resto ciné
fnau rencontres
rencontre avec monsieur x podcast
argot pour prostituée
nouveau site de rencontre suisse
rencontre english
rencontre algerie avec tel
rencontre antillaise
script rencontres
rencontres forum nantes patrimoine
gustave flaubert l’education sentimentale la rencontre
site rencontre canada france
10è rencontres de l’ingenierie de la construction et de l’industrie
site rencontre celibataire juif
www.bing.com rencontre
code de rencontre pokemon rouge feu
prostituée dans l’yonne
places rencontres racines
rencontrer jake gyllenhaal
rencontre haut de gamme cannes
hiv prostitute
site de rencontre sur aix
valenciennes le point de rencontre
bar sympa paris rencontres
points rencontre vaudois
rencontre anglais toulouse
rencontre entre artistes
femme puy de dome
starstruck rencontre avec une star replay
rencontres orly
tarif prostituee le havre
prostitute birthday party
prochaine rencontre du stade toulousain
bar a prostituées barcelone
rencontres dans le berry
un site de rencontre au senegal
j’ai rencontré le père noël telecharger gratuitement
andré robitaille rencontres paranormales
prostituee bulle
rencontre delle
rencontre ado rapide
site de rencontre de luxe
rencontre ste pazanne
rencontre salafi
rencontre croix rousse
comment reussir une premiere rencontre
rencontre filière bois 2012
les rencontres d’hippocrate
omar raddad prostituées
moi christiane f 13 ans droguée et prostituée ebook gratuit
rencontre avec le printemps poesie
texte d’accroche pour site de rencontre
les rencontres d’après minuit extrait
rencontres mobile gratuit
google street view prostitutes italy
site rencontre gratuit sedan
site de rencontre entre seniors
envoyer sms apres rencontre
prostituee yonne
petite phrase sur une rencontre
pointe du meinga rencontres
prostituée à saint quentin 02
rencontre du végétal 2011
un amour de rencontre avis
client prostituée amende
rencontre msn maroc
petite annonce rencontre avec numero telephone
rencontre en bleu
petite annonce de rencontre
site rencontre pour marocain
jeux rencontre plage
ze rencontre mulhouse 2012
qu’est ce que la rencontre
rencontre gay bio
site de rencontre homme saoudien
rencontres sportives sherbrooke
recherche rencontre agriculteur
chat gap
rencontres femmes métisses
rencontre jeune fille geneve
un groupe de rencontre
beyblade rencontre à hong kong
les paroles de rencontres grand corps malade don slam
filles du roi prostituées
site de rencontre ma moitié
segmentation site de rencontre
localisation des prostituée a lyon
musique film rencontre avec jo black
adresse prostituée dijon
rencontre marckolsheim
rencontres à xv france 2 pluzz
site de rencontre sanctus raphael
voir une prostituée faire l’amour
chat sexe chartres
avis prostituée belleville
prostituee aubenas
rencontres seniors vaucluse
l est rencontre l ouest sur la route de la soie
site rencontre japonaise france
dating femmes palaiseau
couleur musique rencontre troisieme type
comment rencontrer marc simoncini
site rencontre seniors gratuit non payant
prostituée conseil
prostitute has baby by john
rencontre de la durance 2012
rencontre fille niamey
rencontre brook
rencontre femme gemeaux
sites rencontre vip
rencontre gourmande
sexe cayenne
site de rencontre raphael
rencontre sarge sur braye
sortir montreal rencontre
prostitute pershore
rencontrer jamy gourmaud
exemple de profile de site de rencontre
manon lescaut scène de rencontre texte
horaires prostituées
rencontre haddock tintin
rencontre geneve occasion
prostituée chevilly larue
vie a deux rencontres
prostituées sida
rencontre belle ivoirienne
rencontres usa
rencontre sourds entendants
quand jack rencontre amy film
rencontres open up
affiche un ricard des rencontres
quartier prostituées new york
envoyer message site de rencontre
rencontre discret ouaga
site de rencontre loir et cher
anvers rue des prostituées
rencontres amoureuses mans
summum rencontre
site de rencontre pour jeune de 14 a 18 ans
moi christiane f. ..13 ans droguée et prostituée blog
parking rencontre bretagne
site de rencontre bresil
prostituee arras
rencontres philosophiques uriage
prostituee sur nice
sacha rencontre ho oh
tongrenelle se rencontre
site de rencontre yoga
se rencontrer 100 gratuit
rencontres amoureuses nouvelle caledonie
blague rencontre discotheque
arbitre rencontre algerie rwanda
rencontres jobs transfrontaliers
prostituée amsterdam sida
badoo rencontre homme brest
rencontres dialogues brest
rencontres amoureuses suresnes
one piece rencontre avec nami
soonnight member rencontre paris 23
dating femme orange
14es rencontres du cinéma sud-américain
vivastreet rencontre gaillac
prostituée haute normandie
histoire rencontre espagne italie
rencontre entre soeurs
prostituée grec ancien
site de rencontre femme russe 100 gratuit
etudiante limoges rencontre
quete rencontre avec tout puissant wow
rencontres mediterraneennes
rencontre cameroun douala
prostituées chantepie
récit d’une première rencontre
rencontres lourmarin
prostitute marriage
julie la prostituée
je suis accro aux prostituées
outaouaisweb site de rencontre
ftm rencontre
andy rencontre barbie
repas rencontre parents beaux parents
vous allez rencontrer un bel et sombre inconnu wiki
recherche sit rencontre gratuit
rencontres gratuites dans le 63
rencontres pour veuves
rencontre et voyage en camping car
rencontre couple tahiti
rencontre femme juive marseille
les plus grand scores des rencontres de real barca
tendres rencontres
club de rencontre meetic
rencontres avec des juifs
prostituée sons of anarchy
prostituées barbes
site de rencontre pont-a-mousson
prostituee pont de beauvoisin
site de rencontre lusitanien
hap huiskamer aanloop prostituees
rencontre france japon rugby
ou trouver des prostituees dans paris
theme rencontre du troisieme type
faire des rencontres en guadeloupe
lieux de rencontres 68
dubai rencontre femme
prostituée chatel st denis
site de rencontre improbable
rencontre luc sur mer
proverbe avec le mot rencontre
site de rencontre pour homme riches
rugby rencontre
cocoland site de rencontre gratuit
rencontre asm
rencontre avec cheikh imran hosein
rencontre haut de gamme belgique
comment coucher avec une prostituée dans gta san andreas ps2
rencontre electro bourges 2012
exemple pseudo rencontre
recherche prostituees lorraine
petite annonce rencontre rouen
dakar rencontre femmes
rencontres seniors veufs
agence rencontre thailandaise
liza rencountre
rencontre femme portugaise
site rencontre pour ado maroc
site de rencontres hommes indiens
rencontre sampras agassi
prostituée laval 53
prostituée chalon sur saone
rencontre sour el ghozlane
rencontre avec le mal vf
en quelles circonstances valere et elise se sont ils rencontres
be2 site de rencontre
rencontre femmes les mureaux
africaine rencontre belgique
rencontres parlementaires pour l’innovation
vitrines a anvers prostituees
rent prostitutes
comment se comporter avec une nouvelle rencontre
poeme d amour notre rencontre
site de rencontre gratuit et sérieux en belgique
la belle rencontre male
rencontre pere noel france
hongaarse prostituees
me encontre un blackberry y esta reportado que hago
juillet 2001 ben laden rencontre la cia a dubai
quand carglass rencontre cerise
prostitute hangouts in chattanooga tennessee
sept à huit mauvaise rencontre
rencontre sur sfr
fete d’anniversaire de rencontre
rencontre de femme malgache
rencontre homme scandinave
rencontre avec milliardaire
rencontre londonien
rencontre tupperware
rencontre amitie niort
rencontre amoureuse serieuse france
il repousse la rencontre
1ères rencontres des acteurs de l orientation
rencontre autour du piano
rencontre espérance
site rencontre amis
theo rencontre
rencontres plus de 65 ans
rencontre femme roumaine
pourquoi les sites de rencontres ne marchent pas
rencontres i biennale arts sciences
zone de rencontre qui est prioritaire
rencontre homme bou saada
rencontre finlande
burgalat ma rencontre lyrics
rencontre apiculteur
site gratuit rencontres amicales sorties entre amis

Veebirakenduste automaatne testimine – capybara-webkit vs poltergeist

Veebirakenduste automaatseks testimiseks on mitmeid võimalusi, üks neist on testida rakendust läbi kasutajaliidese – kasutades selleks siis kas päris- või headless-brauserit.

Kasutajaliidese kaudu testimisega kaasneb paratamatult hulk probleeme, alates sellest, et testid on suhteliselt aeglased võrreldes rakenduse backend‘i service‘i tasemel testimisega. Jah, palju asju saab veebirakenduste puhul testida kasutajaliidest absoluutselt puudutamata, kuid on ka olukordi, kus tuleb seda teha.

Näiteks on kasutajaliidese kaudu testimine praktiliselt ainus võimalus testida rakendust tegeliku kasutaja vaatepunktist, samuti võimaldab see teostada end-to-end testimist ning mis kõige tähtsam – veenduda, kas meie veebirakenduse frontend üldse töötab.

Continue reading “Veebirakenduste automaatne testimine – capybara-webkit vs poltergeist”

Mida silmas pidada testide automatiseerimisel

Automatiseerimiseks sobivaimad testid on tavaliselt sellised, mis testivad suhteliselt lihtsaid ning sirgjoonelisi stsenaariumeid, kuid mis käsitsi jooksutades liigselt aega kulutavad. Automaattestid on väga head selliste ülesannete jaoks, mida inimene kas ei saa või lihtsalt ei taha käsitsi testida.

Automaatselt testitav funktsionaalsus ei tohiks olla habras ning liigselt sõltuv testi käivitamisele eelnevast olukorrast ning testi lõpptulemusest. Kui tarkvara mõne osa testimise automatiseerimine on liiga keeruline, nende testide haldamine aja- ning ressursimahukas, ning lõpptulemusena käsitsi testimisega võrreldes olulist võitu ei saavutata, siis enamustel juhtudel ei tasu selline automatiseerimine ära.

Continue reading “Mida silmas pidada testide automatiseerimisel”

Kuidas testide automatiseerimisel õnnestuda

Testide automatiseerimine on alati kahe otsaga asi, võimaldades küll testijate igapäevatööd kergendada, kuid sama kergesti võib sellega hoopis probleeme juurde luua. Kuidas toimida, et õnnestuda? Automaattestide juurutamisel võib ette tulla mitmeid probleeme, mõned tüüpilisemad komistuskivid:

 

  • Automatiseerimine vabal hetkel. Automaattestide loomisega tegeletakse siis, kui selleks on aega – projekti töös tekkivate “aukude” täiteks, omast ajast jne. Puudub vajalik pühendumus.
  • Puudulikud eesmärgid. Milleks me üldse automaattestidega vaeva näeme? Aja säästmiseks, testimise lihtsustamiseks, testide katvuse parandamiseks? Testijate motiveerimiseks? Kõike korraga tõenäoliselt ei ole võimalik saavutada, inimeste eesmärgid on erinevad ja kui neid selgelt välja pole öeldud, on lihtne feilida.
  • Kogemus. Õigemini selle vähesus või puudumine. Automaattestid võivad kergelt muutuda haldamatuks džungliks, kui neid arendavate inimeste teadmised tarkvaraarenduse põhitõdedest on puudulikud.
  • Inimesed vahetuvad. Automatiseerimise õppimine võtab aega ja kui meeskonnaliikmed tihti vahetuvad, kaob ka omandatud kogemus.
  • Tahtmatus testida. Paljude inimeste jaoks on automatiseerimise protsess huvitavam, kui tarkvara testimine. Automatiseerimine võib muutuda mugavaks vabanduseks, miks testimisele vähem pühenduda. Sellisel juhul ei ole ka automatiseerimise väljund testimise seisukohalt tihti suurem asi.
  • Tehnilised üksikasjad. Kuidas tarkvara automatiseerida, on tehniliselt huvitav ülesanne, kuid liigne keskendumine tehnilistele probleemidele võib tähendada vajadustele üldse mitte vastavat tulemust.

 

Continue reading “Kuidas testide automatiseerimisel õnnestuda”

Specification by Example by Gojko Adzic

Specification by Example seminar Proeksperdis

1. novembril toimus Proeksperdis inspireeriva Gojko Adzic-i poolt läbi viidud seminar Winning big with Specification by Example (SBE). SBE on oma olemuselt kollaboratiivne lähenemine nõuete defineerimisele – fookus on kommunikatsioonil ja reaalsetel näidetel, et kõigil osapooltel tekiks ühine arusaam loodava süsteemi funktsionaalsusest. Positiivse lisana muutuvad SBE “õigel” rakendamisel nõuded ka automaatselt valideeritavateks – teatud tööriistade abil saab kõigile loetavas formaadis kirja pandud nõuded automaat-testideks muuta.

  Continue reading “Specification by Example by Gojko Adzic”

Acceptance Testing: RSpec vs Cucumber

Levinumad acceptance testide loomise vahendid Behavior-Driven Development metoodikas on RSpec (Ruby jaoks) ja Cucumber (universaalsem). Olles mõlemat mõnevõrra pruukinud, tekkis küsimus, et kumb siis on lõpuks acceptance testimiseks parem. BDD põhitõdesid ei hakkaks ehk siinkohal kordama, vaataks hoopis Cucumberis ja RSpec’is testide kirjutamist hüpoteetilise Rubys kirjutatud veebirakenduse jaoks.

Mõlemad tööriistad kasutavad brauseri käitamiseks Capybara-nimelist veebirakenduste testimise raamistikku. RSpec’i ja Cucumberi erinevus seisneb peamiselt testi loetavuses ning kirjelduse nö. tasemes. Lihtne näide esmalt Cucumberi stsenaariumina:

Feature: Blog articles
  In order to have an awesome blog
  As an author
  I want to create and manage articles

  Scenario: Article index
    Given there are 2 articles
    When I go to the articles page
    Then I should see the following articles:
    | Article title |
    | Article one   |
    | Article two   |

Iga sammu tähenduse Cucumberile arusaadavaks tegemiseks tuleb need defineerida:

Given /there are (.*) articles/ do |number|
  number.times { |n| Article.create! }
end

Nagu näha, kasutab Cucumber testide kirjeldamiseks loomulikku keelt ja seetõttu on sellised testid väga hästi loetavad, samuti aitab kõrgema taseme funktsionaalsusele keskendumine kergemini vastata küsimusele “Mida meie rakendus õigupoolest tegema pidi?“. Teisalt on antud juhul vajalik kirjutada ka sammudefinitsioonid, et Cucumber teaks, mida meie loomulikus keeles kirjeldatud stsenaariumitega peale hakata, seega tekib testidesse üks lisakiht, mis samuti vajab ülalpidamist.

Continue reading “Acceptance Testing: RSpec vs Cucumber”

Kuidas automatiseerida veebiteenuse testimist üle SOAP protokolli

Proeksperdi plaan on testide laialdane automatiseerimine. Esimeseks katsetuseks sai telekommunikatsiooni projekt, kus iseteeninduse veebileht suhtleb teenuste serveriga ja infovahetus toimub vana hea SOAP protokolli abil. Regressiooni käigus tuleb testida, kas teenused käituvad õigesti ja seda saab teha käsitsi iseteeninduse lehte kasutades. Lühidalt öeldes: serverile on vaja saata HTTP päringuid ja veenduda, et tagasi tuleva paketi sees on õige info. Säherdune ülesanne tundub jõukohane just arvutile meie eest ära teha.

SOAP – Simple Object Access Protocol on tuntud asi, aga kohe kuulsin lisaks, et nii “lihtne” see ka ei ole. SOAPiga käib kaasas WSDL (Web Services Description Language) kirjeldus, mis on antud teenuse kirjeldus veebilehel. Sellest saab teada, mis funktsioone teenuselt kutsuda saab, mis argumente tahetakse, milline objekt tagastatakse ja mida objektid sisaldavad. Õnneks on asi nii standardne, et on olemas erinevates keeltes library’d, mis funktsioonide ja klasside genereerimise automaatselt ära teevad, ega ole vaja ise WSDLi dešifreerida. Tulemuseks on PROXY, mis võimaldab funktsioonide näol veebiserverile päringuid saata ja mingeid XMLi ega HTTP päringuid pole üldse vaja näppida.

1. päev – PERL

Automatiseerimise üks eesmärk on asjad võimalikult lihtsana hoida. Kuna olin sellega veidi kokku puutunud, sai esimeseks valikuks PERL. Otsimise peale selgus, et on kaks pakki Continue reading “Kuidas automatiseerida veebiteenuse testimist üle SOAP protokolli”

“Kas me läheme sinna progema?” ehk kuidas Proeksperdi kvaliteediinsenerid BDD’d tegemas käisid

Kuna Proeksperdi kvaliteedimeeskonna eelmisest treeningpäevast oli möödunud juba hea mitu kuud, kõik olid karmidest kogemustest taastunud ning meeskonda oli lisandunud ka uusi liikmeid, oligi augustikuu eelviimane päev paras hetk järgmise väliõppuse korraldamiseks. Püüaks sellest siis ka natuke lähemalt rääkida.

Seekordse treeningpäeva teemaks sai valitud Behavior-Driven Development ehk BDD metoodika, millest olen ka varem lühidalt kirjutanud. Kuna päris tühja koha pealt on sant alustada, tuli riiulist alla tõsta ja tolmust puhtaks puhuda üks Proeksperdi sisemine projekt – Raamatukogu 2.0, mis on meie füüsilist raamatukogu toetav veebipõhine rakendus. Kuna see rakendus oli juba algusest peale loodud just BDD metoodikat kasutades, oli tegu pea ideaalse õppevahendiga.

 

Kuidas BDD töötab

BDD üks definitsioone kõlab järgnevalt:

Behaviour-driven development is an “outside-in” methodology. It starts at the outside by identifying business outcomes, and then drills down into the feature set that will achieve those outcomes.

Piltlikult esitades töötab see metoodika umbes nii:

  1. Iga stsenaariumi jaoks, mis kirjeldab mingit funktsionaalsust
  2. käivita stsenaarium – tulemuseks on FAIL
  3. defineeri esimene samm – ka selle tulemus on FAIL
  4. kirjuta rakenduse koodi täpselt niipalju, et sammu tulemus oleks PASS
  5. refaktoori kirjutatud kood ja korda samme 4 & 5 iga stsenaariumi sammuga kuni…
  6. …kogu stsenaariumi tulemus on PASS
  7. refaktoori rakenduse kood ja alusta uuesti sammust number 2

Continue reading ““Kas me läheme sinna progema?” ehk kuidas Proeksperdi kvaliteediinsenerid BDD’d tegemas käisid”

Behavior Driven Development ja Cucumber ehk ilusam tarkvara valutu(ma)lt

Sissejuhatuse asemel

Kõik sai alguse sellest, kui ühel ilusal päeval rändasin Suurbritanniasse ja sattusin poolkogemata tööle pisikesse startupi nimega Picklive. Seal kasutati minu jaoks tol hetkel (ja tänaseni) väga uudseid ja põnevaid vahendeid lisaks juba tuntud asjadele – Ruby on Rails, XMPP, JavaScript, agiilne metoodika jne. Alustasin ka seal tegelikult testimisest, aga üsna pea selgus, et sellest jääb väheks. Seega asusin tasapisi ka parandama vigu, mis leidsin. Märkamatult kirjutasin juba lisaks päris uut funktsionaalsust.

Mis tegelikult mu mõtteviisi tarkvara arendamise ja testimise kohta muutis, oli hetk, kui otsustasime võtta kasutusele Behavior-Driven Development (BDD) metoodika ning selle elluviimise vahendiks sai valitud Cucumber. Kuigi BDD’d saab defineerida mitmeti, on minu arust pädevaim Dan North’i antud kirjeldus:

BDD is a second-generation, outside–in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.

BDD definitsiooni järgi tekib tarkvara väljast sisse – esmalt defineeritakse tulemus, mida soovime saavutada, seejärel kirjeldatakse käitumine, mis meid soovitud tulemuseni viib ja alles siis kirjutatakse tegelik programmikood, mis teeb seda, mida me tahame, et ta teeks. Tulemuse definitsioon ja käitumise kirjeldused on esitatud inimloetava tekstina.

Continue reading “Behavior Driven Development ja Cucumber ehk ilusam tarkvara valutu(ma)lt”