Artiklid

Mis on tarkvara testimine, mida see tarkvara testimine tähendab

Tarkvara testimine on protsesside kogum arvutite jaoks kirjutatud tarkvara täielikkuse ja kvaliteedi uurimiseks, hindamiseks ja kvaliteedi kindlakstegemiseks. Tagab tarkvaratoote vastavuse regulatiivsetele, ärilistele, tehnilistele, funktsionaalsetele ja kasutajanõuetele.

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.

Musta kasti testimine

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:

  • Lihtsus: hõlbustab kõrgetasemeliste projektide ja keerukate rakenduste testimist
  • Säästke ressursse: testijad keskenduvad tarkvara funktsionaalsusele.
  • Testjuhtumid: keskenduge tarkvara funktsionaalsusele, et hõlbustada testjuhtumite kiiret arendamist.
  • Pakub paindlikkust: spetsiifilisi programmeerimisalaseid teadmisi pole vaja.

Musta kasti testimisel on ka mõned puudused, näiteks:

  • Testjuhtumi/skripti kavandamine ja hooldus võib olla keeruline, kuna musta kasti testimise tööriistad sõltuvad teadaolevatest sisenditest.
  • Graafilise kasutajaliidese (GUI) suhtlemine võib testiskripte rikkuda.
  • Testid puudutavad ainult rakenduse funktsioone.

Valge kasti testimine

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:

  • Võimaldab testjuhtumite taaskasutamist ja pakub suuremat stabiilsust
  • Hõlbustab koodi optimeerimist
  • Hõlbustab varjatud vigade asukohtade leidmist arengu varases staadiumis
  • Hõlbustab tõhusat rakenduse testimist
  • Eemaldage mittevajalikud koodiread


Puuduste hulka kuuluvad:

  • Nõuab kogenud testijat, kes tunneb sisemist struktuuri
  • Võtab aega
  • Kõrged kulud
  • Koodibittide kinnitamine on keeruline.
  • Valge kasti testimine hõlmab üksuse testimist, integratsiooni testimist ja regressioonitesti.

Üksuse test

Ü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 test

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.

Innovatsiooni uudiskiri
Ärge jätke ilma kõige olulisematest uuendustest. Registreeruge, et saada neid meili teel.

Regressioonitest

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

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:

  • Tarkvara: stressitestimisel rõhutatakse saadavust ja vigade käsitlemist äärmiselt suure koormuse korral, et tarkvara ei jookseks kokku ebapiisavate ressursside tõttu. Tarkvara stressitestimine keskendub tuvastatud tehingutele, et katkestada tehingud, mis on testimise ajal tugevasti pingestatud, isegi kui andmebaasi pole laaditud. Stressitestimise protsess koormab samaaegseid kasutajaid tavapärasest süsteemitasemest kaugemale, et leida süsteemi nõrgim lüli.
  • Riistvara: stressitestid tagavad stabiilsuse tavalistes arvutikeskkondades.
  • Veebisaidid: stressitestid määravad saidi mis tahes funktsionaalsuse piirid.
  • Protsessor: muudatusi, nagu ülepinge, alapinge, alalukustamine ja ülelukustamine, kontrollitakse, et teha kindlaks, kas need taluvad suuri koormusi, käivitades protsessorimahuka programmi, et testida süsteemi kokkujooksmisi või külmumist. Protsessori stressitesti nimetatakse ka piinamistestiks.

Automaatsed testid

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:

  • Automatiseeritud testimine säästab arendajate aega ja raha, muutes testimisprotsessi tõhusamaks.
  • Automaattestid tuvastavad vead tõhusamalt kui käsitsi testid.
  • Kui testid on automatiseeritud, saab paralleelselt rakendada mitut testimisvahendit.


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.

Tarkvaraarenduses kasutatavate automatiseeritud testide tüübid
  • Üksuse test: testige üksikut madala taseme programmi isoleeritud keskkonnas enne selle integreerimise kontrollimist teiste üksustega.
  • Integratsioonitestimine: üksuseteste ja muid rakenduse komponente testitakse kombineeritud üksusena.
  • Funktsionaalsed testid: kontrollige, kas tarkvarasüsteem käitub nii, nagu peab.
  • Toimivuse testimine: hinnake rakenduse vastupidavust oodatust suuremate koormuste korral. Jõudlustestid paljastavad sageli kitsaskohti.
  • Suitsukatse: määrab, kas ehitus on piisavalt stabiilne, et jätkata täiendavat testimist.
  • Brauseri testimine: veenduge, et tarkvarakomponendid ühilduvad erinevate brauseritega.

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

Innovatsiooni uudiskiri
Ärge jätke ilma kõige olulisematest uuendustest. Registreeruge, et saada neid meili teel.

Viimased artiklid

Uuenduslik sekkumine liitreaalsusesse koos Apple'i vaatajaga Catania polikliinikus

Catania polikliinikus viidi läbi oftalmoplastika operatsioon Apple Vision Pro reklaamivaaturiga…

3 mai 2024

Lastele mõeldud värvimislehtede eelised – võlumaailm igas vanuses

Peenmotoorika arendamine värvimise kaudu valmistab lapsi ette keerukamate oskuste, nagu kirjutamise, jaoks. Värvimiseks…

2 mai 2024

Tulevik on käes: kuidas laevandustööstus muudab maailmamajandust murranguliseks

Meresõidusektor on tõeline ülemaailmne majanduslik jõud, mis on liikunud 150 miljardi suuruse turu poole...

1 mai 2024

Kirjastajad ja OpenAI sõlmivad lepinguid tehisintellekti poolt töödeldava teabe liikumise reguleerimiseks

Eelmisel esmaspäeval teatas Financial Times tehingust OpenAI-ga. FT litsentsib oma maailmatasemel ajakirjandust…

Aprill 30 2024