Meie testimise meeskonna spetsialistid testivad CGI Eesti arendatavat tarkvara ning pakuvad tarkvara testimist eraldiseisva teenusena nii välistele arendusmeeskondadele kui ka suurklientidele. 
 

TEENUSED

Meie eesmärk on tagada kliendi rahulolu kvaliteetse testimisteenuse kaudu, mis aitab kokku hoida kliendi kulusid ning annab talle kindlustunde tarkvara kvaliteedi suhtes. Olles kaardistanud kliendi vajadused, pakume testimisteenust just kliendile vajalikus ulatuses ja mahus, olgu see siis:

  • tarkvara testimise täisteenus (sh testistrateegia loomine ja testijuhtimine) või
  • spetsiifilisem testimistegevus (nt testide automatiseerimine).

Tegutseme testimise erinevatel tasemetel (integratsiooni-, süsteemi-, vastuvõtutestid), viies läbi nii funktsionaalset kui ka mittefunktsionaalset testimist (sh jõudlustestimine, turvatestimine ja kasutusmugavuse testid).

KOGEMUS
Oleme teinud koostööd Eesti suurimate eraettevõtete ja riigiasutustega, näiteks Telia, Eesti Energia, SMIT ja RIA. Samuti oleme testimisega aidanud rahvusvahelisi suurettevõtteid ja asutusi, näiteks YIT Ehitus ja Euroopa Kosmoseagentuur. 
CGIs mitmekümnest kogenud spetsialistist koosnevat kvaliteeditiimi, kes tegeleb igapäevaselt tarkvara testimisega kosmosemissioone toetavast tarkvarast kliendirakendusteni avalikus sektoris.

Korduma Kippuvad Küsimused - tarkvara automaattestimine

Siit leiad vastused enamlevinud küsimustele seoses tarkvara testimise automatiseerimisega

Kui palju automatiseerimine aitab testimisel aega säästa?

Lihtne näide – testime toote muutuvat funktsiooni nelja nädala vältel. 

Manuaalselt testides kulub testijal selleks päevas kaks tundi ehk ajakulu kokku kogu testperioodil on 40 tundi. Automatiseerimise kõige ajamahukam osa (ja sageli ka esmapilgul hirmutavam) on testide automatiseerimine. Oletame, et antud juhul võtaks see aega 16 tundi ehk kaks tööpäeva. Automaattestide puhul on oluline testitulemuste kontroll, millele automaatteste jooksutades kulub edaspidi pool tundi päevas.

Neljanädalase perioodi jooksul kulub sama funktsionaalsuse kontrollimisele kokku 26 tundi (sh seadistamine mahus 16 tundi). Kokkuvõttes on sama muutuva funktsionaalsuse testimisele kulunud 14 tundi vähem aega.

Tarkvaraprojektid kestavad enamasti pikemalt kui üks kuu ning automatiseeritud testide puhul on võimalus neid taaskasutada. Laiendades näites toodud tulemusi veel pikemale perioodile, kahe või kolme kuu peale, siis on ajakulu vastavalt 80h/36h ja 120h/46h automatiseerimise kasuks.

“Meie süsteem on nii keeruline, et seda ei ole võimalik automaatselt testida”

Jah, kindlasti leidub ka nii keerulisi süsteeme, mida tõesti polegi võimalik automaattestidega katta. Siis peab alustama analüüsist, miks seda teha ei saa. 

Põhjuseid on erinevaid, sagedasemad neist on näiteks “meil on nii palju keerulisi andmeid”, “meil on nii palju erinevaid süsteeme, mis kõik omavahel on seotud” või “meil on süsteem tehniliselt nii keerukas, et ükski automatiseerimise tööriist sellega hakkama ei saa”.

Kui piisavalt sügavalt uurida neid juurpõhjusi, leiab alati ka vastused. Tihti võib selle käigus avastada, et võib-olla siiski saab midagi automatiseerida. Kui testija saab toodet või lahendust manuaalselt testida, siis üldjuhul saab kõiki neid samu tegevusi ka ühel või teisel moel automatiseerida.

Kas testimist saab ka ainult osaliselt automatiseerida?

Kui on palju keerukaid andmeid, siis automatiseeritakse näiteks kasvõi osaliselt andmete kontrollimine, või kui on palju erinevaid süsteeme, siis keskendutakse automatiseerimisel ühele olulisemale süsteemile. Testide automatiseerimine ei pea olema “kõik või mitte midagi” printsiibiga. Automatiseerimise skoopi saab ka hiljem vajadusel laiendada. 

Kas automaattestimine välistab manuaalse ja vastupidi?

Automatiseerimise kasulikkust näeme testijatena paljuski selles, et see vabastab meie tööaega muude tegevuste ja ülesannete jaoks. 

Selle n-ö võidetud ajaga saab testija tegeleda muude teemadega – on selleks siis keerulisemad testjuhud, testandmete analüüsimine või hoopiski uute testide automatiseerimine (mis tulevikus hakkavad omakorda aega säästma). 

Niimoodi üksteist toetades saavad automatiseerimine ja manuaalne testimine edukalt koos eksisteerida. 

 

Kui palju automatiseerimine aitab testimisel aega säästa?

Lihtne näide – testime toote muutuvat funktsiooni nelja nädala vältel. 

Manuaalselt testides kulub testijal selleks päevas kaks tundi ehk ajakulu kokku kogu testperioodil on 40 tundi. Automatiseerimise kõige ajamahukam osa (ja sageli ka esmapilgul hirmutavam) on testide automatiseerimine. Oletame, et antud juhul võtaks see aega 16 tundi ehk kaks tööpäeva. Automaattestide puhul on oluline testitulemuste kontroll, millele automaatteste jooksutades kulub edaspidi pool tundi päevas.

Neljanädalase perioodi jooksul kulub sama funktsionaalsuse kontrollimisele kokku 26 tundi (sh seadistamine mahus 16 tundi). Kokkuvõttes on sama muutuva funktsionaalsuse testimisele kulunud 14 tundi vähem aega.

Tarkvaraprojektid kestavad enamasti pikemalt kui üks kuu ning automatiseeritud testide puhul on võimalus neid taaskasutada. Laiendades näites toodud tulemusi veel pikemale perioodile, kahe või kolme kuu peale, siis on ajakulu vastavalt 80h/36h ja 120h/46h automatiseerimise kasuks.

“Meie süsteem on nii keeruline, et seda ei ole võimalik automaatselt testida”

Jah, kindlasti leidub ka nii keerulisi süsteeme, mida tõesti polegi võimalik automaattestidega katta. Siis peab alustama analüüsist, miks seda teha ei saa. 

Põhjuseid on erinevaid, sagedasemad neist on näiteks “meil on nii palju keerulisi andmeid”, “meil on nii palju erinevaid süsteeme, mis kõik omavahel on seotud” või “meil on süsteem tehniliselt nii keerukas, et ükski automatiseerimise tööriist sellega hakkama ei saa”.

Kui piisavalt sügavalt uurida neid juurpõhjusi, leiab alati ka vastused. Tihti võib selle käigus avastada, et võib-olla siiski saab midagi automatiseerida. Kui testija saab toodet või lahendust manuaalselt testida, siis üldjuhul saab kõiki neid samu tegevusi ka ühel või teisel moel automatiseerida.

Kas testimist saab ka ainult osaliselt automatiseerida?

Kui on palju keerukaid andmeid, siis automatiseeritakse näiteks kasvõi osaliselt andmete kontrollimine, või kui on palju erinevaid süsteeme, siis keskendutakse automatiseerimisel ühele olulisemale süsteemile. Testide automatiseerimine ei pea olema “kõik või mitte midagi” printsiibiga. Automatiseerimise skoopi saab ka hiljem vajadusel laiendada. 

Kas automaattestimine välistab manuaalse ja vastupidi?

Automatiseerimise kasulikkust näeme testijatena paljuski selles, et see vabastab meie tööaega muude tegevuste ja ülesannete jaoks. 

Selle n-ö võidetud ajaga saab testija tegeleda muude teemadega – on selleks siis keerulisemad testjuhud, testandmete analüüsimine või hoopiski uute testide automatiseerimine (mis tulevikus hakkavad omakorda aega säästma). 

Niimoodi üksteist toetades saavad automatiseerimine ja manuaalne testimine edukalt koos eksisteerida.