Vrste testiranja softvera (100 primjera)

⚡ Pametni sažetak

Vrste testiranja softvera su klasifikacije aktivnosti testiranja, svaka s definiranim ciljem, strategijom i rezultatima koji se koriste za validaciju aplikacije prema određenim kriterijima kvalitete.

  • Kategorije testiranja: Vrste testiranja softvera spadaju u funkcionalne, nefunkcionalne, strukturne i kategorije povezane s promjenama, a svaka služi različitoj svrsi validacije.
  • Uobičajene vrste: Jedinično testiranje, integracijsko testiranje, sistemsko testiranje i testiranje prihvatljivosti čine osnovne razine testiranja koje se koriste u većini projekata.
  • Specijalizirani pristupi: Tehnike poput testiranja penetracije, fuzz testiranja i mutacijskog testiranja ciljaju specifične atribute kvalitete kao što su sigurnost i pokrivenost koda.
  • Ručno u odnosu na automatizirano: Vrste testiranja mogu se izvršavati ručno ili putem alata za automatizaciju, ovisno o zahtjevima projekta, proračunu i vremenskim ograničenjima.
  • Umjetna inteligencija u testiranju: Umjetna inteligencija transformira testiranje softvera kroz automatizirano generiranje testova, inteligentno predviđanje nedostataka i samoobnavljajuće testne skripte.
  • Sveobuhvatno pokrivanje: Ovaj vodič pokriva 105 vrsta testiranja softvera s definicijama, odgovornim timovima i poveznicama na detaljne vodiče za dublje učenje.

Vrste testiranja softvera

Što je vrsta testiranja softvera?

Vrsta testiranja softvera je klasifikacija različitih aktivnosti testiranja u kategorije, od kojih svaka ima definirani cilj testiranja, strategiju testiranja i rezultate testiranja. Cilj vrste testiranja je validirati aplikaciju koja se testira (AUT) za definirani cilj testiranja. Na primjer, cilj testiranja pristupačnosti je validirati AUT da bude pristupačan osobama s invaliditetom. Dakle, ako vaše softversko rješenje mora biti prilagođeno osobama s invaliditetom, provjeravate ga u odnosu na testne slučajeve pristupačnosti.

Razumijevanje različitih vrsta testiranja softvera ključno je za QA stručnjake, razvojne programere i voditelje projekata. Svaka vrsta testiranja bavi se određenim problemom kvalitete, a odabir prave kombinacije osigurava temeljitu pokrivenost vaše aplikacije.

Vrste testiranja softvera

U nastavku slijedi sveobuhvatan popis 105 vrsta testiranja softvera zajedno s definicijama. Ovo je obavezna referenca za svakog QA stručnjaka. Smatrajte ovo svojim vodičem za sve vrste testiranja softvera, organiziranim kako biste brzo pronašli i razumjeli svaki pristup.

Vrste testiranja softvera

  1. Ispitivanje prihvatljivosti: Formalno testiranje koje se provodi kako bi se utvrdilo zadovoljava li sustav kriterije prihvatljivosti i kako bi se kupcu omogućilo da odluči hoće li sustav prihvatiti ili ne. Obično ga izvodi kupac. Pročitajte više na Ispitivanje prihvatljivosti
  2. Testiranje pristupačnosti: Vrsta testiranja koja određuje upotrebljivost proizvoda za osobe s invaliditetom (gluhe, slijepe, mentalno hendikepirane itd.). Proces evaluacije provode osobe s invaliditetom. Pročitajte više na Testiranje pristupačnosti
  3. Aktivno testiranje: Vrsta testiranja koja se sastoji od uvođenja testnih podataka i analize rezultata izvršenja. Obično ga provodi tim za testiranje.
  4. Agilno testiranje: Praksa testiranja softvera koja slijedi načela agilnog manifesta, s naglaskom na testiranje iz perspektive korisnika koji će koristiti sustav. Obično ga izvode QA timovi. Pročitajte više na Agilno testiranje
  5. Testiranje dobi: Vrsta testiranja koja procjenjuje sposobnost sustava da radi u budućnosti. Proces ocjenjivanja provode timovi za testiranje.
  6. Ad-hoc testiranje: Testiranje provedeno bez planiranja i dokumentacije – ispitivač pokušava 'slomiti' sustav nasumičnim isprobavanjem funkcionalnosti sustava. Izvodi ga tim za testiranje. Pročitajte više na Ad-hoc testiranje
  7. Alfa testiranje: Alfa testiranje vrsta je testiranja softvera koje se provodi na web mjestu razvojnog programera kako bi se identificirale greške, problemi upotrebljivosti i praznine u funkcionalnosti prije puštanja proizvoda u beta testiranje. Uključuje interne testere, kao što su programeri i QA timovi, a ponekad i odabrane krajnje korisnike u kontroliranom okruženju. Pročitajte više na Alfa testiranje
  8. Testiranje tvrdnji: Vrsta ispitivanja koja se sastoji u provjeri potvrđuju li uvjeti zahtjeve proizvoda. Izvodi ga tim za testiranje.
  9. API testiranje: Tehnika testiranja slična testiranju jedinice po tome što cilja na razinu koda. API testiranje razlikuje se od Unit Testinga po tome što je obično QA zadatak, a ne zadatak razvojnog programera. Pročitajte više na API testiranje
  10. Testiranje svih parova: Kombinatorna metoda testiranja koja testira sve moguće diskretne kombinacije ulaznih parametara. Izvode ga timovi za testiranje.
  1. Automatizirano testiranje: Tehnika testiranja koja koristi alate za automatizirano testiranje za kontrolu postavljanja okruženja, izvođenje testa i izvješćivanje o rezultatima. Izvodi se računalom i koristi se unutar timova za testiranje. Pročitajte više na Automatizirano testiranje
  2. Testiranje osnovnog puta: Mehanizam testiranja koji izvodi logičku mjeru složenosti proceduralnog dizajna i koristi to kao vodič za definiranje osnovnog skupa putova izvršenja. Koriste ga timovi za testiranje pri definiranju testnih slučajeva. Pročitajte više na Testiranje osnovnog puta
  3. Testiranje kompatibilnosti s prethodnim verzijama: Metoda testiranja koja provjerava ponašanje razvijenog softvera sa starijim verzijama testnog okruženja. Izvodi ga tim za testiranje.
  4. Beta testiranje: Završno testiranje prije puštanja aplikacije u komercijalne svrhe. To obično rade krajnji korisnici ili drugi.
  5. Referentno testiranje: Tehnika testiranja koja koristi reprezentativne skupove programa i podataka dizajniranih za procjenu performansi računalnog hardvera i softvera u danoj konfiguraciji. Izvode ga ispitni timovi. Pročitajte više na Ispitivanje referentnih vrijednosti
  6. Big Bang integracijsko testiranje: Tehnika testiranja koja integrira pojedine programske module tek kada je sve spremno. Izvode ga timovi za testiranje.
  7. Testiranje binarne prenosivosti: Tehnika koja testira izvršnu aplikaciju za prenosivost preko sistemskih platformi i okruženja, obično za usklađenost s ABI specifikacijom. Izvode ga timovi za testiranje.
  8. Ispitivanje graničnih vrijednosti: Tehnika testiranja softvera u kojoj su testovi dizajnirani da uključuju predstavnike graničnih vrijednosti. Izvode ga timovi za testiranje kvalitete. Pročitajte više na Ispitivanje graničnih vrijednosti
  9. Integracijsko testiranje odozdo prema gore: U integracijskom testiranju odozdo prema gore, prvo se razvijaju moduli na najnižoj razini, a drugi moduli koji idu prema 'glavnom' programu integriraju se i testiraju jedan po jedan. Obično ga izvode timovi za testiranje.
  10. Testiranje grane: Tehnika testiranja u kojoj se sve grane u izvornom kodu programa testiraju najmanje jednom. To radi programer.
  11. Testiranje širine: Testni paket koji koristi punu funkcionalnost proizvoda, ali ne testira značajke u detalje. Izvode ga ispitni timovi.
  12. Testiranje crne kutije: Metoda testiranja softvera koja provjerava funkcionalnost aplikacije bez posebnog znanja o kodu/unutarnjoj strukturi aplikacije. Testovi se temelje na zahtjevima i funkcionalnosti. Izvode ga QA timovi. Pročitajte više na Ispitivanje crne kutije
  13. Code-vođeno testiranje: Tehnika testiranja koja koristi okvire testiranja (kao što je xUnit) koji omogućuju izvođenje jediničnih testova kako bi se utvrdilo djeluju li različiti dijelovi koda prema očekivanjima u različitim okolnostima. Izvode ga razvojni timovi.
  14. Testiranje kompatibilnosti: Tehnika testiranja koja potvrđuje koliko dobro softver radi u određenom hardverskom/softverskom/operativnom sustavu/mrežnom okruženju. Izvode ga timovi za testiranje. Pročitajte više na Ispitivanje kompatibilnosti
  15. Usporedno testiranje: Tehnika testiranja koja uspoređuje prednosti i slabosti proizvoda s prethodnim verzijama ili drugim sličnim proizvodima. Može ga izvesti tester, programeri, voditelji proizvoda ili vlasnici proizvoda. Pročitajte više na Ispitivanje komponenti
  16. Testiranje komponenti: Tehnika testiranja slična jediničnom testiranju, ali s višom razinom integracije – testiranje se provodi u kontekstu aplikacije umjesto samo izravnog testiranja određene metode. Mogu ga izvesti timovi za testiranje ili razvoj.
  17. Testiranje konfiguracije: Tehnika testiranja koja određuje minimalnu i optimalnu konfiguraciju hardvera i softvera, te učinak dodavanja ili modificiranja resursa kao što su memorija, diskovi i CPU. Obično ga izvode inženjeri za testiranje performansi. Pročitajte više na Testiranje konfiguracije
  18. Ispitivanje pokrivenosti stanja: Vrsta testiranja softvera gdje se svaki uvjet izvršava tako da se postavi na istinito i lažno, na svaki od načina barem jednom. Obično ga izrađuju timovi za testiranje automatizacije.
  19. Ispitivanje usklađenosti: Vrsta testiranja kojom se provjerava je li sustav razvijen u skladu sa standardima, procedurama i smjernicama. Obično ga izvode vanjske tvrtke koje nude marku "Certified OGC Compliant".
  20. Testiranje paralelnosti: Višekorisničko testiranje usmjereno na utvrđivanje učinaka pristupa istom aplikacijskom kodu, modulu ili zapisima baze podataka. To obično rade inženjeri izvedbe. Pročitajte više na Testiranje paralelnosti
  21. Testiranje sukladnosti: Proces testiranja je li implementacija u skladu sa specifikacijom na kojoj se temelji. Obično ga izvode timovi za testiranje. Pročitajte više na Ispitivanje sukladnosti
  22. Testiranje vođeno kontekstom: Agilna tehnika testiranja koja zagovara kontinuiranu i kreativnu procjenu mogućnosti testiranja u svjetlu potencijalnih otkrivenih informacija i vrijednosti tih informacija za organizaciju u određenom trenutku. Obično ga izvode Agile timovi za testiranje.
  1. Testiranje pretvorbe: Testiranje programa ili postupaka koji se koriste za pretvaranje podataka iz postojećih sustava za korištenje u zamjenskim sustavima. Obično ga izvode QA timovi.
  2. Testiranje pokrivenosti odluke: Vrsta testiranja softvera gdje se svaki uvjet/odluka izvršava postavljanjem na true/false. Obično ga izrađuju timovi za testiranje automatizacije.
  3. Destruktivno ispitivanje: Vrsta ispitivanja u kojoj se ispitivanja provode do loma uzorka, kako bi se razumjela strukturna svojstva uzorka ili ponašanje materijala pod različitim opterećenjima. Obično ga provode timovi za osiguranje kvalitete. Pročitajte više na Destruktivno ispitivanje
  4. Testiranje ovisnosti: Vrsta testiranja koja ispituje zahtjeve aplikacije za već postojeći softver, početna stanja i konfiguraciju kako bi se održala odgovarajuća funkcionalnost. Obično ga izvode timovi za testiranje.
  5. Dinamičko testiranje: Izraz koji se koristi u programskom inženjerstvu za opisivanje testiranja dinamičkog ponašanja koda. Obično ga izvode timovi za testiranje. Pročitajte više na Dinamičko testiranje
  6. Testiranje domene: Tehnika testiranja bijele kutije koja sadrži provjere prihvaća li program samo ispravan unos. Obično to rade timovi za razvoj softvera i povremeno timovi za testiranje automatizacije.
  7. Testiranje rukovanja pogreškama: Vrsta testiranja softvera koja utvrđuje sposobnost sustava da ispravno obradi pogrešne transakcije. Obično ga izvode timovi za testiranje.
  8. Testiranje od kraja do kraja: Slično testiranju sustava, uključuje testiranje kompletnog okruženja aplikacije u situaciji koja oponaša korištenje u stvarnom svijetu, kao što je interakcija s bazom podataka, korištenje mrežnih komunikacija ili interakcija s drugim hardverom, aplikacijama ili sustavima ako je prikladno. Izvode ga QA timovi. Pročitajte više na End-to-end testiranje
  9. Testiranje izdržljivosti: Vrsta testiranja koja provjerava curenje memorije ili druge probleme koji se mogu pojaviti s produljenim izvođenjem. Obično ga izvode inženjeri izvedbe. Pročitajte više na Testiranje izdržljivosti
  10. Istraživačko testiranje: Tehnika ispitivanja crne kutije izvedena bez planiranja i dokumentacije. Obično se izvodi ručnim testerima. Pročitajte više na Istraživačko ispitivanje
  11. Testiranje particioniranja ekvivalencije: Tehnika testiranja softvera koja dijeli ulazne podatke softverske jedinice u particije podataka iz kojih se mogu izvesti testni slučajevi. obično ga izvode QA timovi. Pročitajte više na Testiranje particioniranja ekvivalencije
  12. Ispitivanje ubrizgavanja greške: Element sveobuhvatne strategije testiranja koji omogućuje ispitivaču da se usredotoči na način na koji aplikacija koja se testira može nositi s iznimkama. Izvode ga QA timovi.
  13. Formalna verifikacija Testiranje: Čin dokazivanja ili opovrgavanja ispravnosti predviđenih algoritama koji su u osnovi sustava s obzirom na određenu formalnu specifikaciju ili svojstvo, korištenjem formalnih matematičkih metoda. Obično ga izvode QA timovi.
  14. Funkcionalno ispitivanje: Vrsta testiranja crne kutije koja svoje testne slučajeve temelji na specifikacijama softverske komponente koja se testira. Izvode ga timovi za testiranje. Pročitajte više na Funkcionalno ispitivanje
  15. Fuzz testiranje: Tehnika testiranja softvera koja daje nevažeće, neočekivane ili nasumične podatke na ulaze programa - posebno područje testiranja mutacija. Fuzz testiranje provode timovi za testiranje. Pročitajte više na Fuzz testiranje
  16. Testiranje gorile: Tehnika testiranja softvera koja se fokusira na intenzivno testiranje jednog određenog modula. Izvode ga timovi za osiguranje kvalitete, obično tijekom cjelovitog testiranja.
  17. Siva Box Testiranje: Kombinacija crne Box i bijelo Box metodologije testiranja: testiranje softvera u odnosu na njegovu specifikaciju, ali korištenjem određenog znanja o njegovom unutarnjem funkcioniranju. Mogu ga provoditi razvojni ili testni timovi.
  18. Ispitivanje staklene kutije: Slično testiranju bijele kutije, temeljeno na poznavanju unutarnje logike koda aplikacije. Izvode ga razvojni timovi.
  19. Testiranje GUI softvera: Proces testiranja proizvoda koji koristi grafičko korisničko sučelje, kako bi se osiguralo da zadovoljava svoje pisane specifikacije. To obično rade timovi za testiranje. Pročitajte više na Testiranje GUI softvera
  20. Testiranje globalizacije: Metoda testiranja koja provjerava ispravnu funkcionalnost proizvoda s bilo kojom postavkom kulture/lokacije koristeći sve moguće vrste međunarodnog unosa. Izvodi ga tim za testiranje. Pročitajte više na Testiranje globalizacije
  21. Testiranje hibridne integracije: Tehnika testiranja koja kombinira tehnike integracije odozgo prema dolje i odozdo prema gore kako bi se iskoristile prednosti ove vrste testiranja. Obično ga izvode timovi za testiranje.
  22. Testiranje integracije: Faza u testiranju softvera u kojoj se pojedinačni softverski moduli kombiniraju i testiraju kao grupa. Obično ga provode timovi za testiranje. Pročitajte više na Ispitivanje integracije
  23. Testiranje sučelja: Testiranje provedeno kako bi se procijenilo prenose li sustavi ili komponente ispravno podatke i kontrolu jedni drugima. Obično ga izvode timovi za testiranje i razvoj. Pročitajte više na Testiranje sučelja
  24. Testiranje instalacije/deinstalacije: Posao osiguranja kvalitete koji se usredotočuje na ono što korisnici trebaju učiniti da bi uspješno instalirali i postavili novi softver. Može uključivati ​​potpune, djelomične ili procese instaliranja/deinstaliranja nadogradnji, a obično ga provodi inženjer za testiranje softvera u suradnji s upraviteljem konfiguracije.
  25. Testiranje internacionalizacije: Proces koji osigurava da funkcionalnost proizvoda nije prekinuta i da su sve poruke ispravno eksternalizirane kada se koriste na različitim jezicima i lokalnim oznakama. Obično ga izvode timovi za testiranje.
  26. Međusistemsko testiranje: Tehnika testiranja usmjerena na provjeru funkcioniraju li međusobne veze između aplikacija ispravno. Obično ga izvode timovi za testiranje.
  27. Testiranje temeljeno na ključnim riječima: Također poznato kao testiranje temeljeno na tablici ili testiranje radnjom riječi, metodologija je testiranja softvera za automatizirano testiranje koja razdvaja proces izrade testa u dvije različite faze: fazu planiranja i fazu implementacije. Mogu ga koristiti timovi za ručno ili automatizirano testiranje. Pročitajte više na Testiranje temeljeno na ključnim riječima
  28. Testiranje opterećenja: Tehnika testiranja koja postavlja zahtjeve za sustav ili uređaj i mjeri njihov odgovor. Obično ga provode inženjeri za izvedbu. Pročitajte više na Testiranje opterećenja
  29. Testiranje lokalizacije: Dio procesa testiranja softvera usmjeren na prilagodbu globalizirane aplikacije određenoj kulturi/lokaciji. To obično rade timovi za testiranje. Pročitajte više na Testiranje lokalizacije
  30. Testiranje petlje: Tehnika testiranja bijele kutije koja vježba programske petlje. Izvode ga razvojni timovi. Pročitajte više na Testiranje petlje
  31. Ručno skriptirano testiranje: Metoda testiranja u kojoj su testni slučajevi dizajnirani i pregledani od strane tima prije izvođenja. To rade timovi za ručno testiranje.
  32. Testiranje ručne podrške: Tehnika testiranja koja uključuje testiranje svih funkcija koje obavljaju ljudi tijekom pripreme podataka i korištenja tih podataka iz automatiziranog sustava. provode ga timovi za testiranje.
  33. Testiranje na temelju modela: Primjena dizajna temeljenog na modelu za projektiranje i izvođenje potrebnih artefakata za izvođenje testiranja softvera. Obično ga izvode timovi za testiranje. Pročitajte više na Testiranje na temelju modela
  34. Testiranje mutacije: Metoda testiranja softvera koja uključuje modificiranje izvornog koda programa ili bajt koda na male načine kako bi se testirali dijelovi koda kojima se rijetko ili nikad ne pristupa tijekom normalnog izvođenja testova. Obično ga provode ispitivači. Pročitajte više na Testiranje mutacija
  35. Testiranje temeljeno na modularnosti: Tehnika testiranja softvera koja zahtijeva stvaranje malih, neovisnih skripti koje predstavljaju module, odjeljke i funkcije aplikacije koja se testira. Obično ga provodi tim za testiranje.
  36. Nefunkcionalno testiranje: Tehnika testiranja koja se usredotočuje na testiranje softverske aplikacije za njezine nefunkcionalne zahtjeve. Mogu ga provoditi inženjeri za izvedbu ili timovi za ručno testiranje. Pročitajte više na Nefunkcionalno testiranje
  37. Negativno testiranje: Poznato i kao "test za neuspjeh" - metoda testiranja gdje je cilj testova pokazati da komponenta ili sustav ne radi. Izvodi se ručnim ili automatiziranim ispitivačima. Pročitajte više na Negativno testiranje
  38. Operanacionalno testiranje: Tehnika testiranja koja se provodi radi procjene sustava ili komponente u njegovom radnom okruženju. Obično ga izvode timovi za testiranje. Pročitajte više na Operacionalno testiranje
  39. Testiranje ortogonalnog niza: Sustavan, statistički način testiranja koji se može primijeniti u testiranju korisničkog sučelja, testiranju sustava, regresijskom testiranju, testiranju konfiguracije i testiranju performansi. Izvodi ga tim za testiranje. Pročitajte više na Ispitivanje ortogonalnog niza
  40. Testiranje u paru: Tehnika razvoja softvera u kojoj dva člana tima rade zajedno na jednoj tipkovnici kako bi testirali softversku aplikaciju. Jedan provodi testiranje, a drugi analizira ili pregledava testiranje. To se može učiniti između jednog testera i programera ili poslovnog analitičara ili između dva testera pri čemu oba sudionika naizmjence upravljaju tipkovnicom.
  41. Pasivno testiranje: Tehnika testiranja koja se sastoji u praćenju rezultata sustava koji radi bez unošenja posebnih testnih podataka. Izvodi ga tim za testiranje.
  42. Paralelno testiranje: Tehnika testiranja koja ima za cilj osigurati da je nova aplikacija koja je zamijenila svoju staru verziju instalirana i radi ispravno. Provodi ga tim za testiranje. Pročitajte više na Paralelno testiranje
  43. Testiranje staze: Tipično testiranje bijele kutije koje ima za cilj zadovoljiti kriterije pokrivenosti za svaki logički put kroz program. Obično ga izvodi razvojni tim. Pročitajte više na Testiranje puta
  44. Ispitivanje prodiranja: Metoda testiranja koja procjenjuje sigurnost računalnog sustava ili mreže simulacijom napada iz zlonamjernog izvora. Obično ih provode specijalizirane tvrtke za testiranje prodora. Pročitajte više na Ispitivanje penetracije
  45. Ispitivanje izvedbe: Funkcionalno testiranje koje se provodi kako bi se ocijenila usklađenost sustava ili komponente sa specificiranim zahtjevima performansi. Obično ga provodi inženjer izvedbe. Pročitajte više na Ispitivanje performansi
  46. Kvalifikacijsko testiranje: Testiranje u odnosu na specifikacije prethodnog izdanja, koje obično provodi razvojni programer za potrošača, kako bi pokazao da softver ispunjava navedene zahtjeve.
  47. Ramp Testiranje: Vrsta testiranja koja se sastoji od neprekidnog povećanja ulaznog signala sve dok se sustav ne pokvari. Može ga provoditi tim za testiranje ili inženjer izvedbe.
  48. Regresijsko testiranje: Vrsta testiranja softvera koja nastoji otkriti softverske pogreške nakon što su izvršene promjene u programu (npr. ispravci grešaka ili nova funkcionalnost), ponovnim testiranjem programa. Izvode ga timovi za testiranje. Pročitajte više na Ispitivanje regresije
  49. Testiranje oporavka: Tehnika testiranja koja procjenjuje koliko se dobro sustav oporavlja od padova, kvarova hardvera ili drugih katastrofalnih problema. Izvode ga timovi za testiranje. Pročitajte više na Testiranje oporavka
  50. Testiranje zahtjeva: Tehnika testiranja koja potvrđuje da su zahtjevi ispravni, potpuni, nedvosmisleni i logički dosljedni te omogućuje dizajniranje potrebnog i dostatnog skupa testnih slučajeva iz tih zahtjeva. Izvode ga QA timovi.
  51. Ispitivanje sigurnosti: Proces kojim se utvrđuje da informacijski sustav štiti podatke i održava funkcionalnost kako je predviđeno. Mogu ga izvesti timovi za testiranje ili specijalizirane tvrtke za sigurnosno testiranje. Pročitajte više na Ispitivanje sigurnosti
  52. Testiranje uračunljivosti: Tehnika testiranja koja utvrđuje radi li nova verzija softvera dovoljno dobro da se prihvati za veće testiranje. Izvode ga timovi za testiranje. Pročitajte više na Testiranje uračunljivosti
  53. Testiranje scenarija: Aktivnost testiranja koja koristi scenarije temeljene na hipotetskoj priči kako bi pomogla osobi da razmisli o složenom problemu ili sustavu za okruženje testiranja. Izvode ga timovi za testiranje. Pročitajte više na Testiranje scenarija
  54. Testiranje skalabilnosti: Dio serije nefunkcionalnih testova koji testira softversku aplikaciju za mjerenje njezine sposobnosti povećanja – bilo da se radi o podržanom korisničkom opterećenju, broju transakcija, količini podataka itd. Provodi ga inženjer izvedbe. Pročitajte više na Testiranje skalabilnosti
  55. Testiranje izjave: Testiranje bijele kutije koje zadovoljava kriterij da se svaka izjava u programu izvrši barem jednom tijekom testiranja programa. Obično ga izvodi razvojni tim.
  56. Statičko testiranje: Oblik testiranja softvera gdje se softver zapravo ne koristi. Uglavnom provjerava ispravnost koda, algoritma ili dokumenta. Koristi ga programer koji je napisao kod. Pročitajte više na Statičko testiranje
  57. Testiranje stabilnosti: Tehnika testiranja kojom se pokušava utvrditi hoće li se aplikacija srušiti. Obično ga provodi inženjer izvedbe. Pročitajte više na Ispitivanje stabilnosti
  58. Ispitivanje dima: Tehnika testiranja koja ispituje sve osnovne komponente softverskog sustava kako bi se osiguralo da ispravno rade. Testiranje dima obično provodi tim za testiranje, odmah nakon izrade softvera. Pročitajte više na Ispitivanje dima
  59. Testiranje pohrane: Vrsta testiranja koja provjerava da program koji se testira pohranjuje podatkovne datoteke u ispravne direktorije i da rezervira dovoljno prostora za sprječavanje neočekivanog prekida koji je posljedica nedostatka prostora. Obično ga provodi tim za testiranje. Pročitajte više na Ispitivanje pohrane
  60. Testiranje otpornosti na stres: Tehnika testiranja koja ocjenjuje sustav ili komponentu na ili izvan granica njegovih specificiranih zahtjeva. Obično ga provodi inženjer izvedbe. Pročitajte više na Ispitivanje stresa
  61. Strukturno ispitivanje: Tehnika testiranja bijele kutije koja uzima u obzir unutarnju strukturu sustava ili komponente i osigurava da svaka programska izjava obavlja svoju predviđenu funkciju. Obično ga izvode programeri softvera.
  62. Testiranje sustava: Proces testiranja integriranog hardverskog i softverskog sustava kako bi se potvrdilo da sustav ispunjava svoje specificirane zahtjeve. Provode ga timovi za testiranje u razvojnom i ciljnom okruženju. Pročitajte više na Ispitivanje sustava
  63. Testiranje integracije sustava: Proces testiranja koji vježba koegzistenciju softverskog sustava s drugima. Obično ga izvode timovi za testiranje. Pročitajte više na Ispitivanje integracije sustava
  64. Testiranje integracije odozgo prema dolje: Tehnika testiranja koja uključuje početak na vrhu hijerarhije sustava na korisničkom sučelju i korištenje stupova za testiranje od vrha prema dolje dok se cijeli sustav ne implementira. Provode ga timovi za testiranje.
  65. Testiranje niti: Varijacija tehnike testiranja odozgo prema dolje gdje postupna integracija komponenti slijedi implementaciju podskupa zahtjeva. Obično ga izvode timovi za testiranje. Pročitajte više na Testiranje niti
  66. Upgrade Testiranje: Tehnika testiranja koja provjerava mogu li se sredstva stvorena sa starijim verzijama ispravno koristiti i da se ne dovodi u pitanje korisničko učenje. Izvode ga timovi za testiranje.
  67. Jedinično testiranje: Metoda provjere i provjere softvera u kojoj programer testira jesu li pojedinačne jedinice izvornog koda prikladne za upotrebu. Obično ga provodi razvojni tim. Pročitajte više na Ispitivanje jedinice
  68. Testiranje korisničkog sučelja: Vrsta testiranja koja se provodi kako bi se provjerilo koliko je aplikacija prilagođena korisniku. Izvode ga ispitni timovi. Pročitajte više na Testiranje korisničkog sučelja

Vrste bonus testiranja: Sljedećih pet vrsta testiranja su dodatne tehnike kojih bi svaki QA stručnjak trebao biti svjestan.

  1. Ispitivanje upotrebljivosti: Tehnika testiranja koja provjerava lakoću s kojom korisnik može naučiti raditi, pripremiti ulaze za te interpretirati izlaze sustava ili komponente. Obično ga izvode krajnji korisnici. Pročitajte više na Ispitivanje upotrebljivosti
  2. Testiranje volumena: Testiranje koje potvrđuje da se bilo koje vrijednosti koje mogu postati velike tijekom vremena (kao što su akumulirani brojevi, zapisnici i podatkovne datoteke) mogu prihvatiti program i da neće uzrokovati prestanak rada programa ili pogoršanje njegovog rada na bilo koji način. Obično ga provodi inženjer izvedbe. Pročitajte više na Testiranje volumena
  3. Testiranje ranjivosti: Vrsta testiranja koja se odnosi na sigurnost aplikacije i ima svrhu spriječiti probleme koji mogu utjecati na integritet i stabilnost aplikacije. Mogu ga provoditi interni timovi za testiranje ili ga mogu povjeriti specijaliziranim tvrtkama. Pročitajte više na Testiranje ranjivosti
  4. Testiranje bijele kutije: Tehnika testiranja temelji se na poznavanju unutarnje logike koda aplikacije i uključuje testove poput pokrivenosti iskaza koda, grananja, staza, uvjeta. Izvode ga programeri softvera. Pročitajte više na Testiranje bijele kutije
  5. Testiranje tijeka rada: Skriptirana tehnika end-to-end testiranja koja duplicira specifične tijekove rada za koje se očekuje da će ih koristiti krajnji korisnik. Obično ga provode timovi za testiranje. Pročitajte više na Testiranje tijeka rada

Kako odabrati pravu vrstu testiranja softvera

S više od 100 dostupnih vrsta testiranja, odabir pravog pristupa za vaš projekt može se činiti neodoljivim. Ključno je uskladiti strategiju testiranja s ciljevima, ograničenjima i tolerancijom rizika vašeg projekta.

Započnite sa zahtjevima projekta

Započnite analizom onoga što vaša aplikacija mora isporučiti. Ako vaš softver obrađuje osjetljive podatke, rano dajte prioritet sigurnosnom testiranju i testiranju penetracije. Za aplikacije usmjerene na korisnike, testiranje upotrebljivosti i testiranje pristupačnosti trebali bi biti visoko na popisu. Poslovni sustavi sa složenim integracijama zahtijevaju temeljito testiranje integracije i testiranje sistemske integracije.

Razmotrite metodologiju razvoja

Vaš pristup razvoju izravno utječe na izbor testiranja. Agilni timovi imaju koristi od praksi kontinuiranog testiranja poput automatiziranog testiranja, regresijskog testiranja i istraživačkog testiranja unutar svakog sprinta. Vodopadni projekti obično slijede sekvencijalni pristup s različitim fazama za jedinično testiranje, integracijsko testiranje, sistemsko testiranje i testiranje prihvatljivosti.

Procijenite rizik i utjecaj

Usredotočite svoje napore testiranja tamo gdje bi kvarovi uzrokovali najveću štetu. Financijske aplikacije zahtijevaju opsežnu točnost i sigurnosnu validaciju. Zdravstveni sustavi zahtijevaju rigorozno testiranje usklađenosti. Platforme za e-trgovinu trebaju snažno testiranje performansi i testiranje opterećenja kako bi se nosile s vršnim prometom.

Uravnotežite ručne i automatizirane pristupe

Nije svaka vrsta testiranja potrebna automatizacija. Istraživačko testiranje, testiranje upotrebljivosti i ad-hoc testiranje oslanjaju se na ljudsku prosudbu. Regresijsko testiranje, testiranje opterećenja i testiranje dima značajno imaju koristi od automatizacije. Najučinkovitije strategije kombiniraju oba pristupa na temelju dostupnih resursa.

Kako umjetna inteligencija transformira testiranje softvera

Umjetna inteligencija je reshaping krajolik testiranja softvera automatizacijom zadataka koji su prije zahtijevali značajan ručni napor. Alati za testiranje pokretani umjetnom inteligencijom sada mogu automatski generirati testne slučajeve analizirajući ponašanje aplikacije, obrasce korisnika i promjene koda, dramatično smanjujući vrijeme potrebno za izradu sveobuhvatnih testnih paketa.

Jedna od najutjecajnijih primjena je inteligentno predviđanje nedostataka. Modeli strojnog učenja analiziraju povijesne podatke o greškama i metrike složenosti koda kako bi identificirali module koji najvjerojatnije sadrže nedostatke, omogućujući timovima da usmjere napore tamo gdje su problemi najvjerojatniji.

Samoobnavljajuće testne skripte predstavljaju još jedan veliki napredak. Tradicionalni automatizirani testovi često se prekidaju kada se promijeni korisničko sučelje. Alati s umjetnom inteligencijom otkrivaju te promjene i automatski ažuriraju selektore testova i tvrdnje, značajno smanjujući troškove održavanja.

Vizualno regresijsko testiranje pokretano umjetnom inteligencijom uspoređuje snimke zaslona između različitih verzija i inteligentno razlikuje namjerne promjene dizajna od stvarnih vizualnih nedostataka. Kako umjetna inteligencija nastavlja sazrijevati, stručnjaci za osiguranje kvalitete trebali bi je promatrati kao dodatak svojoj stručnosti, a ne kao zamjenu.

Ključne razlike između ručnog i automatiziranog testiranja

Razumijevanje kada koristiti ručno, a kada automatizirano testiranje ključna je odluka koja utječe na vremenske okvire projekta, proračune i kvalitetu rezultata. Sljedeća usporedba ističe bitne razlike između ova dva temeljna pristupa.

Kriteriji Ručno ispitivanje Automatizirano testiranje
Izvršenje Izvode ljudski testeri korak po korak Izvršava se pomoću skripti i alata za testiranje
Brzina Sporije, ograničeno ljudskim tempom Brže, izvodi testove paralelno
Početni trošak Niža početna ulaganja Više zbog postavljanja alata i skriptiranja
Ponovljivost Sklon ljudskim greškama pri ponavljanju Dosljedan i pouzdan u svim ciklusima
Najbolje za Istraživačko, upotrebljivo, ad-hoc testiranje Regresija, opterećenje, testiranje dima
Fleksibilnost Brzo se prilagođava promjenama Za promjene su potrebna ažuriranja skripti
Dugoročni ROI Veći troškovi tijekom vremena za repetitivne zadatke Isplativo za često izvođenje testova

Najuspješniji QA timovi ne biraju jedan pristup u odnosu na drugi. Umjesto toga, grade uravnoteženu strategiju testiranja koja koristi ručno testiranje za područja koja zahtijevaju ljudski uvid i automatizirano testiranje za ponovljene, podatkovno intenzivne ili vremenski kritične validacije.

Time završava popis. Da biste pronašli odgovarajuće alate za ovu vrstu testiranja i druge, istražite ovu kolekciju alati za ispitivanje.

Pitanja i odgovori

Jedinično testiranje je najčešće primjenjivana vrsta jer ga programeri izvršavaju tijekom razvoja kako bi provjerili ispravnost funkcioniranja pojedinačnih komponenti koda prije integracije sa širim sustavom.

Funkcionalno testiranje potvrđuje što softver radi u odnosu na određene zahtjeve. Nefunkcionalno testiranje procjenjuje kako softver radi, uključujući brzinu, skalabilnost, sigurnost i upotrebljivost u različitim uvjetima.

Regresijsko testiranje treba provoditi nakon svake promjene koda, ispravka programskih pogrešaka ili dodavanja novih značajki kako bi se osiguralo da postojeće funkcionalnosti ostanu nepromijenjene modifikacijama.

Da. Većina projekata koristi više vrsta testiranja istovremeno. Tipičan projekt kombinira jedinično testiranje, integracijsko testiranje, sistemsko testiranje i testiranje prihvatljivosti korisnika u različitim fazama razvoja.

Alfa testiranje provode interno programeri i QA timovi na lokaciji razvoja. Beta testiranje provode stvarni krajnji korisnici u svom stvarnom okruženju prije konačnog izdanja.

Umjetna inteligencija poboljšava testiranje putem automatiziranog generiranja testnih slučajeva, inteligentnog predviđanja nedostataka, samoobnavljajućih testnih skripti i vizualnog otkrivanja regresije, značajno smanjujući ručni napor i poboljšavajući pokrivenost testiranjem.

Ne. Umjetna inteligencija automatizira repetitivne zadatke i ubrzava izvršenje, ali ljudska prosudba ostaje ključna za istraživačko testiranje, procjenu upotrebljivosti i razumijevanje složene poslovne logike i korisničkog iskustva.

Istraživačko testiranje je nescenaristički pristup u kojem testeri istovremeno dizajniraju i izvršavaju testove na temelju svog iskustva. Koristi se za pronalaženje nedostataka koje bi strukturirano testiranje moglo propustiti.

Sažmite ovu objavu uz: