Testiranje softvera
Testiranje softvera metoda je kojom se provjerava odgovara li stvarni softverski proizvod očekivanim zahtjevima i osigurava da softverski proizvod nema nedostataka. Uključuje izvršavanje softverskih / sistemskih komponenata pomoću ručnih ili automatiziranih alata za procjenu jednog ili više svojstava koja nas zanimaju. Svrha testiranja softvera je identificirati pogreške, nedostatke ili nedostajuće zahtjeve za razliku od stvarnih zahtjeva.
Neki više vole reći testiranje softvera kao testiranje bijele kutije i crne kutije. Jednostavno rečeno, testiranje softvera znači provjeru testiranog zahtjeva (AUT). Ovaj vodič publici predstavlja softver za testiranje i opravdava njegovu važnost.
U ovom vodiču naučit ćete:
- Što je testiranje softvera?
- Zašto je testiranje softvera važno?
- Koje su prednosti testiranja softvera?
- Testiranje u softverskom inženjerstvu
- Vrste testiranja softvera
- Strategije ispitivanja u softverskom inženjerstvu
- Probno testiranje
Zašto je testiranje softvera važno?
Testiranje softvera je važno jer ako postoje neke programske pogreške ili pogreške, to se može prepoznati rano i riješiti prije isporuke softverskog proizvoda. Ispravno testirani softverski proizvod osigurava pouzdanost, sigurnost i visoke performanse što dodatno rezultira uštedom vremena, isplativosti i zadovoljstvom kupaca.
Testiranje je važno jer programske pogreške mogu biti skupe ili čak opasne. Softverske pogreške potencijalno mogu uzrokovati novčane i ljudske gubitke, a povijest je puna takvih primjera.
- U travnju 2015. Bloombergov terminal u Londonu srušio se zbog softverskog kvara koji je zahvatio više od 300.000 trgovaca na financijskim tržištima. Prisilila je vladu da odgodi prodaju duga od 3 milijarde funti.
- Nissanovi automobili povukli su s tržišta preko milijun automobila zbog kvara softvera u senzornim detektorima zračnih jastuka. Izvještene su dvije nesreće zbog ovog softverskog kvara.
- Starbucks je bio prisiljen zatvoriti oko 60 posto trgovina u SAD-u i Kanadi zbog softverskog kvara u svom POS sustavu. U jednom trenutku trgovina je posluživala kavu besplatno jer nisu mogli obraditi transakciju.
- Neki od Amazonovih nezavisnih trgovaca vidjeli su da je njihova cijena proizvoda smanjena na 1 p zbog softverske greške. Ostali su im teški gubici.
- Ranjivost u sustavu Windows 10. Ova programska pogreška omogućuje korisnicima da pobjegnu iz sigurnosnih okruženja kroz nedostatak u sustavu win32k.
- U 2015. godini borbeni zrakoplov F-35 postao je žrtvom programske greške, zbog čega nije mogao pravilno otkriti ciljeve.
- China Airlines Airbus A300 srušio se zbog programske greške 26. travnja 1994., ubivši 264 nevina uživo
- 1985. kanadski stroj Therac-25 za radioterapiju neispravan je zbog softverske programske pogreške i isporučio je smrtonosne doze zračenja pacijentima, ostavljajući 3 osobe mrtve, a 3 osobe kritično ozlijedivši.
- U travnju 1999. softverska greška uzrokovala je neuspjeh lansiranja vojnog satelita vrijednog 1,2 milijarde dolara, najskuplje nesreće u povijesti
- U svibnju 1996. softverska greška dovela je do toga da su bankovni računi 823 klijenta velike američke banke dobili 920 milijuna američkih dolara.
Kliknite ovdje ako videozapis nije dostupan
Koje su prednosti testiranja softvera?
Evo prednosti korištenja softverskog testiranja:
- Isplativo: To je jedna od važnih prednosti testiranja softvera. Testiranje bilo kojeg IT projekta na vrijeme pomaže vam da dugoročno uštedite novac. U slučaju da su greške uhvaćene u ranijoj fazi testiranja softvera, rješavanje košta manje.
- Sigurnost: To je najosjetljivija i najosjetljivija prednost testiranja softvera. Ljudi traže proizvode od povjerenja. Pomaže u ranijem uklanjanju rizika i problema.
- Kvaliteta proizvoda: To je osnovni zahtjev svakog softverskog proizvoda. Testiranje osigurava isporuku kvalitetnog proizvoda kupcima.
- Zadovoljstvo kupaca: Glavni cilj svakog proizvoda je pružiti zadovoljstvo svojim kupcima. UI / UX testiranje osigurava najbolje korisničko iskustvo.
Testiranje u softverskom inženjerstvu
Prema ANSI / IEEE 1059, ispitivanje u softverskom inženjerstvu postupak je procjene softverskog proizvoda kako bi se utvrdilo ispunjava li trenutni softverski proizvod tražene uvjete ili ne. Postupak testiranja uključuje ocjenu značajki softverskog proizvoda za potrebe u pogledu nedostajućih zahtjeva, grešaka ili pogrešaka, sigurnosti, pouzdanosti i performansi.
Vrste testiranja softvera
Uobičajeno je testiranje klasificirano u tri kategorije.
- Ispitivanje funkcionalnosti
- Nefunkcionalno ispitivanje ili ispitivanje performansi
- Održavanje (regresija i održavanje)
Kategorija ispitivanja | Vrste ispitivanja |
---|---|
Ispitivanje funkcionalnosti |
|
Nefunkcionalno ispitivanje |
|
Održavanje |
|
Ovo nije potpuni popis jer postoji više od 150 vrsta vrsta ispitivanja koje se još uvijek dodaju. Također imajte na umu da nisu sve vrste ispitivanja primjenjive na sve projekte, ali ovise o prirodi i opsegu projekta.
Strategije ispitivanja u softverskom inženjerstvu
Ovdje su važne strategije u softverskom inženjerstvu:
Jedinstveno testiranje: Ovaj pristup softverskog testiranja slijedi programer za testiranje jedinice programa. Programerima pomaže da znaju funkcionira li pojedinačna jedinica koda ispravno ili ne.
Integracijsko testiranje: Fokusira se na konstrukciju i dizajn softvera. Morate vidjeti da integrirane jedinice rade bez grešaka ili ne.
Testiranje sustava: Ovom metodom vaš se softver sastavlja u cjelini, a zatim se testira u cjelini. Ova strategija testiranja između ostalog provjerava funkcionalnost, sigurnost, prenosivost.
Probno testiranje
Probno testiranje u softverskom testiranju metoda je izvršavanja stvarnog softverskog programa s ciljem testiranja ponašanja programa i pronalaženja pogrešaka. Softverski program izvodi se s podacima iz testnog slučaja za analizu ponašanja programa ili odgovora na testne podatke. Dobro testiranje programa je ono koje ima velike šanse za pronalaženje bugova.
Sažetak osnova ispitivanja softvera:
- Testiranje softvera definira se kao aktivnost kojom se provjerava odgovaraju li stvarni rezultati očekivanim rezultatima i osigurava da softverski sustav nema nedostataka.
- Testiranje je važno jer programske pogreške mogu biti skupe ili čak opasne.
- Važni su razlozi za korištenje softverskog testiranja: isplativost, sigurnost, kvaliteta proizvoda i zadovoljstvo kupaca.
- Obično se ispitivanje klasificira u tri kategorije funkcionalno ispitivanje, nefunkcionalno ispitivanje ili ispitivanje performansi i održavanje.
- Važne strategije u softverskom inženjerstvu su: jedinstveno testiranje, integracijsko testiranje, provjera valjanosti i testiranje sustava.