Tarkvara testimine ehk tarkvara testimine on tuntud ka kui rakenduste testimine.
Tarkvara testimine on peamiselt suur protsess, mis koosneb mitmest omavahel seotud protsessist. Tarkvara testimise peamine eesmärk on mõõta tarkvara terviklikkust ja selle täielikkust selle põhinõuete osas. Tarkvara testimine hõlmab tarkvara uurimist ja testimist erinevate testimisprotsesside kaudu. Nende protsesside eesmärgid võivad hõlmata järgmist:
Tarkvara terviklikkuse kontrollimine funktsionaalsete/ärinõuetega
Vigade/tehniliste vigade tuvastamine ja tarkvara tõrkevabaduse tagamine
Kasutatavuse, jõudluse, turvalisuse, lokaliseerimise, ühilduvuse ja installi hindamine
Testitud tarkvara peab läbima kõik testid, et olla täielik või kasutuskõlblik. Mõned erinevat tüüpi tarkvara testimismeetodid hõlmavad valge kasti testimist, musta kasti testimist ja halli kasti testimist. Lisaks saab tarkvara testida tervikuna, komponentides/ühikutes või reaalajas süsteemis.
Black Box Testing on tarkvara testimise tehnika, mis keskendub tarkvara funktsionaalsuse analüüsimisele, võttes arvesse süsteemi sisemist tööd. Black Box Testing töötati välja kui meetod klientide nõudmiste, spetsifikatsioonide ja kõrgetasemeliste disainistrateegiate analüüsimiseks.
Musta kasti testimise tester valib kehtiva ja kehtetu koodi täitmise ja sisendtingimuste komplekti ning kontrollib kehtivaid väljundvastuseid.
Black Box Testing on tuntud ka kui funktsionaalne testimine või suletud kasti testimine.
Otsingumootor on lihtne näide rakendusest, mida testitakse musta kastiga. Otsingumootori kasutaja sisestab teksti veebibrauseri otsinguribale. Seejärel otsib otsingumootor üles ja hangib kasutajaandmete tulemused (väljund).
Musta kasti testimise eelised hõlmavad järgmist:
Musta kasti testimisel on ka mõned puudused, näiteks:
Valge kasti testimise ajal käivitatakse kood eelvalitud sisendväärtustega, et kinnitada eelvalitud väljundväärtused. Valge kasti testimine hõlmab sageli tüngakoodi (konkreetse funktsiooni asendamiseks kasutatav kooditükk. Tükk võib simuleerida olemasoleva koodi käitumist, näiteks protseduuri kaugmasinas.) ja ka draiverite kirjutamist.
Valge kasti testimise eelised hõlmavad järgmist:
Puuduste hulka kuuluvad:
Ühikutest on tarkvaraarenduse elutsükli (SDLC) komponent, mille puhul rakendatakse igakülgset testimisprotseduuri tarkvaraprogrammi väikseimatele osadele soovitud sobivuse või käitumise jaoks eraldi.
Üksustest on kvaliteedi mõõtmise ja hindamise protseduur, mida rakendatakse enamikus ettevõtte tarkvara arendustegevuses. Üldjuhul hindab ühikutest, kui hästi tarkvarakood vastab tarkvara/rakenduse/programmi üldisele eesmärgile ja kuidas selle sobivus mõjutab teisi väiksemaid üksusi. Ühikuteste saab teha käsitsi – ühe või mitme arendaja poolt – või automatiseeritud tarkvaralahenduse kaudu.
Testimise ajal isoleeritakse iga seade põhiprogrammist või liidesest. Seadmetestid tehakse tavaliselt pärast arendust ja enne juurutamist, hõlbustades seega integreerimist ja probleemide varajast tuvastamist. Seadme suurus või ulatus varieerub olenevalt programmeerimiskeelest, tarkvararakendusest ja testieesmärkidest.
Funktsionaalne testimine on tarkvaraarenduses kasutatav testimisprotsess, mille käigus testitakse tarkvara, et tagada selle vastavus kõikidele nõuetele. See on viis tarkvara kontrollimiseks, veendumaks, et sellel on kõik funktsionaalsetes nõuetes määratletud funktsioonid.
Funktsionaalset testimist kasutatakse peamiselt selleks, et kontrollida, kas tarkvaraosa annab sama väljundi, mida lõppkasutaja või ettevõte nõuab. Tavaliselt hõlmab funktsionaalne testimine iga tarkvara funktsiooni hindamist ja võrdlemist ärinõuetega. Tarkvara testitakse, andes sellele teatud sisendi, nii et väljundit saab hinnata, et näha, kuidas see vastab põhinõuetele, on nendega seotud või erineb sellest. Lisaks kontrollivad funktsionaalsed testid ka tarkvara kasutatavust, näiteks veenduvad, et navigeerimisfunktsioonid töötavad nii nagu vaja.
Regressioonitestimine on tarkvara testimise tüüp, mida kasutatakse selleks, et teha kindlaks, kas uued probleemid on tarkvaramuudatuste tagajärg.
Enne muudatuse rakendamist testitakse programmi. Pärast muudatuse rakendamist testitakse programmi valitud piirkondades uuesti, et tuvastada, kas muudatus on tekitanud uusi vigu või probleeme või kas tegelik muudatus on täitnud oma eesmärki.
Regressioonitestimine on suurte tarkvararakenduste jaoks hädavajalik, kuna sageli on raske teada, kas probleemi ühe osa muutmine on tekitanud uue probleemi mõnes muus rakenduse osas. Näiteks võib panga laenutaotluse vormi muutmine põhjustada igakuise tehinguaruande ebaõnnestumise. Enamikul juhtudel võivad probleemid tunduda mitteseotud, kuid tegelikult võivad need olla rakenduste arendajate pettumuse põhjuseks.
Muud olukorrad, mis nõuavad regressioonitesti, hõlmavad tuvastamist, kas teatud muudatused saavutavad seatud eesmärgi, või uute ohtude testimist, mis on seotud probleemidega, mis ilmnevad pärast probleemideta perioodi.
Kaasaegset regressioonitesti teostatakse peamiselt spetsiaalsete kaubanduslike testimistööriistade kaudu, mis teevad olemasolevast tarkvarast hetktõmmiseid, mida võrreldakse pärast konkreetse muudatuse rakendamist. Inimtestijatel on peaaegu võimatu täita samu ülesandeid sama tõhusalt kui automatiseeritud tarkvaratestijatel. See kehtib eriti suurte ja keerukate tarkvararakenduste puhul suurtes IT-keskkondades, nagu pangad, haiglad, tootmisettevõtted ja suured jaemüüjad.
Stressitestimine viitab tarkvara või riistvara testimisele, et teha kindlaks, kas selle jõudlus on rahuldav äärmuslikes ja ebasoodsates tingimustes, mis võivad ilmneda suure võrguliikluse, protsesside laadimise, alatakistamise, ülekiirendamise ja ressursside tippkasutuse tõttu.
Enamik süsteeme on välja töötatud normaalsetes töötingimustes. Seega, isegi kui piir on ületatud, on vead tühised, kui süsteemi testitakse arenduse käigus.
Stressitesti kasutatakse järgmistes kontekstides:
Automatiseeritud testimine (tarkvara testimise automatiseerimine) on lähenemine kooditestimisele, mis kasutab spetsiaalseid tarkvaratööriistu, mis käivitavad testid automaatselt ja võrdlevad seejärel tegelikke testitulemusi oodatavate tulemustega.
Automatiseeritud testimine mängib olulist rolli pideva tarnimise (CD), pideva integreerimise (CI), DevOpsi ja DevSecOpsi puhul. Automatiseeritud testimise peamised eelised on järgmised:
Tarkvaraarenduses on eriti kasulik koostamisprotsessi ajal teha automatiseeritud teste tagamaks, et rakendus ei sisalda koostamisvigu ja täidab ettenähtud funktsiooni.
Tarkvara testimise automatiseerimiseks aja võtmine säästab lõpuks arendajate aega, vähendades ohtu, et koodimuudatus rikub olemasoleva funktsionaalsuse.
Testimine on arendusprotsessi väga oluline etapp. Tagab, et kõik vead on parandatud ja toode, tarkvara või riistvara toimib ettenähtud viisil või võimalikult lähedal oma eesmärgipärasele jõudlusele. Automaatne testimine, mitte käsitsi testimine, on hädavajalik selleks, et pakkuda järjepidevalt kuluefektiivset tarkvara, mis vastab kasutaja vajadustele õigeaegselt ja minimaalsete defektidega.
Manuaalset testimist tehakse arenduse ajal ikka erinevatel aegadel, kuid enamasti teevad seda arendajad või riistvarainsenerid ise, et näha kiiresti, kas nende tehtud muudatustel on olnud soovitud mõju.
Ercole Palmeri
Catania polikliinikus viidi läbi oftalmoplastika operatsioon Apple Vision Pro reklaamivaaturiga…
Peenmotoorika arendamine värvimise kaudu valmistab lapsi ette keerukamate oskuste, nagu kirjutamise, jaoks. Värvimiseks…
Meresõidusektor on tõeline ülemaailmne majanduslik jõud, mis on liikunud 150 miljardi suuruse turu poole...
Eelmisel esmaspäeval teatas Financial Times tehingust OpenAI-ga. FT litsentsib oma maailmatasemel ajakirjandust…