Staatilise ja dünaamilise testimise võrdlus

Allikas: Teadmusbaas

Lühidalt sellest

Staatilise testimise käigus testitavat objekti ei käivitata vaid analüüsitakse seda. Staatilist testimist on võimalik läbi viia nii programmikoodile (koodi läbivaatused, küsimustikud) kui ka kõigile teistele tarkvaraarenduse artefaktidele. Dünaamilise testimise käigus käivitatakse testitav objekt (programm) ning uuritakse selle käitumist.

Staatiline testimine

Staatiliseks testimiseks nimetatakse tegevust, kus programmi koodist otsitakse vigu seda lugedes. Koodi läbivaatus on tavaliselt kollektiivne üritus. Koodi läbivaatuseks on kontrollküsimustikud, et seda kuidagi süstemaatilisemalt teha. Küsimustiku eesmärgiks on probleeme mingil viisil süstematiseerida ja sel viisil probleemseid kohti leida. Erinevate keelte puhul on sobilikud veidi erinevad küsimustikud, sest küsimustik sõltub keele iseloomust ja eripäradest.

Dünaamiline testimine

Dünaamiliseks testimiseks nimetatakse programmi täitmist / käivitamist eesmärgiga leida vigu. Koostatakse sisendandmete komplektid (milleks kasutatakse mitmeid erinevaid meetodeid). Leitakse kõigi sisendandmete komplektidele vastavad väljundi/tulemuste komplektid, mis on vastavad ülesande püstitusele. Programm käivitatakse sisendandmetega. Kui väljund on selline nagu oodati, on programm selle testi läbinud. Kui väljund ei ole selline nagu oodati, on ilmselt programmis viga. Viga tuleb üles otsida, parandada ja programmi uuesti testida.

Staatilise testimise vahendid

  • Struktuuri analüüsi vahendid - pakuvad (visuaalset) lähtekoodi tõlgendust või struktuuri, hindavad meetrika baasil tarkvara kvaliteeti ja keerukust.
  • Süntaksi analüüsi vahendid - kontrollivad üldiste programmeerimistavade rikkumisi.
  • Käitumise analüüsi vahendid - püüavad avastada käitamisaegseid (ingl. k. run-time) vigu kompileerimise ajal.
  • Väite kontrolli vahendid - väidete kontroll vastavalt väite keelele. Väide on avaldis, mis täpsustab mingi programmi muutuja tingimuse või seose. Väite avaldised lisatakse lähtekoodi kommentaaridena.
  • Meetrika genereerimise vahendid
  • Refactoring tools - rakendatakse eelprotsessina programmi funktsionaalsuse laiendamisele, kuna parandab tarkvara laiendatavust, või järelprotsessina programmi puhastamiseks peale uue funktsionaalsuse implementeerimist.

Dünaamilise testimise vahendid

  • Koormustesti vahendid - süsteemi käitumine koormuse all. Aitab leida pudelikaelu; oluline mitmekasutaja süsteemide testimisel. Koormustestimisega on väga lähedalt seotud stresstestimine, kus koormus tõstetakse üle normide, ebatavaliselt kõrgele. Selliste testide oodatavad tulemused on erindolukorrad.
  • Monitooringu vahendid - võimaldavad kindlaks teha süsteemi tervise olukorda ja identifitseerida potensiaalseid probleeme enne vea esinemist; vea esinemisel aitavad ka teavitada administraatorit.
  • Silujad - võimaldavad defekte lokaliseerida ja eemaldada; samuti
inspekteerida käitamisseisundit sümboolsel viisil, valida käitamislaadi (sammsammult, katkestuspunktide abil).
  • Testi kaetuse vahendid - võimaldavad määratleda testi efektiivsust: kui palju lähtekoodist mingi test katab või läbib? Kaetust mõõdetakse mitmel viisil: lause- e. reakaetus, haru-, tingimus- ja teekaetus.
  • Draiver/tupik (stub) vahendid - kasutatakse moodultestimisel asendades väljaarendamata mooduleid, mis on vajalikud mingi mooduli testiks.
  • Väljundi võrdlejad(comparators) - võrdlevad testi väljundit oodatava väljundiga.
  • Makro salvestamise/taasesituse vahendid - salvestavad testijuhtumeid jäljendades inimtestija tegevusi; taasesitus viiakse läbi saates rakendusele. salvestatud nupuvajutuste ja hiire liikumise jms sündmusi ja nii kontrollides rakenduse käitust.
  • Andmebaasi manipulatsiooni vahendid - võimaldavad andmeid kopeerida, võrrelda, muundada, redigeerida; samuti kujutada ja visualiseerida andmete struktuuri andmebaasis.
  • Veebi testimise vahendid - sisuliselt kõik tarkvara analüüsi vahendid, mille testitavaks süsteemiks on veebisüsteem.


Kenneth (arutelu) 6. veebruar 2017, kell 15:30 (EET)

Tagasi