Metodologije testiranja softvera: QA modeli
ล to je metodologija testiranja softvera?
Metodologija testiranja softvera definirana je kao strategije i tipovi testiranja koji se koriste za potvrdu da aplikacija koja se testira ispunjava oฤekivanja klijenta. Metodologije ispitivanja ukljuฤuju funkcionalno i nefunkcionalno testiranje za provjeru valjanosti AUT-a. Primjeri metodologija testiranja su Ispitivanje jedinice, Ispitivanje integracije, Ispitivanje sustava, Ispitivanje performansi itd. Svaka metodologija testiranja ima definiran cilj ispitivanja, strategiju testiranja i rezultate.
biljeลกke: Buduฤi da je testiranje softvera sastavni dio svake razvojne metodologije, mnoge tvrtke kolokvijalno koriste izraz razvojne metodologije i metodologije testiranja. Stoga se metodologije testiranja mogu odnositi i na vodopad, agilne i druge QA modele za razliku od gornje definicije metodologija testiranja. Rasprava o raznim vrstama testiranja ne daje dodatnu vrijednost ฤitateljima. Stoga ฤemo raspravljati o razliฤitim modelima razvoja.
Model slapa
ล to je to?
u model vodopada, napredovanje razvoja softvera kroz razliฤite faze kao ลกto su analiza zahtjeva, dizajn itd. โ sekvencijalno.
Kakav je pristup testiranju?
Prva faza u modelu vodopada je faza zahtjeva u kojoj su svi zahtjevi projekta u potpunosti definirani prije poฤetka testiranja. Tijekom ove faze, tim za testiranje razmatra opseg testiranja, strategiju testiranja i izraฤuje detaljan plan testiranja.
Tek kada je dizajn softvera dovrลกen, tim ฤe prijeฤi na izvoฤenje testnih sluฤajeva kako bi se osiguralo da se razvijeni softver ponaลกa prema oฤekivanjima.
U ovoj metodologiji, tim za testiranje prelazi na sljedeฤu fazu tek kada je prethodna faza zavrลกena.
| Prednosti | Nedostaci |
|---|---|
| Ovaj model softverskog inลพenjerstva vrlo je jednostavan za planiranje i upravljanje. Stoga se projekti, u kojima su zahtjevi jasno definirani i unaprijed navedeni, mogu lako testirati koriลกtenjem vodopada. | U modelu vodopada moลพete zapoฤeti sa sljedeฤom fazom tek nakon ลกto je prethodna faza zavrลกena. Stoga ovaj model ne moลพe prihvatiti neplanirane dogaฤaje i neizvjesnost. |
| Ova metodologija nije prikladna za projekte u kojima se zahtjevi ฤesto mijenjaju. |
Iterativni razvoj
ล to je to?
U ovom modelu, veliki projekt je podijeljen u male dijelove, a svaki dio je podvrgnut viลกestrukim ponavljanjima modela vodopada. Na kraju iteracije razvija se novi modul ili se poboljลกava postojeฤi modul. Ovaj modul je integriran u arhitekturu softvera i cijeli sustav se testira zajedno
Koji je pristup testiranju?
ฤim se iteracija zavrลกi, cijeli sustav se podvrgava testiranju. Povratne informacije iz testiranja su odmah dostupne i ukljuฤene su u sljedeฤi ciklus. Vrijeme testiranja potrebno u uzastopnim ponavljanjima moลพe se smanjiti na temelju iskustva steฤenog iz proลกlih ponavljanja.
| Prednosti | Nedostaci |
|---|---|
| Glavna prednost iterativnog razvoja je da su povratne informacije o testu odmah dostupne na kraju svakog ciklusa. | Ovaj model znaฤajno poveฤava reลพijske troลกkove komunikacije buduฤi da se na kraju svakog ciklusa moraju dati povratne informacije o rezultatima, trudu itd. |
Agilna metodologija
ล to je to?
Tradicionalne metodologije razvoja softvera rade na pretpostavci da softverski zahtjevi ostaju konstantni tijekom cijelog projekta. Ali s poveฤanjem sloลพenosti, zahtjevi prolaze kroz brojne promjene i kontinuirano se razvijaju. Ponekad ni sam kupac nije siguran ลกto ลพeli. Iako iterativni model rjeลกava ovaj problem, joลก uvijek se temelji na modelu vodopada.
U agilnoj metodologiji softver se razvija u inkrementalnim, brzim ciklusima. Naglaลกene su interakcije izmeฤu kupaca, programera i klijenta, a ne procesi i alati. Agilna metodologija usmjerena je na odgovor na promjene, a ne na opseลพno planiranje.
Kakav je pristup testiranju?
Inkrementalno testiranje koristi se u agilnim razvojnim metodama i stoga se svako izdanje projekta temeljito testira. Ovo osigurava da su sve pogreลกke u sustavu ispravljene prije sljedeฤeg izdanja.
| Prednosti | Nedostaci |
|---|---|
| U svakom trenutku moguฤe je napraviti izmjene u projektu kako bi se uskladili sa zahtjevima. | Stalna interakcija s klijentom znaฤi dodatni vremenski pritisak na sve dionike, ukljuฤujuฤi samog klijenta, timove za razvoj softvera i testiranje. |
| Ovo inkrementalno testiranje smanjuje rizike. |
Ekstremno programiranje
ล to je to?
Ekstremno programiranje je vrsta agilne metodologije koja vjeruje u kratke razvojne cikluse. Projekt je podijeljen na jednostavne inลพenjerske zadatke. Programeri kodiraju jednostavan softver i vraฤaju se kupcu za povratne informacije. Revtj. bodovi kupca su ugraฤeni i programeri nastavljaju sa sljedeฤim zadatkom.
U ekstremnom programiranju programeri obiฤno rade u parovima.
Ekstremno programiranje koristi se na mjestima gdje se zahtjevi kupaca stalno mijenjaju.
Kakav je pristup testiranju?
Ekstremno programiranje slijedi razvoj voฤen testiranjem koji je opisan kako slijedi โ- Dodaj Testni sluฤaj testnom paketu kako bi provjerili novu funkcionalnost koja tek treba biti razvijena
- Pokrenite sve testove i oฤito novi testni sluฤaj mora biti neuspjeลกan jer funkcionalnost joลก nije kodirana
- Napiลกite kod za implementaciju znaฤajke/funkcionalnosti
- Ponovno pokrenite testni paket. Ovaj put bi novi testni sluฤaj trebao proฤi jer je funkcionalno kodiran
| Prednosti | Nedostaci |
|---|---|
| Kupci koji imaju na umu nejasan dizajn softvera mogli bi koristiti ekstremno programiranje | Sastanci izmeฤu tima za razvoj softvera i klijenata dodatno poveฤavaju vremenske zahtjeve. |
| Kontinuirano testiranje i kontinuirana integracija malih izdanja osiguravaju visoku kvalitetu isporuฤenog softverskog koda |
Koju softversku metodologiju odabrati?
Dostupne su tone metodologija za razvoj softvera i njegovo odgovarajuฤe testiranje. Svaka tehnika i metodologija testiranja dizajnirana je za odreฤenu svrhu i ima svoje relativne prednosti i nedostatke.
Odabir odreฤene metodologije ovisi o mnogim ฤimbenicima kao ลกto su priroda projekta, zahtjevi klijenta, raspored projekta itd.
Iz perspektive testiranja, neke metodologije zahtijevaju testiranje ulaznih podataka rano u ลพivotnom ciklusu razvoja, dok druge ฤekaju dok radni model sustava ne bude spreman.
Kako postaviti metodologiju testiranja softvera?
Metodologije testiranja softvera ne bi trebale biti postavljene samo radi testiranja softverskog koda. Treba razmotriti ลกiru sliku i primarni cilj projekta treba zadovoljiti metodologijom testiranja. Pogledajte ovaj popis uglednih pruลพatelji usluga testiranja softvera koji vam mogu pomoฤi da uspostavite uฤinkovite strategije testiranja skrojene prema ciljevima vaลกeg projekta.
Zakazivanje
Realno planiranje kljuฤno je za implementaciju uspjeลกne metodologije testiranja i raspored bi trebao zadovoljiti potrebe svakog ฤlana tima.
Definirani rezultati
Kako bi svi ฤlanovi tima ostali na istoj stranici, potrebno je osigurati dobro definirane rezultate. Isporuฤeni sadrลพaj trebao bi sadrลพavati izravan sadrลพaj bez dvosmislenosti.
Test pristup
Nakon ลกto je planiranje dovrลกeno i definirani rezultati dostupni, tim za testiranje trebao bi moฤi formulirati pravi pristup testiranju. Definicijski dokumenti i sastanci programera trebali bi ukazati timu na najbolji pristup testiranju koji se moลพe koristiti za projekt.
Izvjeลกtavanje
Transparentno izvjeลกฤivanje vrlo je teลกko postiฤi, ali ovaj korak odreฤuje uฤinkovitost pristupa testiranju koji se koristi u projektu.




