Mikä on dynaaminen testaus? Tyypit, tekniikat ja esimerkki
Dynaaminen testaus
Dynaaminen testaus on ohjelmistotestausmenetelmä, jota käytetään ohjelmistokoodin dynaamisen toiminnan testaamiseen. Dynaamisen testauksen päätarkoitus on testata ohjelmiston käyttäytymistä dynaamisilla muuttujilla tai muuttujilla, jotka eivät ole vakioita ja löytää heikkoja kohtia ohjelmiston ajonaikaisessa ympäristössä. Koodi on suoritettava dynaamisen toiminnan testaamiseksi.
Tiedämme kaikki, että testaus on todentamista ja validointia, ja kestää 2 Vs, jotta testaus saadaan valmiiksi. Kahdesta V:sta todentamista kutsutaan staattiseksi testaukseksi ja toista "V":tä, validointia kutsutaan dynaamiseksi testaukseksi.
Esimerkki dynaamisesta testauksesta
Ymmärrämme kuinka dynaaminen testaus tehdään esimerkin avulla:
Oletetaan, että testaamme kirjautumissivua, jossa on kaksi kenttää, joissa lukee "Käyttäjänimi" ja "Salasana" ja käyttäjätunnus on rajoitettu aakkosnumeeriseen.
Kun käyttäjä syöttää Käyttäjätunnukseksi "Guru99", järjestelmä hyväksyy sen. Kun käyttäjä kirjoittaa nimellä Guru99@123, sovellus lähettää virheilmoituksen. Tämä tulos osoittaa, että koodi toimii dynaamisesti käyttäjän syötteen perusteella.
Dynaaminen testaus on silloin, kun työskentelet todellisen järjestelmän kanssa antamalla syötteen ja vertaamalla sovelluksen todellista toimintaa odotettuun toimintaan. Toisin sanoen työskentely järjestelmän kanssa tarkoituksena löytää virheitä.
Yllä olevien lausuntojen perusteella voimme siis sanoa tai päätellä, että dynaaminen testaus on prosessi, jossa ohjelmistosovellukset validoidaan loppukäyttäjänä eri ympäristöissä oikean ohjelmiston rakentamiseksi.
Mitä dynaaminen testaus tekee?
Dynaamisten testien päätavoitteena on varmistaa, että ohjelmisto toimii oikein ohjelmiston asennuksen aikana ja sen jälkeen varmistaen vakaan sovelluksen ilman suuria puutteita (tämä väite on tehty, koska mikään ohjelmisto ei ole virheetön, vain testaus voi osoittaa vikojen olemassaolon ja ei poissaolo)
Dynaamisen testin päätarkoituksena on varmistaa ohjelmiston yhdenmukaisuus; keskustellaan tästä esimerkin avulla.
Pankkisovelluksesta löytyy erilaisia näyttöjä, kuten Omat tilit -osio, Varainsiirto, Bill Maksa jne. Kaikki nämä näytöt sisältävät summakentän, joka hyväksyy joitain merkkejä.
Oletetaan, että Omat tilit -kentässä näkyy summa muodossa 25,000 ja varojen siirto as $25,000 ja Bill pay screen as $25000 vaikka määrä on sama, summan näyttötapa ei ole sama, mikä tekee ohjelmistosta epäjohdonmukaisen.
Johdonmukaisuus ei rajoitu pelkästään toimivuuteen, vaan se viittaa myös erilaisiin standardeihin, kuten suorituskykyyn, käytettävyyteen, yhteensopivuuteen jne., joten on erittäin tärkeää suorittaa dynaaminen testaus.
Dynaamisen testauksen tyypit
Dynaaminen testaus luokitellaan kahteen luokkaan
- Valkoinen Box Testaus
- Musta Box Testaus
Alla oleva kuvallinen esitys antaa meille käsityksen dynaamisen testauksen tyypeistä, testaustasoista jne.
Tarkastellaanpa lyhyesti jokaista testaustyyppiä ja sen tarkoitusta
Valkoinen Box Testaus - Valkoinen Box Testaus on ohjelmiston testausmenetelmä, jonka sisäinen rakenne/suunnittelu on testaajan tiedossa. Valkoisen päätavoite Box testauksen tarkoituksena on tarkistaa, kuinka järjestelmä toimii koodin perusteella. Sen suorittaa pääasiassa Developers tai White Box Testaajat, joilla on tietoa ohjelmoinnista.
Musta Box Testaus - Musta Box Testaus on testausmenetelmä, jossa sisäinen rakenne/koodi/design on ÄLÄ testaajan tiedossa. Tämän testauksen päätavoitteena on varmistaa testattavan järjestelmän toimivuus ja tämän tyyppinen testaus edellyttää täydellisen testisarjan suorittamista ja sen suorittavat pääasiassa testaajat, eikä ohjelmointiosaamista tarvita.
- Musta Box Testaus luokitellaan jälleen kahteen tyyppiin.
Ne ovat
- Toiminnallinen testaus
- Ei-toiminnallinen testaus
Toiminnallinen testaus:
Toiminnallisella testauksella varmistetaan, että kaikki kehitetyt ominaisuudet ovat toiminnallisten spesifikaatioiden mukaisia, ja se suoritetaan suorittamalla QA-tiimin kirjoittamat toiminnalliset testitapaukset, toimintatestausvaiheessa järjestelmää testataan antamalla syöte, tarkistamalla lähtö ja vertaamalla todellisia tuloksia odotettuihin tuloksiin.
Toiminnallisessa testauksessa on erilaisia tasoja, joista tärkeimmät ovat
- Yksikkötestaus – Yleensä yksikkö on pieni koodinpätkä, joka on testattavissa, Yksikkötestaus suoritetaan yksittäisessä ohjelmistoyksikössä ja sen suorittavat kehittäjät
- Integraation testaus - Integraation testaus on testaus, joka suoritetaan yksikkötestauksen jälkeen ja joka suoritetaan yhdistämällä kaikki yksittäiset testattavat yksiköt ja jonka suorittavat joko kehittäjät tai testaajat
- Järjestelmän testaus - Järjestelmän testaus suoritetaan sen varmistamiseksi, toimiiko järjestelmä vaatimusten mukaisesti ja suoritetaan yleensä, kun koko järjestelmä on valmis, testaajat suorittavat sen, kun koontiversio tai koodi julkaistaan laadunvarmistustiimille
- Hyväksyntätestaus – Hyväksymistestillä varmistetaan, onko järjestelmä täyttänyt liiketoiminnan vaatimukset ja onko se käyttövalmis tai valmis käyttöönotettavaksi, ja sen tekevät yleensä loppukäyttäjät.
Ei-toiminnallinen testaus: Ei-toiminnallinen testaus on testaustekniikka, joka ei keskity toiminnallisiin näkökohtiin ja keskittyy pääasiassa järjestelmän ei-toiminnallisiin ominaisuuksiin, kuten muistivuotojin, suorituskykyyn tai järjestelmän kestävyyteen. Ei-toiminnallinen testaus suoritetaan kaikilla testitasoilla.
On olemassa monia ei-toiminnallisia testaustekniikoita, joista tärkeimmät ovat
- Suorituskykytestaus - Suorituskykytestaus suoritetaan sen tarkistamiseksi, onko järjestelmän vasteaika normaali vaatimusten mukainen halutussa verkkokuormituksessa.
- Palautustestaus – Palautustestaus on menetelmä, jolla varmistetaan, kuinka hyvin järjestelmä pystyy palautumaan kaatumisista ja laitteistovioista.
- Yhteensopivuuden testaus – Yhteensopivuustestauksella varmistetaan, miten järjestelmä toimii eri ympäristöissä.
- Turvallisuustestaus - Turvallisuustestaus suoritetaan sovelluksen toimivuuden tarkistamiseksi, eli sen varmistamiseksi, että vain valtuutetut käyttäjät/roolit pääsevät järjestelmään
- Käytettävyystestaus - Käytettävyystestaus on menetelmä, jolla varmistetaan järjestelmän käytettävyys loppukäyttäjien toimesta varmistaakseen, kuinka mukavia käyttäjät ovat järjestelmän kanssa.
Dynaamiset testaustekniikat
Dynaamiset testaustekniikat in STLC koostuu erilaisista tehtävistä, kuten testien vaatimusanalyysi, testisuunnittelu, testitapauksen suunnittelu ja toteutus, testiympäristön asetukset, testitapauksen suorittaminen, virheraportointi ja lopuksi testin sulkeminen. Kaikki dynaamisten testaustekniikoiden tehtävät ovat riippuvaisia edellisen tehtävän suorittamisesta testausprosessissa.
STLC:ssä voimme sanoa, että varsinainen dynaaminen testausprosessi alkaa Test Case Designista, keskustellaan jokaisesta toiminnasta yksityiskohtaisesti.
Ennen kuin aloitat prosessin, keskustellaan strategiasta, jota on noudatettava dynaamisessa testauksessa.
Testistrategian tulisi keskittyä pääasiassa käytettävissä oleviin resursseihin ja aikatauluun. Näiden tekijöiden perusteella on dokumentoitava testauksen tavoite, testauksen laajuus, testauksen vaiheet tai syklit, ympäristötyyppi, mahdollisesti kohdattavat oletukset tai haasteet, riskit jne.
Kun strategia on määritelty ja johdon hyväksymä, varsinainen prosessin testitapauksen suunnittelu alkaa
Mikä on testin suunnittelu ja toteutus
Tässä vaiheessa tunnistamme,
- Testattavat ominaisuudet
- Johda testiehdot
- Johda kattavuuskohteet
- Johda testitapaukset
Testiympäristön asetukset
Meidän on varmistettava, että Testausympäristö on aina samanlainen kuin tuotantoympäristö, tässä vaiheessa meidän on asennettava koonti ja hallittava testikoneet.
Testin suorittaminen
Tässä vaiheessa testitapaukset todella suoritetaan.
Virheraportti tallennettu
Suorituksen perusteella, jos odotetut ja todelliset tulokset eivät ole samat, testitapaus on merkittävä epäonnistuneeksi ja virhe tulee kirjata.
Dynaamisen testauksen edut
- Dynaaminen testaus voi paljastaa paljastuneet viat, joita pidetään liian vaikeina tai monimutkaisina ja joita ei voida peittää staattisen analyysin avulla
- Dynaamisessa testauksessa suoritamme ohjelmiston päästä päähän varmistaen virheettömän ohjelmiston, mikä puolestaan parantaa tuotteen ja projektin laatua.
- Dynaamisesta testauksesta tulee olennainen työkalu kaikkien tietoturvauhkien havaitsemiseen
Dynaamisen testauksen haitat
- Dynaaminen testaus on aikaa vievää, koska se suorittaa sovelluksen/ohjelmiston tai koodin, joka vaatii valtavasti resursseja
- Dynaaminen testaus nostaa projektin/tuotteen kustannuksia, koska se ei ala ohjelmiston elinkaaren varhaisessa vaiheessa ja näin ollen myöhemmissä vaiheissa korjatut ongelmat voivat johtaa kustannusten nousuun.
Yhteenveto
In Ohjelmistotuotanto, Verification ja Validation ovat kaksi toimenpidettä, joilla tarkistetaan, että ohjelmistotuote täyttää vaatimukset. Staattinen testaus sisältää todentamisen, kun taas dynaaminen testaus sisältää validoinnin. Yhdessä ne auttavat toimittamaan kustannustehokkaan laatuohjelmiston.