Testimise roll arendusprotsessis
Kvaliteet ja testimine
Kvaliteetne tarkvara koosneb lõppkasutaja ja tellija vaatevinklist vaadatuna paljudest erinevatest aspektidest. Näiteks sõiduauto puhul on lisaks heale välimusele, mis on tähtis enamikule kasutajatest, olulisteks kriteeriumiteks veel kasutusmugavus, ergonoomika, töökindlus, hooldusarvete suurus ja muu taoline. Nii on ka tarkvaraga.
Toon siinkohal välja valiku kvaliteeti puudutavaid näitajaid, mida arendusprotsessis jooksvalt testitakse:
- disain – väljanägemine, tunnetuslik kogemus ja kasutusmugavus;
- funktsionaalsus – tarkvara teeb seda, mida oodatakse;
- usaldusväärsus – töötab suuremate vigadeta;
- paindlikkus – ei vanane kiiresti ja töötab kõigi populaarsemate brauserite ja operatsioonisüsteemidega;
- kiire hooldus hilisemas faasis;
- paigas hinna- ja kvaliteedisuhe.
Trinidad Wisemani juured ulatuvad sügavale UXi (kasutajakogemus) valdkonda. Kanname olulist rolli WCAG (Web Content Accessibility Guidelines) direktiivide järgimisel ja ligipääsetavuse tagamisel. Oleme Eestis teinud selleteemalisi uuringuid, kirjutanud mitmeid blogipostitusi, meie spetsialistid on koostanud auditeid ja annavad loenguid ka ülikoolides.
Luues avaliku sektori suuri infosüsteeme ja rakendusi (nt Haridusportaal, Tööelu infosüsteem, VisitTallinn, STAR) on oluline, et meie loodud tarkvara vastab ligipääsetavuse nõuetele, järgib häid UX-tavasid ning on kasutajasõbralik. Samuti testime tarkvara agiilselt kogu arendusprotsessi vältel.
Ka erasektori projektide partnerina oleme järginud parimaid praktikaid, sealhulgas kasutanud agiilseid arendus- ja testimismeetodeid, mis tagavad kliendile paindlikkuse ja parema ülevaate käimasolevatest arendustsüklitest. Samuti oleme olnud toeks ka näiteks JIRA platvormi kasutamisel.
Trinidad Wisemanis loome innovaatilisi ja kasutajasõbralikke tarkvaralahendusi. Meie arendusprotsessis on keskne roll testimisel, kvaliteedil ja ligipääsetavusel, et tagada tarkvara töökindlus. Rakendame agiilseid metoodikaid ning teeme tihedat koostööd disainerite ja analüütikutega, et lahendus vastaks nii ärilistele kui ka tehnilistele ootustele. Tutvu meie tarkvaraarenduse teenusega ja vaata tehtud töid. Kui soovid kvaliteetset, testitud ja skaleeritavat lahendust, võta meiega ühendust.
Tooteomaniku panus tootekvaliteeti
Tooteomaniku (tellija) roll on kogu kvaliteediprotsessis (sh testimine) väga oluline, kuid sageli alahinnatud. Kvaliteetse toote loomisel on otsustava tähtsusega tooteomaniku teadmised agiilsete arendus- ja testimismeetodite põhitõdedest (nt Scrum, Kanban).
Oluline on ka oskus kasutada tarkvaraarenduseks loodud platvorme (nt JIRA, Confluence, Asana). Suurt rolli mängib tooteomaniku aktiivne osalemine igas arendustsükli etapis — olgu selleks agiilse arenduse piletite testimine või kasutuslugude loomine. Agiilse arenduse kohta saad rohkem lugeda meie blogipostitusest Vesiagiilsus.
Kindlasti ei tohiks alahinnata tooteomaniku panust ka vastuvõtu- ja beetatestimisse. Soovi korral on kõik suunised veebist lihtsasti leitavad, kasutades otsinguks vastavaid märksõnu. Samuti on võimalus osaleda temaatilistel koolitustel.
Kui on soov kvaliteediprotsessi testimise kaudu sisuliselt panustada, tasub läbi töötada ISTQB algtaseme materjalid. Need annavad hea baasteadmise tarkvaratestimise alustest ja võimaldavad tooteomanikul veelgi paremini arendusse panustada.
Hea testija on sõltumatu
Kujutleme, et kokk kirjutaks ise oma loodud supiretseptist toidublogisse arvustuse. Sel juhul puuduks adekvaatse hinnangu andmiseks kõige olulisem - objektiivsus. Testimise maailmas kutsutakse seda “sõltumatuse astmeks” ehk mida sõltumatum on testija arendustiimist ja loodavast tootest, seda objektiivsem ta on.
Samal põhjusel ei ole parim valik paluda testijaks arendajat ennast ega ka näiteks analüütikut, kes on kirjutanud nõuded, sest parafraseerides Goethe't: “Me näeme ainult seda, mille olemasolust oleme teadlikud”.
Ka tooteomanikul puudub vajalik distants oma tootest ning seetõttu ei pruugi ta seda näha objektiivselt ehk lõppkasutaja perspektiivist (erandjuhul võib ta ise olla ka lõppkasutaja). Lisaks võib protsessi takistada tooteomaniku loomulik surve hoida kulusid kokku, mis võib juhtuda kasutusmugavuse, funktsionaalsuse ja tootekvaliteedi arvelt.
Hea testimine sünnib sõltumatu testija poolt, kes ei vali pooli arendusmeeskonna ja tooteomaniku vahel ning oskab ennast seejuures asetada lõppkasutaja rolli.
Kas saab ka testimiseta?
Testimine ei ole kindlasti tähtsaim lüli tarkvaraarenduse protsessis. Veebiavarustes leidub suurel hulgal tarkvara, mida ei ole spetsialiseerunud testija kunagi testinud ja millel puudub põhjalik dokumentatsioon. Põhjuseid, miks spetsialiseerunud testijat ei kaasata on mitmeid. Toome välja mõned levinumad:
- teadmatus täisväärtuslikust tarkvaraarendusprotsessi elutsüklist. Kvaliteetne tarkvara = kvaliteetne arendusprotsess.
- arusaam, et testimine on kallis. Tegelikult on oluliselt kulukam hiljem vigu parandada ja/või kliente kaotada.
- arendajad võivad ju ise testida. Arendaja teeb vigu, sest ta ei märka neid oma koodis.
- usk, et testimisega saadakse hakkama ka tellija meeskonnas. Kõik suudavad leida tarkvaras vigu, kuid oluline on see, kui palju olulisi vigu jääb leidmata.
- lootus, et lõppkasutaja testib ise ja teavitab vigadest. Kahjuks reeglina ta hoopis lõpetab tarkvara kasutamise ning lahkub.
Kõik need erinevad fantoompõhjused viivad reeglina sama tagajärjeni - vigu täis tooteni ja rahulolematute klientideni (lõppkasutajateni). Praeguses konkurentsitihedas maailmas kehtib aga tendents, et kõige edukamad ettevõtjad lähtuvad klientide vajadustest ehk mõtlevad väljast sissepoole, mitte vastupidi.
Teisisõnu, kui tarkvara - olgu see e-pood, infosüsteem või midagi muud - ei vasta kliendi ootustele ega ole kvaliteetne, lahkub klient, ta on arendajates pettunud ja otsib lahenduse mujalt.
Kalli raha eest loodud tarkvara ei täida oma eesmärki ja läheb vett vedama. Seetõttu on testimisel arendusprotsessis väga oluline roll, et klient saaks täpselt selle, mida tal on vaja – kvaliteetse toote.