Mis on dünaamiline testimine? Tüübid, tehnikad ja näited
Dünaamiline testimine
Dünaamiline testimine on tarkvara testimismeetod, mida kasutatakse tarkvarakoodi dünaamilise käitumise testimiseks. Dünaamilise testimise põhieesmärk on testida tarkvara käitumist dünaamiliste muutujatega või muutujatega, mis ei ole konstantsed, ning leida tarkvara käituskeskkonnas nõrku kohti. Dünaamilise käitumise testimiseks tuleb kood käivitada.
Me kõik teame, et testimine on kontrollimine ja kinnitamine ning testimise lõpuleviimiseks kulub 2 V. Kahest Vs-st nimetatakse kontrollimist staatiliseks testimiseks ja teist V, kinnitamist nimetatakse dünaamiliseks testimiseks.
Dünaamilise testimise näide
Vaatame näite abil, kuidas dünaamilist testimist teha:
Oletame, et testime sisselogimislehte, kus meil on kaks välja "Kasutajanimi" ja "Parool" ning kasutajanimi on piiratud tähtnumbritega.
Kui kasutaja sisestab Kasutajanimeks Guru99, aktsepteerib süsteem sama. Kui kasutaja sisestab Guru99@123, siis rakendus saadab veateate. See tulemus näitab, et kood toimib dünaamiliselt kasutaja sisendi põhjal.
Dünaamiline testimine on siis, kui töötate tegeliku süsteemiga, esitades sisendi ja võrreldes rakenduse tegelikku käitumist eeldatava käitumisega. Teisisõnu, süsteemiga töötamine eesmärgiga leida vigu.
Seega võime ülaltoodud väidete põhjal öelda või järeldada, et dünaamiline testimine on tarkvararakenduste kui lõppkasutaja valideerimise protsess erinevates keskkondades, et luua õige tarkvara.
Mida dünaamiline testimine teeb?
Dünaamiliste testide põhieesmärk on tagada, et tarkvara töötab korralikult tarkvara installimise ajal ja pärast seda, tagades stabiilse rakenduse ilma suuremate vigadeta (see väide on tehtud, kuna ükski tarkvara pole veatu, ainult testimine võib näidata defektide olemasolu ja mitte puudumine)
Dünaamilise testi peamine eesmärk on tagada tarkvara järjepidevus; arutame seda näitega.
Pangarakenduses leiame erinevaid ekraane, nagu jaotis Minu kontod, Rahaülekanne, Bill Maksa jne. Kõik need ekraanid sisaldavad summa välja, mis aktsepteerib mõningaid märke.
Oletame, et väljal Minu kontod kuvatakse summa kujul 25,000 ja rahaülekanne kui $25,000 ja Bill makseekraan as $25000 kuigi summa on sama, ei ole summa kuvamisviis sama, mis muudab tarkvara ebajärjekindlaks.
Järjepidevus ei piirdu ainult funktsionaalsusega, vaid viitab ka erinevatele standarditele nagu jõudlus, kasutatavus, ühilduvus jne, mistõttu on dünaamilise testimise läbiviimine väga oluline.
Dünaamilise testimise tüübid
Dünaamiline testimine jaguneb kahte kategooriasse
- Valge Box Testimine
- Must Box Testimine
Allolev pildiline esitlus annab meile aimu dünaamilise testimise tüüpidest, testimise tasemetest jne.
Arutleme lühidalt iga testimise tüübi ja selle kavandatud eesmärgi üle
Valge Box Testimine - Valge Box Testimine on tarkvara testimismeetod, mille sisemine struktuur/kujundus on testijale teada. Valge peamine eesmärk Box testimise eesmärk on kontrollida, kuidas süsteem koodi põhjal toimib. Seda teevad peamiselt arendajad või valge Box Testijad, kellel on teadmisi programmeerimisest.
Must Box Testimine - Must Box Testimine on testimismeetod, milles on sisemine struktuur/kood/disain EI testijale teada. Selle testimise põhieesmärk on kontrollida testitava süsteemi funktsionaalsust ja seda tüüpi testimine eeldab täieliku testikomplekti läbiviimist ja seda teevad peamiselt testijad ning programmeerimisalased teadmised pole vajalikud.
. Must Box Testimine jaguneb jällegi kahte tüüpi.
Nad on
- Funktsionaalne testimine
- Mittefunktsionaalne testimine
Funktsionaalne testimine:
Funktsionaalne testimine viiakse läbi kontrollimaks, et kõik väljatöötatud funktsioonid vastavad funktsionaalsetele spetsifikatsioonidele ja see viiakse läbi QA meeskonna poolt kirjutatud funktsionaalsete testjuhtumite täitmisega, funktsionaalse testimise faasis testitakse süsteemi sisendi andmise, väljundi kontrollimise ja tegelike tulemuste võrdlemine oodatud tulemustega.
Funktsionaalsel testimisel on erinevad tasemed, millest kõige olulisemad on
- Üksuse testimine - Üldiselt on ühik väike kooditükk, mida saab testida, Üksuse testimine teostatakse üksikutes tarkvaraüksustes ja seda teostavad arendajad
- Integratsiooni testimine - Integratsiooni testimine on testimine, mis viiakse läbi pärast üksuse testimist ja mis viiakse läbi kõigi üksikute testitavate üksuste kombineerimisel ja mida viivad läbi arendajad või testijad
- Süsteemi testimine - Süsteemi testimine tehakse selleks, et veenduda, kas süsteem toimib vastavalt nõuetele ja tehakse üldiselt siis, kui kogu süsteem on valmis, seda teostavad testijad, kui koostamine või kood antakse välja kvaliteedikontrolli meeskonnale
- Vastuvõtu testimine – Aktsepteerimistestid tehakse selleks, et kontrollida, kas süsteem on täitnud ärinõudeid ja kas see on kasutamiseks valmis või valmis kasutuselevõtuks, ning seda teevad üldjuhul lõppkasutajad.
Mittefunktsionaalne testimine: Mittefunktsionaalne testimine on testimistehnika, mis ei keskendu funktsionaalsetele aspektidele ja keskendub peamiselt süsteemi mittefunktsionaalsetele atribuutidele, nagu mälulekked, jõudlus või süsteemi töökindlus. Mittefunktsionaalne testimine viiakse läbi kõigil testitasemetel.
On palju mittefunktsionaalseid testimismeetodeid, millest kõige olulisemad on
- Jõudluse testimine - Jõudluse testimine tehakse selleks, et kontrollida, kas süsteemi reageerimisaeg vastab soovitud võrgukoormuse korral nõuetele.
- Taastamise testimine – Taastetest on meetod, mille abil saab kontrollida, kui hästi suudab süsteem krahhidest ja riistvaratõrgetest taastuda.
- Ühilduvuse testimine – Ühilduvuse testimine viiakse läbi, et kontrollida, kuidas süsteem erinevates keskkondades käitub.
- Turvakontroll - Turvakontroll teostatakse rakenduse töökindluse kontrollimiseks, st tagamaks, et süsteemile pääsevad juurde ainult volitatud kasutajad/rollid
- Kasutatavuse testimine - Kasutatavuse testimine on meetod süsteemi kasutatavuse kontrollimiseks lõppkasutajate poolt, et kontrollida, kui mugavalt kasutajad süsteemiga tunnevad.
Dünaamilised testimistehnikad
Dünaamilised testimistehnikad in STLC koosneb erinevatest ülesannetest, nagu testide nõuete analüüs, testimise planeerimine, testjuhtumi kavandamine ja juurutamine, testkeskkonna seadistamine, testjuhtumi täitmine, veateade ja lõpuks testi sulgemine. Kõik dünaamiliste testimistehnikate ülesanded sõltuvad testimisprotsessi eelmise ülesande täitmisest.
STLC-s võime öelda, et tegelik dünaamiline testimisprotsess algab katsejuhtumi kavandamisest, arutame iga tegevust üksikasjalikult.
Enne protsessi alustamist arutleme strateegia üle, mida tuleb dünaamilise testimise jaoks järgida.
Testistrateegia peaks keskenduma peamiselt olemasolevatele ressurssidele ja ajakavale. Nende tegurite põhjal tuleb dokumenteerida testimise eesmärk, testimise ulatus, testimise etapid või tsüklid, keskkonna tüüp, eeldused või väljakutsed, millega võib kokku puutuda, riskid jne.
Kui strateegia on määratletud ja juhtkond selle heaks kiitnud, algab tegelik protsessi testjuhtumi kavandamine
Mis on testi kavandamine ja rakendamine
Selles etapis tuvastame,
- Testitavad omadused
- Tuletage katsetingimused
- Tuletage katteobjektid
- Tuletage testjuhtumid
Testikeskkonna seadistus
Peame tagama, et testimiskeskkond oleks alati sarnane tootmiskeskkonnaga, selles faasis peame installima ehituse ja haldama testmasinaid.
Testi täitmine
Selles etapis teostatakse tegelikult testjuhtumid.
Veaaruanne on jäädvustatud
Täitmise põhjal, kui oodatud ja tegelikud tulemused ei ole samad, tuleb testijuhtum märkida kui Ebaõnnestunud ja viga tuleks logida.
Dünaamilise testimise eelised
- Dünaamiline testimine võib paljastada katmata defektid, mida peetakse liiga raskeks või keeruliseks ja mida ei saa staatilise analüüsiga katta
- Dünaamilise testimise puhul teostame tarkvara otsast lõpuni, tagades veavaba tarkvara, mis omakorda tõstab toote ja projekti kvaliteeti.
- Dünaamiline testimine muutub oluliseks tööriistaks mis tahes turvaohtude tuvastamiseks
Dünaamilise testimise puudused
- Dünaamiline testimine on aeganõudev, kuna see käivitab rakenduse/tarkvara või koodi, mis nõuab tohutul hulgal ressursse
- Dünaamiline testimine suurendab projekti/toote maksumust, kuna see ei alga tarkvara elutsükli varajases staadiumis ja seega võivad hilisemates etappides parandatud probleemid kaasa tuua kulude suurenemise.
Järeldus
In Tarkvaraarendus, Verification ja Validation on kaks meedet, mida kasutatakse tarkvaratoote vastavuse kontrollimiseks spetsifikatsioonidele. Staatiline testimine hõlmab kontrollimist, dünaamiline testimine aga valideerimist. Koos aitavad need pakkuda kulutõhusat kvaliteetset tarkvara.


