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

Model slapa

ล to je to?

u model vodopada, napredovanje razvoja softvera kroz razliฤite faze kao ลกto su analiza zahtjeva, dizajn itd. โ€“ sekvencijalno.

U ovom modelu sljedeฤ‡a faza poฤinje tek kada se zavrลกi prethodna faza.

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

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

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

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 โ€“

  1. Dodaj Testni sluฤaj testnom paketu kako bi provjerili novu funkcionalnost koja tek treba biti razvijena
  2. Pokrenite sve testove i oฤito novi testni sluฤaj mora biti neuspjeลกan jer funkcionalnost joลก nije kodirana
  3. Napiลกite kod za implementaciju znaฤajke/funkcionalnosti
  4. 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.

Saลพmite ovu objavu uz: