Što je dinamičko testiranje? Vrste, tehnike i primjeri

Dinamičko testiranje

Dinamičko testiranje je metoda testiranja softvera koja se koristi za testiranje dinamičkog ponašanja softverskog koda. Glavna svrha dinamičkog testiranja je testiranje ponašanja softvera s dinamičkim varijablama ili varijablama koje nisu konstantne i pronalaženje slabih područja u okruženju izvođenja softvera. Kod se mora izvršiti kako bi se testiralo dinamičko ponašanje.

Svi znamo da je testiranje provjera i provjera valjanosti i potrebna su 2 Vs da bi testiranje bilo potpuno. Od 2 V, verifikacija se naziva statičko testiranje, a drugi "V", validacija je poznata kao dinamičko testiranje.

Primjer dinamičkog testiranja

Razmotrimo kako raditi dinamičko testiranje na primjeru:

Pretpostavimo da testiramo stranicu za prijavu na kojoj imamo dva polja "Korisničko ime" i "Zaporka", a korisničko ime je ograničeno na alfanumeričko.

Kada korisnik unese korisničko ime kao “Guru99”, sustav prihvaća isto. Kad korisnik uđe kao Guru99@123, tada aplikacija izbaci poruku o pogrešci. Ovaj rezultat pokazuje da kôd djeluje dinamički na temelju korisničkog unosa.

Dinamičko testiranje je kada radite sa stvarnim sustavom unosom podataka i usporedbom stvarnog ponašanja aplikacije s očekivanim ponašanjem. Drugim riječima, rad sa sustavom s namjerom pronalaženja grešaka.

Dakle, na temelju gornjih izjava možemo reći ili zaključiti da je dinamičko testiranje proces provjere valjanosti softverskih aplikacija kao krajnjeg korisnika u različitim okruženjima za izgradnju pravog softvera.

Što radi dinamičko testiranje?

Glavni cilj dinamičkih testova je osigurati da softver ispravno radi tijekom i nakon instalacije softvera, osiguravajući stabilnu aplikaciju bez ikakvih većih nedostataka (ova izjava je napravljena jer nijedan softver nije bez grešaka, samo testiranje može pokazati prisutnost nedostataka i ne odsutnost)

Glavna svrha dinamičkog testa je osigurati dosljednost softvera; raspravimo ovo na primjeru.

U aplikaciji za bankarstvo nalazimo različite zaslone poput odjeljka Moji računi, Prijenos sredstava, Bill Plaćanje, itd. Svi ovi ekrani sadrže polje iznosa koje prihvaća neke znakove.

Recimo da polje Moji računi prikazuje iznos kao 25,000 i prijenos sredstava as $25,000 i Bill pay screen kao $25000 iako je iznos isti, način na koji se iznos prikazuje nije isti, što softver čini nedosljednim.

Dosljednost nije ograničena samo na funkcionalnost, već se odnosi i na različite standarde kao što su performanse, upotrebljivost, kompatibilnost itd., stoga postaje vrlo važno provesti dinamičko testiranje.

Vrste dinamičkog ispitivanja

Dinamičko testiranje je klasificirano u dvije kategorije

  • bijela Box Ispitivanje
  • Crna Box Ispitivanje

Donji slikovni prikaz daje nam ideju o vrstama dinamičkog testiranja, razinama testiranja itd.

Vrste dinamičkog ispitivanja

Raspravimo ukratko svaku vrstu testiranja i njihovu namjenu

bijela Box Ispitivanje - bijela Box Ispitivanje je metoda testiranja softvera u kojoj je unutarnja struktura/dizajn poznata ispitivaču. Glavni cilj Whitea Box testiranje je provjeriti kako sustav radi na temelju koda. Uglavnom ga izvode Developers ili White Box Testeri koji imaju znanje o programiranju.

Crna Box Ispitivanje - Crna Box Ispitivanje je metoda testiranja u kojoj je unutarnja struktura/kod/dizajn NE poznat ispitivaču. Glavni cilj ovog testiranja je provjera funkcionalnosti sustava koji se testira, a ova vrsta testiranja zahtijeva izvođenje kompletnog paketa testova i uglavnom ga izvode Ispitivači, a nije potrebno nikakvo znanje programiranja.

The Crna Box Testiranje se opet dijeli na dvije vrste.

Oni su

  • Funkcionalno ispitivanje
  • Nefunkcionalno testiranje

Funkcionalno ispitivanje:

Funkcionalno testiranje provodi se kako bi se potvrdilo da su sve razvijene značajke u skladu s funkcionalnim specifikacijama, a provodi se izvršavanjem funkcionalnih testnih slučajeva koje je napisao QA tim, u fazi funkcionalnog testiranja sustav se testira davanjem ulaza, provjerom izlaza i uspoređujući stvarne rezultate s očekivanim rezultatima.

Postoje različite razine funkcionalnog testiranja od kojih su najvažnije

  • Ispitivanje jedinice – Jedinica je općenito mali dio koda koji se može testirati, Ispitivanje jedinice izvodi se na pojedinoj programskoj jedinici i izvode ga programeri
  • Ispitivanje integracije - Ispitivanje integracije je testiranje koje se provodi nakon testiranja jedinica i provodi se kombiniranjem svih pojedinačnih jedinica koje se mogu testirati, a provode ga programeri ili testeri
  • Ispitivanje sustava - Ispitivanje sustava provodi se kako bi se osiguralo radi li sustav u skladu sa zahtjevima i općenito se izvodi kada je kompletan sustav spreman, provode ga testeri kada se Build ili kod preda QA timu
  • Ispitivanje prihvatljivosti – Testiranje prihvaćanja provodi se kako bi se provjerilo je li sustav ispunio poslovne zahtjeve i je li spreman za korištenje ili spreman za implementaciju, a općenito ga provode krajnji korisnici.

Nefunkcionalno testiranje: Nefunkcionalno testiranje je tehnika testiranja koja se ne fokusira na funkcionalne aspekte i uglavnom se koncentrira na nefunkcionalne atribute sustava kao što su curenje memorije, izvedba ili robusnost sustava. Nefunkcionalno testiranje provodi se na svim razinama ispitivanja.

Postoje mnoge nefunkcionalne tehnike testiranja od kojih su najvažnije

  • Ispitivanje performansi - Ispitivanje performansi provodi se kako bi se provjerilo je li vrijeme odgovora sustava normalno prema zahtjevima pod željenim opterećenjem mreže.
  • Testiranje oporavka – Testiranje oporavka je metoda za provjeru koliko se sustav može oporaviti od padova i hardverskih kvarova.
  • Ispitivanje kompatibilnosti – Testiranje kompatibilnosti provodi se kako bi se provjerilo kako se sustav ponaša u različitim okruženjima.
  • Ispitivanje sigurnosti - Ispitivanje sigurnosti provodi se kako bi se provjerila robusnost aplikacije, tj. kako bi se osiguralo da samo autorizirani korisnici/uloge pristupaju sustavu
  • Ispitivanje upotrebljivosti - Ispitivanje upotrebljivosti je metoda za provjeru upotrebljivosti sustava od strane krajnjih korisnika kako bi se provjerilo koliko su korisnici zadovoljni sa sustavom.

Tehnike dinamičkog testiranja

Tehnike dinamičkog testiranja in STLC sastoji se od različitih zadataka kao što su analiza zahtjeva za testove, planiranje testa, dizajn i implementacija testnog slučaja, postavljanje testnog okruženja, izvođenje testnog slučaja, izvješćivanje o greškama i konačno zatvaranje testa. Svi zadaci u tehnikama dinamičkog testiranja ovisni su o izvršenju prethodnog zadatka u procesu testiranja.

U STLC-u možemo reći da stvarni proces dinamičkog testiranja počinje od dizajna testnog slučaja, raspravimo svaku aktivnost detaljno.

Tehnike dinamičkog testiranja

Prije nego što uđemo u proces, razgovarajmo o strategiji koju treba slijediti za dinamičko testiranje.

Strategija testiranja trebala bi se uglavnom usredotočiti na dostupne resurse i vremenski okvir. Na temelju tih čimbenika potrebno je dokumentirati cilj testiranja, opseg testiranja, faze ili cikluse testiranja, vrstu okruženja, pretpostavke ili izazove s kojima se može suočiti, rizike itd.

Nakon što je strategija definirana i prihvaćena od strane menadžmenta, tada počinje stvarni dizajn testnog slučaja procesa

Što je dizajn i implementacija testa

U ovoj fazi identificiramo,

  • Značajke koje treba testirati
  • Izvedite uvjete ispitivanja
  • Izvedite stavke pokrivenosti
  • Izvedite testne slučajeve

Postavljanje testnog okruženja

Moramo osigurati da okruženje za testiranje uvijek bude slično produkcijskom okruženju, u ovoj fazi moramo instalirati izgradnju i upravljati strojevima za testiranje.

Izvršenje testa

Tijekom ove faze, testni slučajevi se zapravo izvršavaju.

Izvješće o pogrešci snimljeno

Na temelju izvršenja, ako očekivani i stvarni rezultati nisu isti, tada se testni slučaj mora označiti kao neuspješan i treba se zabilježiti greška.

Prednosti dinamičkog testiranja

  • Dinamičko testiranje može otkriti nepokrivene nedostatke koji se smatraju preteškima ili kompliciranima i koji se ne mogu pokriti statičkom analizom
  • U dinamičkom testiranju izvršavamo softver, od kraja do kraja, osiguravajući softver bez grešaka što zauzvrat povećava kvalitetu proizvoda i projekta.
  • Dinamičko testiranje postaje bitan alat za otkrivanje bilo kakvih sigurnosnih prijetnji

Nedostaci dinamičkog testiranja

  • Dinamičko testiranje oduzima puno vremena jer izvršava aplikaciju/softver ili kod koji zahtijeva veliku količinu resursa
  • Dinamičko testiranje povećava troškove projekta/proizvoda jer ne počinje rano u životnom ciklusu softvera i stoga bilo koji problemi riješeni u kasnijim fazama mogu rezultirati povećanjem troškova.

Zaključak

In Programsko inženjerstvo, Provjera i Validacija dvije su mjere koje se koriste za provjeru zadovoljava li softverski proizvod specifikacije zahtjeva. Statičko testiranje uključuje verifikaciju, dok dinamičko testiranje uključuje validaciju. Zajedno pomažu u isporuci isplativog kvalitetnog softvera.

Dnevni bilten Guru99

Započnite dan s najnovijim i najvažnijim vijestima o umjetnoj inteligenciji koje vam donosimo upravo sada.