Statičko naspram dinamičkog testiranja
Kad god se softver kompilira, mora se provjeriti ima li grešaka i grešaka prije izvođenja i tijekom izvođenja kako bi softver radio glatko i pružao očekivane rezultate. Postoje dva načina testiranja novonapisanog softvera koji se nazivaju statičko testiranje i dinamičko testiranje. Za testiranje softvera koristi se jedan od njih ili oba, ovisno o potrebnoj točnosti i raspoloživom proračunu. Statičko testiranje provodi se prije nego što je softver u potpunosti kompajliran, a dinamičko testiranje tek nakon što je softver u potpunosti kompajliran i pokrenut na sustavu.
Statičko testiranje
Ova vrsta testiranja softvera provodi se prije stavljanja softvera u rad. Statičko testiranje se provodi kako bi se potražile pogreške u algoritmima, kodovima ili dokumentima. Pogreške učinjene tijekom pisanja softvera provjeravaju se radi ispravljanja pomoću statičkog testiranja. Ovo testiranje provodi pisac ili programer softvera ili testeri, a provodi se prolazom kroz njega, provjerom pregleda koda ili vizualnim pregledom.
Dinamičko testiranje
Ova vrsta testiranja provodi se nakon što je softver u potpunosti kompajliran i učitan u sustav. U dinamičkom testiranju softvera se provjerava dosljednost ulaznih i izlaznih parametara pomoću drugog softvera. Ovo testiranje analizira dio softvera u isto vrijeme kako bi se potražile pogreške i greške. Softver koji se koristi u dinamičkom testiranju provjerava kodove softvera koji se testira prema unaprijed definiranim standardima i provjerava daje li testirani softver željeni rezultat.
Ukratko:
Statičko testiranje naspram dinamičkog testiranja
• Statičko testiranje daleko je znanstveniji i sveobuhvatniji način dijagnosticiranja grešaka koda softvera od dinamičkog testiranja.
• Statičko testiranje puno je brže od dinamičkog testiranja.
• Statičko testiranje daleko je bolje u pronalaženju bugova i pogrešaka od dinamičkog testiranja.
• Kako statičko testiranje pronalazi pogreške prije kompilacije softvera i može se lako ispraviti, puno je jeftinije od dinamičkog testiranja.
• Najvažnija razlika između ovo dvoje je da je statičko testiranje poput sprječavanja softvera od bolesti, a dinamičko testiranje kao liječenje softvera koji je zahvaćen bolešću.