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.




