reede, 31. oktoober 2014

Muinasjutt Maailmaparandajate kuningriigist

Halloweeni puhul tahaksin rääkida teile ühe hirmuäratava muinasjutu.

Kord ennemuistsel ajal, väga-väga ammu, elasid Maailmaparandajate riigis Punamütsike ja võlur Automaag. Neid ja teisi Maailmaparandajaid juhtis Hea Vaim, võimas headuse eest võitleja, kel oli maailmaparandamises lausa must vöö.

Ükskord saatis Hea Vaim oma sõdalased Punamütsikese ja Automaagi naaberkuningriiki, et aidata sealse kuninganna Businessa muresid lahendada.

Kui nad lossi olid jõudnud, tundis Automaag kohe mustade jõudude juuresolekut, kuid ei lasknud ennast ära hirmutada ja nii astusid nad julgelt sisse. Väejuht tuli sooja naeratusega neid tervitama ning rääkis oma murest: Kuninganna Businessa tahab, et sõjakäigud oleksid kiiremad, kuid tema armeel ei ole jõudu nii kiiresti raudrüüsid toota ja samas veel kvaliteedi eest hoolitseda, treenida.

Esialgu pidid Punamütsike ja Automaag raudrüüde tootmise olukorraga tutvuma ja oma osavust Väejuhile tõestama. Küll aga ei pidanud Väejuht vajalikuks keskööl kolme tilka verd vahetada -- kõigepealt pidid  Maailmaparandajad niisama oma headust tõestama ja alles siis räägitavat lepingutest ja väärilisest tasust.

Punamütsike, sinisilmne nagu alati, üritas kohe kõike paremaks teha ning lobises muretult:
"Ärge muretsege! Automaag saab kõikega hakkama, võlub siin ja seal. Teeme raudrüüde proovimiseks spetsiaalsed raamid ja koostame sealt ka Businessa õukonnale meeldivad lipukesed ja ongi kuninganna õnnelik!" Ja nii leppisidki nad kokku, et Automaag jääb nädalaks lossi ja üritab Väejuhile tõestada, et on võimeline kohalike muredega hakkama saama. Punamütsike kirjeldas ära, kuidas raamid võiksid välja näha ja Automaag jäi võluma.

Kui Automaag oli üksi lossi jäänud, hakkasid kohe toimuma imelikud asjad. Ta tundis külma hingeõhku oma kuklas, kuid pead pöörates ei paistnud seal olevat mitte kedagi. Alles meeletu keskendumine tõi vaevu-vaevu nähtavale neiu, kes teda igal sammul jälgis.

Väejuht näitas nüüd oma tõelist palet: malbe naeratuse tagant paljastusid vampiiri kihvad. Dracula hakkas tasapisi Automaagi jõudu endale kiskuma ning teadmisi tema peast välja noppima. Juba teisel päeval kutsus ta võluri oma koopasse ning üritas teda enda poole meelitada, pakkudes vampiiride maailma võlu ning enda asetäitja kohta. Vapper Automaag aga üllatas teda julgelt „EI“ öeldes. Ta jooksis koopast välja ja võlus kodu poole ühe kiire appikutse.

Hea Vaim ja Punamütsike tulid viivitamatult appi. Dracula muidugi ei andnud nii lihtsalt alla, vaid üritas oma võimu näidata: "Kaduge koju! Või veel parem -- las Automaag jääb siia ja täidab mu käsku!"

Kuid kuna Hea Vaim ei olnud nõrgemate killast, püstitas ta kohe oma inimeste ümber kaitsevõrgu ning ütles, et nüüdsest tegutseme me siin kuningriigis alles pärast seda, kui mõlemad pooled on oma kavatsuste kinnituseks kolm tilka verd andnud. Dracula üritas veel kaitsest läbi murda, kuid kõik tema katsed olid nüüd jõuetud. Hea Vaim seisis kindlalt ja kaitses oma inimesi. Dracula andis alla ning ütles, et siis peab ta ise Businessaga hakkama saama, laseb oma trollidel õukondlastele raudrüüsid esitleda ja las nad siis ise otsivad sealt auke.

Nii pääsesid Maailmaparandajad lossist välja ning suundusid tagasi kodukuningriiki.

Teel koju küsis Punamütsike murelikult: "Aga mis saab nüüd kuninganna Businessast?" Hea Vaim vastas talle lahkelt: "Ära muretse, küll aeg kõik paika paneb ja varsti näeb temagi Dracula tõelist palet. Ma millegipärast arvan, et me saame juba õige pea Businessat päästma minna..."

Nagu iga muinasjutt, lõppes ka see õnnelikult. Head inimesed jõudsid kodukuningriiki ning jätkasid maailma paremaks muutmist. Kuid nagu igal muinasjutul, on ka siin oma moraal - sa võid oma naabreid küll usaldada, aga hoia neil silma peal. Eriti Halloweeninädalal. Ning nagu kordab väsimatult ka (tänasesse päeva üsna sobiva nimega) ClientsFromHell.com: ära tee (tasuta) tööd ilma lepinguta! ;)

Siiralt Teie,
Punamütsike

neljapäev, 23. oktoober 2014

Sertifitseeritud võrguliiklus - miks ja kuidas

Enamik inimesi on huvitatud sellest, et nende personaalne info püsiks Internetis ringi liikudes vajalikul määral konfidentsiaalsena. Samas leidub väheseid, kes julgevad krüptograafiaga seonduvasse spetsiifikasse põhjalikumalt süveneda. SSL, SHA, RSA, HTTPS, PFS ja teiste salapäraste tähelühendite sügavam sisu võib matemaatikavõõrale tavakasutajale esmapilgul hirmutav näida, kuid krüpteerimisega seonduvate riskide teadvustamine aitab hoiduda oma isiklike andmete lekitamisest soovimatutele osapooltele.


HTTP

Internet (nii suure kui ka väikese algustähega) on arvutitevaheline võrgustik, kus liiklust reguleeritakse erinevate protokollidega, mis sätestavad efektiivseks suhtluseks vajalikud reeglid. Kõige tuntum internetiliiklusega seonduv protokoll on tõenäoliselt HTTP ehk hüperteksti edastuse protokoll (HyperText Transfer Protocol), mis võimaldab brauseri abil erinevaid veebilehti vaadata. Kuigi kaasaegsed veebilehitsejad on hakanud peitma http:// lühendit veebilehtede aadressi alguses, on HTTP endiselt veebistruktuuri üks peamiseid alustalasid.


HTTP on oma olemuselt üsna lihtsakoeline. Kasutaja saadab veebiserverile lihtteksti kujul päringu ning saab lihtteksti kujul ka oma päringule vastuse. Lihtteksti kujul liikuvast infost on aga pealtkuulajal võimalik vähese vaevaga üles leida salasõnad, paroolid ja muu huvi pakkuv. 



Teatud lehtede puhul ei pruugi muidugi toimingute nähtavus kolmandatele osapooltele olla eriti kriitiline. Näiteks uudiseportaali küsitlusele vastamine või artikli kommenteerimine ei ole üldjuhul tegevused, millega seonduva info lekkimisel kolmandatele osapooltele erakordset hirmu peaks tekitama. Kasutajanime ja parooli saatmine HTTP protokolli kasutades on aga üsnagi hoolimatu tegevus ning tuleks eeldada, et pärast sellist olukorda teab sisselogimiseks vajalikke andmeid ka keegi teine. Õnneks on turvariskide vähendamiseks leiutatud HTTPS (HTTP Secure ehk turvaline hüperteksti edastuse protokoll).


HTTPS

Veebilehitsemise turvalisuse tõstmiseks loodi HTTPS protokoll, mis sisuliselt tähendab HTTP kasutamist krüpteeritud kanali kaudu. Infokanali krüpteerimine muudab võrguliikluse kõrvalseisja jaoks arusaamatuks sümbolijadaks. Nii on konfidentsiaalne info ideaalis nähtav ainult valitud osapooltele.

Turbeprotokollile vastava krüpteeritud ühenduse algatamiseks on tarvis võtmeid, mille abil edaspidine infovahetus arusaadavaks muuta. Lisaks võtmetele on tarvis veenduda, et veebiserveril on usaldusväärne turvasertifikaat. Turvasertifikaate võib teha ise (nt MakeCert või OpenSSL abil), aga usaldatavuse suurendamiseks on ka võimalik hankida sertifikaat mõnelt sertifitseerimiskeskuselt. Rahvusvaheliselt on tuntumad sertifitseerijad näiteks GoDaddy, VeriSign, DigiCert, GeoTrust, Symantec ja Comodo.

Turvasertifikaadi võltsimisel on küberkurjategijatel võimalik usaldusväärse organisatsiooni identiteet kaaperdada ning esitleda end kellegi teisena. Seetõttu on äärmiselt oluline veenduda turvasertifikaadi autentsuses. Autentsuse kontrollimiseks kasutatakse räsialgoritme, mis oskavad suvalise suurusega faili või sõnumi põhjal koostada ühesuunalise krüpteerimise teel püsipikkusega bitijada ehk räsi. Tugeva räsialgoritmi puhul peab olema võimalikult keeruline räsi põhjal algset faili või sõnumit konstrueerida. Samuti peab olema võimalikult keeruline luua kaht erinevat faili, millele vastaks identne räsiväärtus.

Tehnika areng ning arvutusvõimsuse pidev kasv toob endaga kaasa aga vajaduse räsialgoritme aina tugevamaks teha. Näiteks 1990-ndatel laialdaselt kasutusel olnud räsialgoritm MD5 on võimalik tänapäeval tavalise koduarvutiga vähem kui sekundiga lahti murda ehk tekitada sarnase räsiga fail. 2012 aastal avastatud kurivara Flame oskas MD5 nõrkust ära kasutades lausa näidata end Microsofti poolt toodetud tarkvarana.

Praegusel ajal on räsifunktsioone küll mitmeid (BLAKE, GOST, RIPEMD jne), kuid kõige tuntumaks võib pidada NSA loodud SHA funktsioonide perekonda. Esimesed SHA põlvkonnad (SHA-0 ja SHA-1) on praeguseks juba aegunud, kuid paraku on SHA-1 endiselt laialdaselt levinud – muuhulgas ka turvasertifikaatide autentsuse kontrollimisel. Microsoft on küll teatanud, et SHA-1 algoritmi ei tohiks enam kasutada 2016. aasta algusest ja Google Chrome hakkab astmeliselt SHA-1 kasutamist piirama juba 2014. novembrist, kuid ka väiksematel organisatsioonidel tasuks enda valduses asuvad veebilehtede serverid kriitilise pilguga üle vaadata. Abiks on siinkohal näiteks veebilehed https://shaaaaaaaaaaaaa.com ja https://www.ssllabs.com/ssltest.


SSL Labs annab hea ülevaate kasutusel olevatest turvameetmetest.


Kui server on kliendile turvasertifikaadi saatnud ning kliendi arvuti on räsialgoritmide kaasabil sertifikaadi autentsuses veendunud, siis on aeg infokanal serveri ja kliendi vahel krüpteerida. Selleks peaks HTTPS ühendus kasutama transpordikihi turbeprotokolli (Transport Layer Security ehk lühidalt TLS), mille praegusel hetkel kõige uuem versioon on TLS 1.2. Paraku kasutatakse mitmel pool veel TLS eelkäijat SSL (turvasoklikiht ehk Secure Sockets Layer) tehnoloogiat, mis on nüüdseks lahti häkitud ehk haavatav. Seega tasuks serverite haldajatel kasutusel oleva turbeprotokolli ajakohasus üle kontrollida ning uuendada ka erinevates hangetes, lepingutes ja muudes dokumentides sisalduvaid nõudeid, kus sageli kasutatakse SSL ühendust turvalise ühendusega võrdväärselt.

Valdav enamus Eesti veebipoodidest paraku HTTPS ühendust veel ei kasuta ja kuigi pangalingi kaudu sooritatud maksed on õnneks suhteliselt turvalised, siis ees- ja perenimi, aadress, telefoni number ja muu kontaktinfo saadetakse üldjuhul krüpteerimata kujul veebipoe andmebaasi. Eriti tõsist riski võib põhjustada turvamata veebilehel registreerumine salasõnaga, mis on juba kasutusel ka mujal. Kui näiteks e-poe klient registreerub kasutajaks salasõnaga "5up3r$ala;jane?!" ning märgib enda kontaktinfosse e-posti aadressi, siis on igati ootuspärane, et keegi proovib varsti sama salasõna kasutades e-maili kontole ligi pääseda. Seega tasuks hoolikalt uurida, kas veebilehe aadressi ees on https:// tähistamaks krüpteeritud ühendust. Kui vastav märgistus puudub, siis edastatakse andmeid üle turvamata HTTP ühenduse ning kõik saadetav info on kõrvalseisjatele vabalt nähtav.


Kokkuvõtteks

Ülevaatlikult veelkord olulisemad näpunäited:
  1.  Kontrolli, kas veebileht, kuhu konfidentsiaalset infot sisestad, kasutab turvalist HTTPS protokolli. Aadressiriba alguses kuvatakse siis üldjuhul https:// ning tabalukk, millele klikkides näeb rohkem infot turvasertifikaadi kohta. 



    Juhul, kui HTTPS ühendust ei kasutata, arvesta sellega, et vormidesse sisestatud info võib suure tõenäosusega lekkida kolmandatele osapooltele.
  2. Kontrolli, et veebilehte serveeriv süsteem kasutaks turvalise ühenduse loomisel ajakohaseid tehnoloogiaid - https://www.ssllabs.com/ssltest.
    SSL Labs hinnang ühele Eesti tuntud veebipoele.
    Kui test annab tulemuseks halva hinde, siis teavita kindlasti veebilehe haldajat - nii aitad kaasa üldise turvateadlikuse kasvule ning teed küberkurjategijate elu raskemaks.
  3. Ära kasuta sama salasõna mitmes kohas! Võimalusel kasuta mitmeastmelist autentimist, tugevaid salasõnu ning paroolihaldureid.

Sten Mäses
ASA Quality Services

    kolmapäev, 22. oktoober 2014

    IKT Aastakonverents 2014: Kuhu edasi, Eesti IT?

    14. oktoobril toimus ITuudiste  korraldamisel Tallinnas IKT Aastakonverents 2014. Konverents oli tänapäevasele IT-tiimile suunatud väga huvitava ja aktuaalse kavaga. Esinejad valgustasid uusi väljakutseid ja võimalusi ning jagasid oma kogemusi IT kiiresti muutuvas maailmas tegutsemisel. Loomulikult vaatasime seda kõike testija perspektiivist. Ning meie – igaveste maailmaparandajate ja skeptikute – arvates sai kogu konverentsi ühe väljapaistvama etendusega maha Andres Kütt. Ettekandes (mille lühikokkuvõtet saab lugeda ITuudiste portaalist: http://ituudised.ee/article/2014/10/20/andres-kutt-ei-ole-eestit-ilma-e-riigita) jagas ta oma mõtteid Eesti IT-arenduse tulevikuvõimalustest, olles kantud presidendi kõnest: „Mis toond on meid siia, see enam edasi ei vii“.

    Alustades Eesti IT ajaloost, märkis Kütt, et kuigi meie riigis on olemas vähemalt üks diplomeeritud pungiuurija, ei ole kedagi, kes oleks teaduslikult lähenenud Eesti IT ajaloole. Nii nagu iga Startup, alustasid ka Eestis IT arenduste loomisega inimesed, kes olid ühtse ideega ning huviga ühendatud. Startup-i õnnestumisele aitas kaasa inimeste motivatsioon, kogukonnatunne ja võime kohandada ning kaasa minna muudatustega, mida IT maailmas tuleb ette igal sekundil. Probleeme lahendati koos ja dünaamiliselt. Toona polnud muret, mille vastu näts ja teip ei aitaks: nt murdunud labaga printeri ventilaatoril murti üle ühe laba ära, et ventilaator tasakaalu saada. Töötas!

    Nüüd aga järgmine etapp. Lihtsad probleemid on praeguseks lahendatud ja põlve otsas tehtud häkkidega enam edasi ei saa minna. Peame olema suutlikud suuremate muudatustega toime tulema.
    Sedasama näeme ka meie, testijad. Õnneks või kahjuks on testimine tihtipeale esindatud projektides ainult UAT (User Acceptance Test / kasutaja vastuvõtutest) näol, mil äripool eneselegi teadmata sooritab tarkvara vastu võttes nii funktsionaalseid kui ka mittefunktsionaalseid teste.

    Kahjuks, sest sellisel juhul kujuneb UAT palju kallimaks, kui algselt planeeritud. Või kui üldse mõistlik oleks. Arendusprojekti elutsükli varasemates faasides leitud vea parandamine maksab UAT-s leitud vea parandamisest kordades vähem. Vastuvõtufaasis seab massiline vigade leidmine aga otseselt kogu projekti õnnestumise kahtluse alla.



    Õnneks aga võrreldes projektidega, kus testimist ei ole üldse planeeritud või selleni lihtsalt ei jõuta – tarnitakse korralikult testimata arendustöö ning testivad juba reaalsed kasutajad toodangukeskkonnas. Kvaliteedi saavutamine ei tohiks aga olla õnnemäng!

    Kütt pakkus välja lahendusi, mis oleksid kindlasti tulemuslikud ka testimise valdkonnas:

    Inimestesse investeerimine
    Inimestesse investeerimine on tõesti jätkusuutlikkuse üks eeldus. Võiksime ju lihtsalt palgata hordide viisi testimisspetsialiste või lausa kvaliteedijuhi, kes ainuisikuliselt vastutaks kvaliteedi eest, kuid selline lähenemine ei vii kaugele.

    Kvaliteet ei tähenda perfektsionismi, see ei ole standard või protseduur. Kvaliteet ei ole ka mõõdik või asja karakteristik. Kuid ta näitab, mil määral üks või teine karakteristik seatud nõuetele vastab. Iga toode, teenus, protsess ja otsus võib olla kas vastuvõetav või vastuvõetamatu. Seega on kvaliteet tegelikult peidus kõiges, mida organisatsioon teeb ning igaüks peab oma töös pöörama tähelepanu kvaliteedile. Kvaliteedi tõstmiseks tuleb niisiis inimesi harida – alustades tellijatest, et nad juba ülesandepüstitusse kirjutataks sisse nõuded testimisele ja kvaliteedile.

    Juhtidesse investeerimine
    Suur osa Eesti IT-inimesi on harjunud kvaliteetse juhtimisega ja leiavad suure tõenäosusega parema pakkumise, kui juhtimiskvaliteet logiseb. Juhtkonna mure on võimaldada spetsialistidel efektiivselt ning tulemuslikult tööd teha, hoolitsedes motivatsiooni eest. Kui testimine on alati projekti lõpu poole ja selleks ei jää kunagi piisavalt aega; kui leitud vead loovad ainult negatiivseid emotsioone, siis paratamatult kipub testija töötegemise motivatsioon nullile lähenema.

    Sõnum projektijuhtidele: planeerides projekti testimistegevusi, ärge paigutage neid mitte lõpupoole ühe suure kastina „testimine“, vaid jagage see (nagu iga teinegi mahukam töö) väiksematesse osadesse, hinnates ja analüüsides iga testimistaset koostöös testijuhtide ja testijatega võimalikult vara.

    Protsessidesse investeerimine
    Nagu ütles Kütt, on elementaarsed hügieenifaktorid tihti täitmata. Tarkvara tellides ei mainita paljudel juhtudel testimist endiselt poole sõnagagi, nagu ka 10a tagasi. Küti sõnul on  küpsusaste meie riigis paraku veel madal: esimese sammuna oleks vaja testimisega natukenegi tegelema hakata. Ja miks on meil veel aastal 2014 arendusettevõtteid, kelle arvates ei peagi arendusfaasis mitte midagi üles kirjutama?

    Kõik need küsimused on otseselt seotud kvaliteedi tagamisega. Protsesside parendamisel tuleks aga arvestada muudatuste omaksvõtmise kiirusega. Probleemide lahendamisel kasutada prioriteete ning pidevalt teha tagasivaateid, olukorda uuesti analüüsides. Iga protsessimuudatus toob kaasa muutusi kogu keskkonnas, millega peab kindlasti arvestama. Sedasama mainis ka Kütt, et meie E-riigi jätkusuutlikus (mis on suuresti erasektori kätes), ei ole enam mugavusküsimus, vaid riikliku julgeoleku alustala. Kiirete ja lihtsate häkkidega aga tõepoolest julgeolekut kindlustada ei saa. Julgeme väita, et kvaliteedist ongi just hetkel puudu. Ka sellele on vaja samamoodi süsteemselt panustada.
    Kahjuks ei aita ükski kvaliteedijuhtimise ega protsesside parendamise metoodika hoiduda juhtide valedest otsustest, kuid mõõdikute algusest peale paikapanemine ning parendusprotsessi mõju pidev mõõtmine aitavad aru saada, mis suunas organisatsioon liigub ning suunda kontrolli all hoida.
    Kvaliteeti – nagu enamikke IT-arendustöö tulemusi – on võimalik saavutada üsna kergesti, kuid jätkusuutlikkus nõuab suuremaid pingutusi.

    Testimist ja kvaliteeti hõlmav kogukond on samas arenguetapis, mis kogu eesti riigi IT-sektor. Vajatakse suunamuutust, et akadeemilise haridusega inimestest ka kasu oleks – lahendatavate ülesannete keerukuse kasvades läheb akadeemiline lähenemine järjest olulisemaks.

    Nii nagu Andres Kütt, leiame ka meie, et suunamuutuseks oleme praegu soodsamas seisus kui kunagi varem ning seda muutust on vaja, sest sellest sõltub meie tulevik.


    Olesja Savtšenko
    Kristjan Karmo

    reede, 3. oktoober 2014

    Eesti Haigekassa ja bugipalavik

    Septemberi keskel toimus järjekordne BugFever. Testisime kokku 22 inimesega ühe päeva jooksul Eesti Haigekassa uut veebilehte. Testijateks olid peamiselt Haigekassa oma töötajad, kel avanes võimalus harjutada testimist ja ühtlasi tutvuda uue välisveebi ülesehituse ja väljanägemisega. ASA poolt osales testimistalgutel ka 2 professionaalset testijat.

    Haigekassa avalike suhete osakonna kommunikatsiooni peaspetsialist Kaili Kupits võttis üritusest saadud kasu kokku järgmiste sõnadega: "Sain vajaliku tagasiside, meie töötajad said testimiseks vajalikud oskused ja saadud teadmus pole kaugeltki mitte ühekordne, ka edaspidi saan koolituselt saadud oskusi ja materjale kasutada. Olen kogu üritusega rahul."

    Rahule jäid ka osalejad, kes tõid muu hulgas välja, et ürituse teoreetiline osa oli igati sobilik tavakasutajale – materjalid olid lihtsad ja arusaadavad. Üks osaleja lisas omalt poolt: "Kuna tegemist oli otsast lõpuni igapäevase tööga seotud tegevusega, siis olen ülimalt positiivselt üllatunud."


    BugFeveri eestvedaja Maili Markvardt kirjeldab üritust nii: "BugFeveri korraldamisel peame silmas asjaolu, et üritusest saaksid maksimaalselt kasu nii testjad kui ka testitava tarkvara pakkuja. Osalejad said kindlasti esmased teadmised ja oskused testimiseks – näiteks teadmise, et testija peabki kõike kahtluse alla seadma – ja oskuse vigu korrektselt raporteerida. Vähem oluline pole ka see, et osalejad, kes ei tegele igapäevaselt testimise ega tarkvaraarendusega, saaksid testimisest positiivse kogemuse.

    Testitava tarkvara pakkujale annab BugFeveri käigus saadav tagasiside ülevaate, missuguseid emotsioone tarkvara potentsiaalsele kliendile pakub ja kui mugav on seda kasutada. Välja tuleb ka suuremaid ja väiksemaid funktsionaalseid vigu.

    Tahan siiski rõhutada, et BugFever ei asenda süstemaatilist testimist arenduse käigus, sest ürituse läbiviimiseks peab olema tarkvara juba stabiilne ning viimistletud, vastasel juhul on osalejate negatiivne meelestatus tarkvara suhtes kindlustatud."

    BugFever on ASA Quality Services OÜ poolt ellu kutsutud ja ASA Akadeemia abiga läbi viidav interaktiivne testimisüritus, mille eesmärgiks on läbi praktika tutvustada tarkvara kvaliteedi tagamisega seotud tegevusi ja erialasid ning levitada teadmust nende kohta.

    Lisainfo BugFeveri kohta: https://www.asaquality.ee/bugfever/

    Kontakt:
    Maili Markvardt
    +372 56 603 627
    maili.markvardt@asaquality.ee

    teisipäev, 23. september 2014

    Kuidas tagada veebirakenduse sõbralikkust?

    Veebirakenduse kasutajasõbralikkusest rääkides tulevad esimesena pähe lihtne ja selge visuaalne kujundus, mis võimaldab kasutajal intuitiivselt ning suure kasuteguriga oma eesmärke saavutada. Eesmärkideks võivad olla näiteks majandusaasta aruannete koostamine, müügitöö koordineerimine, e-poest meelepärase eseme tellimine või siis lihtsalt tuttavate piltide kommenteerimine ja meelelahutuslike videoklippide vaatamine. Tõhusam eesmärkide saavutamine loob sageli väärtusliku konkurentsieelise, seetõttu haaratakse uutest tehnoloogilistest võimalustest õhinaga kinni. Selge sisuesitluse ja intuitiivse funktsionaalsuse arendamisel kipub aga pahatihti tähelepanuta jääma rakenduse jõudlust määravate protsesside optimeerimine. Järgnevalt vaatleme, kuidas saab jõudlustestimine aidata kasutajasõbraliku rakenduse loomisel.


    Kärsitu kiirustamine

    Esimene jõudlusega seostuv parameeter, mis kasutajakogemust oluliselt mõjutab, on kiirus ehk aeg, mille jooksul rakendus suudab vajalikku infot kuvada. Kui 1990ndatel olid veebis surfajad harjunud kannatlikult enam kui 30 sekundit liivakellakujulist kursorit põrnitsema, siis nüüdseks on olukord drastiliselt muutunud. Arvutikasutajate kannatus katkeb üha kiiremini ning sageli otsustatakse juba paarisekundilise esmamulje põhjal, kas lehele jääda või mujale liikuda. Iga lisasekund lehe laadimisel võib seega rahulolevate kasutajate hulka märkimisväärselt vähendada.

    Jõudlustestimine aitab saada ülevaadet sellest, kui kiiresti mingi veebirakenduse osa päringutele reageerib ning võimaldab kindlaks määrata rakenduse kõige aeglasemad kohad. Näiteks võivad optimeerimata andmebaasipäringud või virtuaalserveri vale konfiguratsioon põhjustada tarbetuid viivitusi, mida saaks vähese vaevaga parandada. Jõudlustestimine juhib sellistele pudelikaeladele tähelepanu ning aitab veenduda selles, et süsteemi kasutajatele kuvatakse vajalik info võimalikult kiiresti.

    Skaleeritavus

    Üksikute kasutajatega süsteemi testimisel ei pruugi välja tulla rakenduse võimekus hakkama saada suurema hulga päringutega. Ebaotstarbekalt süsteemi ressursse kulutav algoritm võib vähese arvu kasutajatega näiliselt edukalt toime tulla, kuid päringute arvu kasvades ootamatult kinni joosta. Jõudlustest aitab hinnata, mitut kasutajat suudab süsteem üheaegselt piisava kiirusega teenindada. Nii on võimalik kasutajatele süsteemi suure koormuse korral juba ennetavalt kuvada vabandav teade. Kasutajate piirarvu täitumisel uutele sisenejatele viisaka selgitusega sissepääsu takistamine on märksa kasutajasõbralikum lahendus kui ootamatud tõrked või talumatud viivitused.

    Süsteemi skaleeritavuse planeerimisel tasub arvestada ka sellega, et süsteeme kasutatakse tavaliselt ebaregulaarselt ning keskmine lehekülastuste arv ei pruugi kasutajate käitumist piisavalt täpselt kirjeldada. Turunduskampaaniad, tähtajad, riigipühad ja mitmed muud faktorid võivad tavapärase süsteemi koormuse lühikese aja jooksul mitmekordistada. Näiteks kipuvad ülikoolide õppeinfosüsteemid olema kõige aeglasemad vahetult enne ainetele registreerumise tähtaegu ning piletimüügisüsteemid ägavad ülekoormuse käes, kui algab müük ülipopulaarsele üritusele.

    Ebaregulaarsete kasutusmustrite tundmine võimaldab jõudlustesti tulemusi paremini mõtestada ning vastavalt ka rakenduse arendustegevusi planeerida. Lisaks mineviku mõtestamisele tasub mõelda ka tulevikuplaanidele. Ettevõtte laienemine ja uute tehnoloogiate (näiteks aina taibukamad nutiseadmed, täiendatud reaalsus, semantiline veeb, Big Data) kasutusele võtmine mõjutab märgatavalt kogu infovahetusprotsesside mahtu. Jõudlustestimine aitab kontrollida rakenduse skaleeritavust, et arendatav tarkvaralahendus oleks võimalikult jätkusuutlik.

    Kasutusvoog

    Kõikvõimalike testide üks peamine eesmärk on lõpptulemusena tagada rakenduse kasutajale võimalikult sujuv kasutusvoog (flow). Aeglane lehe laadimine, keerukatest menüüdest vajaliku funktsionaalsuse otsimine ja muud tarbetult aeganõudvad tegevused takistavad kõik sujuvat voogu rakenduse alguspunktist soovitud tulemini. Eriti häirivalt mõjuvad ootamatud tõrked ning tavakasutajale arusaamatud veateated (näiteks "0x361F ERRORIPSECIKE_SRVACQFAIL" või "Uncaught exception: Java.lang.Error at sun.plugin.util.PluginSysUtil $SysExecutionThread.run").

    Ideaalses süsteemis toimiks kõik loogiliselt, kiiresti ning vigadeta, kuid reaalses elus on tarkvaravead praktiliselt vältimatud. Taibukamad süsteemid oskavad aga veasituatsioonidest väärikalt välja tulla. Nimelt ei kuvata komplitseeritud veakirjeldusi ega lakoonilisi 404-laadseid koode, vaid konstruktiivne ja viisakas teade, mis aitab võimalikult valutult kasutusvoogu jätkata. Mitmed lehed lähevad veel sammu kaugemale ning katsuvad potentsiaalse frustratsiooni vähendamiseks veateated lõbusaks teha.

    Ükskõik kui meisterlikult loodud veateated ei aita aga pikemaajaliste ja sagedaste jõudlusprobleemide korral. Ka jõudlustestimine iseenesest veel jõudlusprobleeme ei lahenda, vaid annab ainult infot, mille põhjal edasi tegutseda. Näiteks kui on teada, et enam kui 10 paralleelse ühenduse korral on rakenduse töö häiritud, aga planeeritud kasutajate hulk päevas on ligikaudu 4000 inimest, siis on mõistlik kiiremas korras võtta kasutusele ettevaatusabinõud hiireviha tekitavate olukordade ennetamiseks. Jõudlushinnangu puudumisel võib julgelt kasutajate kannatusega katsetamine vägagi kulukalt lõppeda.

    Edukalt läbitud jõudlustest ei tähenda, et ollakse kaitstud 400-gigabitiste rünnete eest. Küll aga on rakenduse haldajal märksa täpsem ülevaade vastava tarkvara võimekusest ning rohkem infot efektiivsete arendusotsuste tegemiseks, mis aitavad tagada rakenduse võimalikult kasutajasõbralikku käitumist.


    Sten Mäses
    ASA Quality Services

    esmaspäev, 18. august 2014

    Kust tuleb tolm ja kuhu kaob raha?

    Ei ole mingi uudis, et esemed kipuvad ajapikku tolmuga kattuma, kui nad jäetakse kasutult pööningule või keldrisse vedelema. Sama võib öelda ka oskuste, mõtete ja inimeste kohta, kui neile pidevalt uusi väljakutseid ei esita. Lõpuks kipub minema sedasi, et vana asi vajab kallist restaureerimist ja oma oskustega ajale jalgujäänud inimene kaotab sponsorid.

    Täpselt sama probleem vaevab ka ettevõtteid, sest turg nõuab pidevalt uudseid ja innovaatilisi lahendusi. Kui ASA Quality Services 10 aastat tagasi alustas, siis olid testimine, testija ja kvaliteedikonsultant uued osalised Eesti turul ning ega väga kellelgi polnud aimu, mis tegelastega on tegu. Õnneks on hea tõdeda, et ASA on endiselt turul ning testimine, testija ja QA (Quality Assurance) ei ole enam uudissõnad. Kasutan juhust tänada siinkohal ASA meeskonda, kes pole selle aja jooksul tolmukorraga kattunud ning on näinud igapäevaselt enda vajalikkuse tõestamisega kurja vaeva.

    Samamoodi nagu maailm, on pidevas muutumises ka QA turg ja trendid. Selles postituses üritangi võimalikult lihtsalt välja tuua suurimad väljakutsed ja soovitused, mis ootavad tarkvaraarendust ja QA turgu ees aastatel 2014-2015.

    1. QA organisatsioonid hakkavad endi funktsioone ärivajadustele vastavalt tsentraliseerima ja parendama, et saavutada suurem efektiivsus ja kuluoptimaalsus

    See tähendab üldjoontes seda, et kvaliteediinimesed ja testijad on läbimas nii oma käitumises kui ka mõttelaadis suurt muutust suurema küpsusastme poole ja hakkavad järjest enam toimetama ettevõtteüleselt aga mitte projektipõhiselt nagu seni. Eelkõige tähendab see seda, et arendajad peavad hakkama projekti kontekstis arvestama QA poolt lauale toodud skoobiväliste ärivajadustega, ning kõiki või enamus majasiseseid arendusi hallatakse ühtse metoodika järgi.

    Taolisi QA kehi nimetatakse ühise nimetajana TCOE-deks (Test Center of Excellence) ja selleks võivad olla nii majasisesed, kui ka -välised kvaliteediüksused, kes on võimelised pakkuma erinevaid kvaliteediteenuseid kogu tarkvara elutsükli vältel.

    Senine levinud mudel, kus testijaid hangiti projektipõhiselt meeskonnale täienduseks, on drastiliselt kadumas, kuna selle efektiivsus ja kuluoptimaalsus on suhtliselt madal. Kui 2013. aastal oli 6% ettevõtetel kas majasisene TCOE või täitis seda rolli väline partner, siis sel aastal on vastav näitaja tõusnud 19%-le ning täiendaval 13% ettevõtetel on plaanis taoline keha kahe aasta jooksul kas tekitada või hankida.

    2. IT eelarvest investeeritakse üha rohkem QA operatsioonidesse.

    10 aastat tagasi tegin ma jämeda ja julge rehkenduse, kui palju maksab kvaliteedimõõtme toomine tarkvaraarendusse. Ma sain tulemuseks, et suurusjärku 20-25% ja ma nimetasin seda kirvemeetodiks, et anda kliendile aimu, kui palju ASA teenus maksab. Ma oleksin võinud muigugi küsida ka kliendilt, mitu viga tal süsteemis on ja ma oleksin osanud kohe öelda palju nende leidmine maksma läheb. Siiski otsustasin minna raskemat teed.

    Aastal 2012 oli maailmas selle investeeringu keskmine suurus 18% IT eelarvest. 2013 aastal 23% ja 2015 aastaks prognoositakse 28%. Selline kasv ületab klassikalist 2-3%-aastas-keskmiselt reeglit märgatavalt ning on osaliselt põhjendatav asjaoluga, et ettevõtted vajavad kõrgema kvaliteediga tarkvarasid, mis on käideldavad, turvalised ja mugavad kasutada.
    Samas väärib märkimist, et need trendid näitavad investeeringute suuremat suunamist uute tehnoloogiate kasutuselevõtu suunal ja vähenemist olemasolevate süsteemide käitamiseks vajalike testimiste läbiviimiseks. Olemasolevate süsteemide haldamiseks kasutatakse järjest rohkem testimise automatiseerimist, mis muudab selle kuluefektiivsemaks.

    3. Klassikaline arusaam testimise kaasamisest arendusse ja testimise üldine toetumine reaktiivsetele meetrikatele muudab testimise vajalikkuse õigustamise ja küpsusastme kasvatamise keeruliseks

    Klassikaliselt ollakse harjunud testimist kaasama siis, kui on mida testida ehk arendus on jõudnud mingisuguse töötava koodini. See hetk on aga liiga hilja, et testimine saaks ennetada vigu ja olla proaktiivne. Peaaegu pooled ettevõtted (45%) kaasavad testimise kas arenduse jooksul või peale seda, mis on liiga hilja, et mõjutada süsteemi kvaliteeti laiemalt kui vigade otsimine ja parandamine. Eriti problemaatilised on selles vaates lühikeste arendusiteratsioonidega arendused.

    Samuti on siinkohal suur roll ka kasutatavatel meetrikatel. Väga suur enamus ettevõtteid keskendub endiselt testimise operatiivmõõdikutele nagu leitud vigade arv (73%) , testiloo hind (55%) jne. Kuigi need meetrikad on testimise jaoks olulised, siis võiksid testijad pakkuda enamat, et näidata oma seotust ja lisandväärtuse loomist ärioperatsioonidele. Näiteks mõõta QA panust toote või teenusega turuletuleku aja lühendamisse (time-to-market) ennetades vigu ja probleeme enne, kui need jõutakse koodi kirjutada.

    4. Nutiseadmetel testimise (mobiiltestimine) trend on järsul tõusul ja muutumas võtmedistsipliiniks, kuid turul puuduvad vastavad metoodikad, oskused ja keskkonnad.

    Sel aastal näitas mobiiltestimine ülisuurt kasvu fookusega nii funktsionaalsuse, jõudluse kui ka turvatestimisele. 55% ettevõtetest tegeleb aktiivselt oma rakenduste mobiiltestimisega võrreldes 31%-ga eelmisel aastal. Nutiseadmetel jooksvate rakenduste peamine fookus on endiselt jõudlusel ja funktsionaalsusel (59%), kuid suure hüppe on teinud turvatestimise osakaal (56% võrreldes eelmise aasta 18%-ga). See näitab, et nutiseadmed on saamas äriettevõtete jaoks olulisteks meediumiteks nende ja klientide vahel tavaliste arvutite kõrval ning uute süsteemide loomisel tuleb tõsiselt kaaluda nutiseadmete võimalusi ja piiranguid. Tõenäoliselt saab mobiilturvalisus lähima kahe aasta jooksul fookusalaks nr 1.

    Kui varemalt pidasid mobiiltestimisega tegelevad ettevõtted suurimaks probleemiks vastavate tööriistade puudust, siis tänaseks on murekohad liikunud sobilike metoodikate (34% pealt 56%-le), oskuste (29%-lt 48%-le) ja keskkondade puudusele. Mobiiltestimise spetsiifika peitub sadade erinevate seadmete ja operatsioonisüsteemide variatsioonide testimises, mille hulgas on ka tootmisest maasolevad mudelid aga mida endiselt maailmas on palju kasutusel. See muutus, mis liigutas murekoha tööriistadelt keskkondade ja metoodikate puudusele näitab, et mobiiltestimine on ettevõtete jaoks saamas oma eripärade ja nõuetega QA eriditsipliiniks.

    5. Pilve kasutuselevõtt ja pilvepõhine testimine on pidurdunud, sest ettevõtted maadlevad turva ja jõudlusprobleemidega.

    Kuigi üldiselt on ettevõtete suhtumine pilve positiivne, siis paljude jaoks on probleemiks pilves endas toimuv segadus ja vastutuse hajusus. Kui ettevõte käitleb sensitiivseid andmeid, siis täna ei paku pilveteenuse pakkuja sulle garantiid, et need andmed on teiste pilvekasutajate eest kindlalt kaitstud või ei kasutata näteks selle sama pilve võimsust sinu ründamiseks. Kui need probleemid saavad lahendatud, siis on oodata suuremat pilve kolimise lainet, mis toob endaga kaasa ka pilvepõhise testimise kasvu ning testkeskkondade pilve viimise.

    6. Investeerimine testkeskkondadesse on samuti pidurdunud, kuna turul pole saada vastavat kompetentsi

    Testkeskkonnad ja sobivad tööriistad on kvaliteedi tagamisel üliolulise tähtsusega, mida kinnitavad ka QA organisatsioonide investeeringute jaotised. Testkeskkondadesse investeeritakse kuni 40% QA eelarvest ja 28% tööriistadesse. Enamik ettevõtteid kasutavad püsivat testkeskkonda (63%) ja 23% kasutavad rakendusepõhist ajutist keskkonda.

    Sellegipoolest kurdavad 67% ettevõtteid, et neil pole õigeid testimisvahendeid ja keskkondi hoolimata investeeringutest ja 53% on hädas mitme testkeskkonna ja riistvara haldamisega ning 37% ettevõtteil on probleem piisava kiirusega testkeskkondade ülesehitamisega.

    Seetõttu on need ettevõtted hakanud nägema Test Environment Management-i (TEM) kui uut testimisoskust ja rutiini. Ilma testkeskkondade loomise spetsiaalse planeerimiseta ja rakendamiseta võib testimeeskond raisata väärtuslikku aega ja raha ning kaotada tsentraliseerimisest tekkiva efekti.

    Samuti on ettevõtetel probleeme piisava katvuse ja loogilise ülesehitusega testandmete genereerimisega, mis kuulub ka TEM kompetentsidesse.

    7. Agiilne arendus on moes, kuid põhjustab testimisele suuri probleeme. Turul ei leidu sobivaid metoodikaid ja oskusi.

    83% ettevõtteist tunnistavad, et nad kasutavad agiilseid arendusmetoodikaid kas kõigis või osades enda projektides. Põhjuseks tõenäoliselt agiilse arenduse lubadus tarnida kiiresti takvara, mis on muutuvatele turuvajadustele kiirelt kohanduv. Samas 64% ettevõtetest tunnevad puudust jätkusuutlikest testimismeetoditest agiilsete arenduste testimises. 56% ettevõtetel on probleemid testide automatiseerimisega ja 49% ei suuda agiilse testimise fookust täpselt paika seada.

    Need näitajad näitavad selgelt probleemi, mis täna valitseb agiilses arenduses. Nimelt keskenduvad agiilsed arendusmeeskonnad liigselt koodi kiirele väljalaskmisele, kuid selleks, et agiilne arendus oleks edukas, peaks meeskond igas iteratsioonis keskenduma koodi asemel ärivajadustele ja -väärtustele, mida TCOE-d saavad pidevalt valideerida ja verifitseerida. Kindlasti tekib lähiajal sellele problemile lahendus ning agiilsed arendused ei põhjusta tellijatele selles mahus enam peavalu.

    Kokkuvõtteks

    Selle lühikokkuvõtte aluseks on World Quality Report 2013-2014. Raportit lugedes võrdlesin ma tahes-tahtmata trende täna ASAs toimuvaga ning oma heameeleks avastasin, et me oleme juba hulk aega tundnud sama, mida raport välja tõi ja oleme pikemat aega endid sisemiselt kõvasti arendanud. Oleme saavutanud TCOE võimekuse lüües ettevõtetes kaasa arendusstrateegiate ja kvaliteedipoliitika loomisest kuni reaalse tarkvara juurdumiseni ning oleme võimelised ka agiilseid meeskondi suunama õigele ja ärile olulisele teele. Juurde on tekkinud turvatestimise kompetents ja testkeskkondade ning testandmete loomise ja haldamise võimekus ning mis peamine - meil silm särab ja me ei karda sirge seljaga tulevikule vastu marssida. Tolmu meie pealt ei leia!

    Sander Vallaots
    ASA Quality Services
    juhatuse liige

    reede, 11. juuli 2014

    Tule testijuhtimise meistriklassi, mis toimub 4.-8. augustil. Viimased kohad!

    4. -8. augustil toimub Lloyd Rodeni juhtimisel ISTQB Advanced Level Test Manager koolitus, mida võib ülesannete keerukuse ja intensiivsuse tõttu pidada tõeliseks testijuhtimise meistriklassiks. Koolitusele on veel mõned vabad kohad.

    Mida õpid testijuhtimise meistriklassis (peale valmisoleku saada ISTQB CTAL TM sertifikaat)?

    Koolitus toimub ISTQB Advanced Level õppeprogrammi järgi, mis tähendab, et sügavuti ning koos praktiliste harjutustega läbitakse järgnevad teemad:
    -    Testiprotsessi ülesehitus, erinevad projektid, minimaalne vajalik testimispanus;
    -    Testiprotsessi juhtimine – riskipõhine ja väärtuspõhine lähenemine, testimise mahtude hindamine, testimine väljast (outsoucing), standardne testidokumentatsioon ja meetrikate kasutamine;
    -    Läbivaatused ehk staatiline testimine kui kvaliteedi tagamise osa
    -    Vigade haldamine, vigadehalduse protsess, meetrikad, vigade korrektne kirjeldamine
    -    Testimisprotsesside parenadmise TPI, CMMi, CTP, STEP mudelid
    -    Testivahendid ja testide automatiseerimine, tööriistade valik, meetrikad tööriistade hindamiseks
    -    Inimeseoskused  tarkvaraprojektis, meeskonna motivatsioon, kommunikatsioon, värbamine ja meeskonna loomine ning sobitamine organisatsioonis.


    Koolitajaks on Lloyd Roden (Inglismaa, http://lloydrodenconsultancy.com/)
    Lloyd Rodeni kogemus tarkvaraarenduses arendaja, testianalüütiku ja testijuhina on üle kolmekümne aasta. Aastatel 1999-2011 töötas ta konsultandina, aastal 2011 asutas isikliku koolitus- ning konsultatsiooniettevõtte. Lloyd on tuntud esineja mitmetel testimisalastel konverentsidel nagu EuroStar, StarEast, StarWest, samuti on ta esinenud meie kodumaisel Nordic Testing Days konverentsil.
    Lloyd peab kõigil oma koolitustel oluliseks sisu praktilisust ja rakendatavust igapäevatöös: koolitus annab osalejale konkreetsed näpunäited, juhised, mallid, mida pärast koolitust tööle naastes kohe kasutama asuda.

    Niisiis, kui soovid saada tõeliselt kõva trenni professionaalse testijuhtimise treeneri käe all, siis tule koolitusele:
    Aeg ja koht: 4.- 8. August 2014 Tallinnas, Lõõtsa 8 II korrus.
    Hind: 2500€+KM, alates kahest osalejast ühest ettevõttest -10%. Hinnas sisaldub toitlustus ja vajalikud materjalid eksamiks valmistumiseks, kuid ei sisaldu sertifikaadieksami tasu. Tegemist on intensiivse ja personaalse koolitusega, seetõttu on kohtade arv piiratud.


    Koolituse eesmärk ja sihtrühm: koolitus aitab süvendada teadmisi testijuhtimisest, mistõttu on vajalik praktiline kokkupuude testimise ja/või testijuhtimisega. Koolitus annab vajalikud teadmised ja oskused ISTQB CTAL TM sertifikadieksami sooritamiseks. Koolitus toimub ISTQB õppeprogrammi järgi, mida on võimalik vaadata siit: http://www.istqb.org/downloads/finish/46/96.html .  Sertifikaadieksami sooritamine eeldab ISTQB CTFL (või samaväärse) sertifikaadi olemasolu, kuid koolitusel pole keelatud osaleda ilma seda omamata.

    Sertifikaadieksami sooritamise võimalus: 11. augustil, hind 250€+KM. Edaspidi korraldab eksameid Eesti Testijate Liit (www.testijateliit.ee).
     

    ISTQB Advanced Level Test Manageri koolitusele järgnevad 2015. aastal ka ISTQB Advanced Level Test Analyst (4 päeva) ja Technical Test Analyst (3 päeva) koolitused, samuti ISTQB Foundation  Level Certified Tester Agile Tester Add-on koolitus.