Nefunkcionalno testiranje

โšก Pametni saลพetak

Nefunkcionalno testiranje potvrฤ‘uje kako softverska aplikacija funkcionira u smislu pouzdanosti, upotrebljivosti, sigurnosti, skalabilnosti i drugih atributa kvalitete. Ovaj vodiฤ objaลกnjava ciljeve, parametre, karakteristike, uobiฤajene vrste testiranja i praktiฤne primjere testnih sluฤajeva koje koriste timovi za osiguranje kvalitete.

  • ๐ŸŽฏ Fokus na kvalitetu: Nefunkcionalno testiranje mjeri kako sustav funkcionira, a ne ลกto on radi.
  • ๐Ÿ“ Mjerljivi kriteriji: Svaki zahtjev je kvantificiran, ฤime se eliminiraju subjektivne rijeฤi poput dobro, bolje ili najbolje.
  • ๐Ÿ” Kritiฤni parametri: Sigurnost, pouzdanost, skalabilnost, upotrebljivost i prenosivost dominiraju nefunkcionalnom verifikacijom.
  • ๐Ÿงช Razliฤite vrste testova: Testiranje performansi, optereฤ‡enja, stresa, oporavka i kompatibilnosti bavi se specifiฤnim rizicima kvalitete.
  • ๐Ÿ“Š Poslovni utjecaj: Snaลพno nefunkcionalno testiranje smanjuje troลกkove proizvodnje, zastoje i nezadovoljstvo kupaca u svim izdanjima.

Nefunkcionalno testiranje

ล to je nefunkcionalno testiranje?

Nefunkcionalno testiranje je kategorija testiranja softvera koja potvrฤ‘uje nefunkcionalne aspekte aplikacije - performanse, upotrebljivost, pouzdanost i sliฤne atribute kvalitete. Procjenjuje spremnost sustava prema kriterijima koje funkcionalno testiranje nikada ne obraฤ‘uje, osiguravajuฤ‡i da aplikacija ispunjava oฤekivanja poduzeฤ‡a u stvarnim uvjetima.

Klasiฤan primjer nefunkcionalnog testiranja je mjerenje koliko se istovremenih korisnika moลพe prijaviti u aplikaciju bez smanjenja performansi. Nefunkcionalno testiranje je jednako vaลพno kao i funkcionalno testiranje jer izravno utjeฤe na zadovoljstvo klijenata i ukupnu percepciju proizvoda.

ล to je dijagram pregleda nefunkcionalnog testiranja

Ciljevi nefunkcionalnog testiranja

Nefunkcionalno testiranje provodi se radi poboljลกanja ukupne kvalitete i dugovjeฤnosti proizvoda. Kljuฤni ciljevi ukljuฤuju:

  • Poveฤ‡ati upotrebljivost, uฤinkovitost, odrลพivost i prenosivost proizvoda.
  • Smanjite rizik proizvodnje i troลกkove povezane s nefunkcionalnim nedostacima.
  • Optimizirajte naฤin na koji se proizvod instalira, postavlja, izvrลกava, upravlja i nadzire.
  • Prikupljajte mjerenja i metrike za interno istraลพivanje i razvoj.
  • Poboljลกati razumijevanje ponaลกanja proizvoda i tehnologija koje se koriste.

Karakteristike nefunkcionalnog testiranja

Sljedeฤ‡e osobine definiraju kako treba planirati i izvrลกavati nefunkcionalno testiranje:

  • Mora biti mjerljivo, ne ostavljajuฤ‡i prostora za subjektivne opise poput dobro, bolje ili najbolje.
  • Toฤni brojevi obiฤno nisu poznati na poฤetku procesa ispunjavanja zahtjeva.
  • Zahtjevi moraju biti prioritizirani kako bi se prvo obradila podruฤja s najveฤ‡im rizikom.
  • Atributi kvalitete se precizno identificiraju tijekom faze softverskog inลพenjerstva.

Parametri nefunkcionalnog testiranja

Za odreฤ‘ivanje opsega nefunkcionalnog testiranja obiฤno se koristi jedanaest parametara:

  1. Sigurnost: Mjeri kako je sustav zaลกtiฤ‡en od namjernih i sluฤajnih napada iz unutarnjih ili vanjskih izvora. Potvrฤ‘uje se sigurnosnim testiranjem.
  2. Pouzdanost: Stupanj u kojem sustav kontinuirano obavlja svoje odreฤ‘ene funkcije bez kvara. Potvrฤ‘uje se testiranjem pouzdanosti.
  3. Moguฤ‡nost preลพivljavanja: Potvrฤ‘uje da sustav nastavlja funkcionirati i oporavlja se nakon kvara. Potvrฤ‘uje se testiranjem oporavka.
  4. Dostupnost: Odreฤ‘uje stupanj do kojeg se korisnik moลพe osloniti na sustav tijekom rada. Potvrฤ‘eno testiranjem stabilnosti.
  5. Upotrebljivost: Lakoฤ‡a s kojom korisnici mogu uฤiti, koristiti, pripremati ulazne podatke i konzumirati izlazne podatke iz sustava. Potvrฤ‘eno testiranjem upotrebljivosti.
  6. skalabilnost: Stupanj do kojeg softverska aplikacija moลพe proลกiriti svoj procesorski kapacitet kako bi zadovoljila rastuฤ‡u potraลพnju. Potvrฤ‘eno testiranjem skalabilnosti.
  7. Interoperabilnost: Provjerava kako se softverski sustav povezuje s drugim softverskim sustavima. Potvrฤ‘uje se testiranjem interoperabilnosti.
  8. Uฤinkovitost: Stupanj u kojem sustav obraฤ‘uje kapacitet, koliฤinu i vrijeme odziva pod optereฤ‡enjem.
  9. Fleksibilnost: Lakoฤ‡a kojom aplikacija moลพe raditi na razliฤitim hardverskim i softverskim konfiguracijama, kao ลกto su razliฤite specifikacije RAM-a ili CPU-a.
  10. prenosivost: Fleksibilnost softvera da se premjesti iz trenutnog hardverskog ili softverskog okruลพenja u drugo.
  11. Ponovno koriลกtenje: Odnosi se na dio softverskog sustava koji se moลพe prilagoditi za koriลกtenje u drugoj aplikaciji.

Dijagram parametara nefunkcionalnog testiranja

Vrsta testiranja softvera

Testiranje softvera se grubo dijeli u tri kategorije:

  • Funkcionalno ispitivanje
  • Nefunkcionalno testiranje
  • Testiranje odrลพavanja

Svaka kategorija sadrลพi viลกe razina testiranja, koje timovi ฤesto nazivaju vrstama testiranja. Razliฤite knjige i referentni materijali mogu ih klasificirati malo drugaฤije, stoga oฤekujte manje varijacije.

Popis vrsta testiranja nije iscrpan - postoji preko 100 razliฤitih vrsta testiranja, a nove se i dalje pojavljuju. Ne odnosi se svaka vrsta na svaki projekt; opseg ovisi o prirodi, profilu rizika i sloลพenosti aplikacije koja se testira.

Vrste nefunkcionalnih ispitivanja

Najฤeลกฤ‡e vrste nefunkcionalnog testiranja koje provode QA timovi ukljuฤuju:

  • Ispitivanje performansi
  • Testiranje optereฤ‡enja
  • Failover testiranje
  • Ispitivanje kompatibilnosti
  • Ispitivanje upotrebljivosti
  • Ispitivanje stresa
  • Testiranje odrลพivosti
  • Testiranje skalabilnosti
  • Testiranje volumena
  • Ispitivanje sigurnosti
  • Testiranje oporavka od katastrofe
  • Ispitivanje sukladnosti
  • Testiranje prenosivosti
  • Ispitivanje uฤinkovitosti
  • Testiranje pouzdanosti
  • Osnovno testiranje
  • Testiranje izdrลพljivosti
  • Ispitivanje dokumentacije
  • Testiranje oporavka
  • Ispitivanje internacionalizacije

Primjeri testnih sluฤajeva za nefunkcionalno testiranje

Sljedeฤ‡i primjeri ilustriraju kako se nefunkcionalni testni sluฤajevi piลกu u stvarnim projektima:

Testni sluฤaj # Testni sluฤaj Domena
1 Vrijeme uฤitavanja aplikacije ne smije biti dulje od 5 sekundi kada joj istovremeno pristupa do 1000 korisnika. Ispitivanje performansi
2 Softver bi trebao biti instaliran na sve podrลพane verzije Windows i macOS. Ispitivanje kompatibilnosti
3 Sve web slike trebaju sadrลพavati opisne alt oznake. Testiranje pristupaฤnosti

Pitanja i odgovori

Funkcionalno testiranje provjerava ลกto sustav radi u odnosu na odreฤ‘ene zahtjeve. Nefunkcionalno testiranje mjeri kako sustav radi, ukljuฤujuฤ‡i brzinu, pouzdanost, upotrebljivost i sigurnost, osiguravajuฤ‡i da aplikacija zadovoljava standarde kvalitete koji nadilaze ponaลกanje osnovnih znaฤajki.

Popularni alati ukljuฤuju JMeter i LoadRunner za performanse, Selenium za automatizaciju upotrebljivosti, Burp Suite i OWASP ZAP za sigurnost, te BrowserStack za kompatibilnost. Svaki alat cilja odreฤ‘eno nefunkcionalno podruฤje koje QA timovi ลพele mjeriti.

Nefunkcionalno testiranje trebalo bi zapoฤeti kada je sustav funkcionalno stabilan i prije glavnih izdanja. Testovi performansi, sigurnosti i pouzdanosti obiฤno se zakazuju u kasnim fazama testiranja, ali strategije shift-left potiฤu ranije izvrลกavanje uz razvoj.

Svaki parametar mjeri se u odnosu na mjerljive pragove. Performanse se mjere vremenom odziva i propusnoลกฤ‡u, sigurnoลกฤ‡u kroz broj ranjivosti, upotrebljivoลกฤ‡u kroz stopu dovrลกetka zadataka i pouzdanoลกฤ‡u kroz srednje vrijeme izmeฤ‘u kvarova. Numbers zamijeniti subjektivna miลกljenja.

Oba. Testiranje performansi, optereฤ‡enja, stresa i sigurnosti uvelike se oslanja na automatizaciju zbog opsega i ponovljivosti. Testiranje upotrebljivosti i pristupaฤnosti ฤesto zahtijeva ruฤno promatranje, struฤne preglede ili provjere pomoฤ‡ne tehnologije uz automatizirane alate.

Umjetna inteligencija generira profile optereฤ‡enja, predviฤ‘a uska grla u performansama, daje prioritet riziฤnim testnim sluฤajevima i automatski analizira podatke zapisnika. Platforme temeljene na umjetnoj inteligenciji smanjuju vrijeme izvrลกavanja i brลพe povrลกinske regresije, pomaลพu...ping Timovi za kontrolu kvalitete skaliraju nefunkcionalnu pokrivenost u raznim izdanjima.

Ne. Umjetna inteligencija ubrzava skeniranje, stvaranje osnovnih podataka i otkrivanje anomalija, ali struฤni testeri i dalje interpretiraju rezultate, potvrฤ‘uju lance iskoriลกtavanja i dizajniraju scenarije testiranja. Umjetna inteligencija proลกiruje ljudsku prosudbu u nefunkcionalnom testiranju umjesto da zamjenjuje iskusne inลพenjere osiguranja kvalitete.

Saลพmite ovu objavu uz: