software development
Koje su metodologije razvoja i ispitivanja softvera?
Testiranje je važan dio procesa razvoja softvera. Robustan i stabilan softverski proizvod može se isporučiti uz upotrebu standardnih metodologija ispitivanja koje će pomoći u predviđanju vremenske trake softverskog sustava.
Softverska aplikacija može postati još složenija s velikim brojem platformi i uređaja. Što je još važnije, potrebno je osigurati ispunjavaju li navedene zahtjeve i mogu li se učinkovito instalirati i upravljati korisničkim strojem ili ne.
Pomoću sigurnost , kompatibilnost i upotrebljivosti, softverski proizvod treba testirati primjenom odgovarajuće metodologije ispitivanja.
U ovom članku , detaljno ćemo razgovarati o tome što se podrazumijeva pod metodologijama ispitivanja, u čemu se razlikuje od strategija testiranja i o vrstama softverskih metoda ispitivanja.
Što ćete naučiti:
- Značenje metodologija ispitivanja
- Tehnike ispitivanja
- Modeli u SDLC-u
- Razlika između metodologija ispitivanja i strategija testiranja
- Zaključak:
- Preporučena literatura
Značenje metodologija ispitivanja
Metodologije se mogu smatrati skupom mehanizama za testiranje koji se koriste u životnom ciklusu razvoja softvera od jedinstvenog testiranja do sistemskog testiranja. Odabir odgovarajuće metodologije ispitivanja smatra se sržom postupka ispitivanja.
Tehnike ispitivanja
U osnovi postoje 3 metodologije ispitivanja koje se koriste za testiranje. Oni su testiranje bijele kutije, crne kutije i Ispitivanje sive kutije . Oni se također nazivaju i Tehnike ispitivanja . U nastavku se ukratko opisuje svaka od tehnika testiranja radi vašeg boljeg razumijevanja.
# 1) Ispitivanje bijele kutije:
Tehnika ispitivanja bijele kutije koristi se za ispitivanje programske strukture i poslovne logike, provjerava kôd ili program aplikacije. Također se naziva i Ispitivanje prozirnih kutija, ispitivanje staklenih kutija ili ispitivanje otvorenih kutija .
Tehnike ispitivanja bijele kutije uključuju:
- Obuhvat izvještaja: Ispituje sve programske izjave.
- Pokrivenost podružnice: Niz tekućih testova kako bi se osiguralo jesu li testirane sve grane.
- Pokrivenost puta: Testira sve moguće putove za pokrivanje svake izjave i grane.
# 2) Ispitivanje crne kutije:
Metoda ispitivanja crne kutije koristi se za testiranje funkcionalnosti aplikacije na temelju specifikacije zahtjeva. Za razliku od White Box testiranja, on se ne fokusira na unutarnju strukturu / kôd aplikacije.
Tehnike crne kutije uključuju:
- Analiza granične vrijednosti
- Dijeljenje ekvivalencije (Dijeljenje klase ekvivalencije)
- Tablice odluka
- Testovi domena
- Državni modeli
- Istraživačko ispitivanje (zahtijeva manje pripreme i također pomaže u brzom pronalaženju nedostataka).
# 3) Ispitivanje sive kutije:
Ova metoda testiranja provodi se s manje informacija o unutarnjoj strukturi aplikacije. Općenito se to izvodi samo kao testiranje crne kutije, ali za neka kritična područja primjene koristi se testiranje bijele kutije.
Modeli u SDLC-u
Odabir pravilnih metodologija ispitivanja također se uključuje s odabirom odgovarajućeg modela u SDLC-u.
Modeli uključuju:
- Model slapa
- U modelu
- Agilan model
- Spiralni model
- RAD
Pogledajmo bliže svaku metodologiju razvoja softvera s kratkim objašnjenjem.
# 1) Model vodopada
Model slapa je osnovni model životnog ciklusa koji je razvio Winston Royce 1970. Ovaj model predstavlja više faza ili procesa na sekvencijalni način koji postupno teče prema dolje.
Ovaj je pristup koristan kada su zahtjevi dobro poznati, kada se tehnologija razumije i kad su na raspolaganju resursi s potrebnom stručnošću.
Model slapa definiran je u sljedećim fazama:

- Prikupljanje i analiza zahtjeva: Snimite i analizirajte sve zahtjeve i provjerite jesu li provjerljivi ili ne.
- Dizajn sustava: Stvaranje i dokumentiranje dizajna na temelju analize zahtjeva. Definirajte hardverske i softverske zahtjeve.
- Provedba: Stvorite robusni kod za komponente prema dizajnu i integrirajte ih.
- Ispitivanje sustava: Integrirane komponente čine cijeli sustav, ova se faza provodi kako bi se osiguralo radi li sustav prema zahtjevima, prateći i izvještavajući o napretku ispitivanja.
- Implementacija sustava: Provjerite je li sustav stabilan s nula bugova, svi su kriteriji ispitivanja bili
ispuniti, osigurati postavljanje okoliša itd. - Održavanje sustava: Provjerava radi li aplikacija učinkovito prema zahtjevima s odgovarajućim okruženjem. U slučaju da se utvrdi kvar, to bi trebalo otkloniti i rasporediti (ažurirati) u okruženju.
Prednosti modela vodopada:
- Jednostavno i lako razumljivo.
- Jednostavno upravljanje jer svaka faza ima svoje specifične rezultate.
- Izbjegava se preklapanje faza.
- Dobro za male projekte.
Mane modela slapa:
- Povećanje količine rizika i nesigurnosti.
- Jednom ušli u fazu testiranja, ne mogu ništa promijeniti u prethodnim fazama npr Dizajn i kodiranje itd.
- Nije dobro za složene i velike projekte.
- Nije prikladno tamo gdje se zahtjevi neprestano mijenjaju.
# 2) u modelu
V Model je produženje modela vodopada gdje se izvršavanje procesa odvija u sekvencijalnom stilu u V-obliku i također je poznato kao model provjere i provjere valjanosti. U ovom pristupu postoji izravno povezana faza ispitivanja u svakoj pojedinoj fazi razvojnog ciklusa.
Dokazao se korisnim i isplativim od modela vodopada jer se ispitivanje provodi u svakoj razvojnoj fazi, a ne na kraju razvojnog ciklusa.

V Model je klasificiran u 3 faze.
- Faza provjere
- Faza kodiranja
- Faza provjere valjanosti
a) Faza provjere :
- Analiza poslovnih zahtjeva: Komunicirajte s kupcem kako biste razumjeli njegova očekivanja i zahtjeve.
- Dizajn sustava: Oblikovatidovršensustav i njegove komponente zajedno sa hardverskim i softverskim zahtjevima.
- Arhitektonski dizajn: U ovoj fazi se bilježe arhitektonske specifikacije. Ovo također poznato kao dizajn na visokoj razini.
- Dizajn modula: Ovo je također poznato kao dizajn niske razine, detaljni unutarnji dizajn za sve navedene sistemske module.
b) Faza kodiranja:
Ova faza sadrži stvarnu fazu kodiranja u životnom ciklusu razvoja. Programski jezici trebaju se odabrati na temelju sustava i arhitektonskog dizajna navedenog u tehnološkoj platformi prethodne faze. Kodiranje se izvodi prema unaprijed definiranim standardima i smjernicama.
c) Faza provjere valjanosti :
- Jedinstveno testiranje: Izvodi se na pojedinačnom modulu kako bi se uklonili bugovi u ranoj fazi.
- Ispitivanje integracije: Izvedeno za testiranje komunikacije između različitih modula u sustavu.
- Ispitivanje sustava: Ispitivanje sustava izvodi se na sustavu u cjelini.
- Ispitivanje prihvatljivosti: To je povezano s poslovnim zahtjevima. Izvodi se u korisničkom okruženju s gledišta korisnika.
Prednosti V modela
- Jednostavno, jednostavno za korištenje i razumijevanje.
- Izbjegava se preklapanje jer se faze izvršavaju jedna po jedna.
- Jednostavno upravljanje i pogodno za male projekte.
Mane V modela su manje-više slične nedostacima modela Waterfall.
# 3) okretan model
Okretan model pokazuje iterativni i inkrementalni pristup. Ovaj pristup dijeli proizvod na male inkrementalne jedinice kako bi se osigurale iteracije. Tada svaka iteracija uključuje korake poput planiranja, analize zahtjeva, dizajna, kodiranja, jediničnog ispitivanja, ispitivanja prihvaćanja itd.
Ovaj pristup također omogućuje kontinuiranu interakciju s kupcem radi njegovih povratnih informacija i ispravljanja zahtjeva u redovitim intervalima.
Sljedeći dijagram pomoći će vam da preciznije razumijete pristup Agile Modela:

Sljedeća slika prikazat će iteracijski ciklus u Agile modelu:

Prednosti Agile modela:
- Realističan pristup razvoju softvera.
- Promovira timski rad.
- Eliminira neusklađenost zahtjeva i test slučajeva.
- Brz i zahtijeva minimalnu količinu sredstava.
- Pogodno za velike i dugoročne projekte.
- Dobro za promjenu zahtjeva.
- Jednostavno upravljanje.
Mane Agile modela:
- Nije prikladno za složene projekte.
- Zahtijeva veliku količinu interakcije s kupcem što može uzrokovati kašnjenje.
- Zabluda u vezi sa zahtjevima može uzrokovati nepravilan razvoj softverskog proizvoda.
- Povećani rizik održavanja.
- Primopredaja drugom timu može biti prilično izazovna.
# 4) Spiralni model
Spiralni model uključuje iterativni razvojni pristup zajedno sa sustavnim pristupom modela vodopada. Sličan je inkrementalnom modelu i naglasku na Analizi rizika.
Spiralni model ima četiri stupnja:
- Faza planiranja
- Analiza rizika
- Faza inženjerstva
- Faza procjene
1) Faza planiranja: U ovoj se fazi prikupljaju i preispituju zahtjevi kako bi se finalizirao testni slučaj.
2) Analiza rizika: Ova faza uključuje prepoznavanje, praćenje i procjenu rizika upravljanja. Zahtjevi se analiziraju kako bi se identificirali rizici korištenjem tehnika poput mozganja, prolaska itd.
3) Faza inženjeringa: U ovoj fazi softver se razvija i testira na kraju.
4) Faza ocjenjivanja: Ovo je zadnja faza u kojoj kupac procjenjuje rezultate projekta i daje povratne informacije za sljedeću spiralu ili odobrenje.
Slikovni prikaz spiralnog modela:

Kada koristiti spiralni model:
- Za visoko rizične projekte.
- Kad su zahtjevi složeni.
- Ako je projekt velik.
- Imajte dovoljno vremena za dobivanje povratnih informacija korisnika za sljedeću spiralu.
- Zahtijeva značajne promjene zbog istraživanja i istraživanja.
- Korisnici nisu sigurni u svoje potrebe.
Prednosti spiralnog modela:
- Izbjegavanje rizika jer uključuje veliku količinu analize rizika.
- Brzi razvoj.
- Promjene u zahtjevima mogu se lako prilagoditi.
- Zahtjevi se mogu preciznije steći.
Mane spiralnog modela:
- Složeno upravljanje.
- Nije prikladno za male projekte.
- Može uključivati br. spirala (neodređeno).
- Skupo.
- Za uspjeh svog projekta potrebna je velika količina analize rizika i stručnosti.
# 5) RAD model
Brzi razvoj aplikacija (RAD) vrsta je inkrementalnog modela. U ovom pristupu, komponente se razvijaju paralelno.
Ovo je brz pristup i kupcu može pružiti brzi proizvod za pružanje povratnih informacija.
Faze u RAD-u su sljedeće:
- Poslovno modeliranje: Identificira vitalne informacije i njihov protok između različitih poslovnih kanala.
- Modeliranje podataka: Podaci prikupljeni u prethodnoj fazi koriste se za definiranje podatkovnih objekata potrebnih za poslovanje.
- Modeliranje procesa: Predmeti podataka pretvaraju se kako bi se dobio poslovni cilj i protok informacija.
- Generiranje aplikacija: U ovoj fazi koriste se alati za automatizaciju za pretvaranje modela procesa u stvarni kod.
- Ispitivanje i promet: Testira sve komponente sustava, pa se stoga ukupno vrijeme testiranja smanjuje.
Prednosti RAD modela:
- Napredak se može mjeriti.
- Smanjuje vrijeme razvoja.
- Povećana ponovna upotrebljivost.
- Brze početne recenzije.
- Poboljšava povratne informacije kupaca.
Mane RAD modela:
- Zahtijeva visoko kvalificirane resurse.
- Procjena visokih troškova.
- Nije primjenjivo za jeftinije projekte.
- Velika ovisnost o vještinama modeliranja.
- Pomoću RAD-a može se graditi samo modularizirani sustav.
Razlika između metodologija ispitivanja i strategija testiranja
Odgovor na ovo pitanje nije puno složen, jer postoji jednostavna razlika između njih dvoje.
Metodologije ispitivanja su metode ili pristupi ispitivanju koji uključuju od jediničnog testiranja do sistemskog testiranja.
Strategije testiranja je pregled ključnih problema koji se javljaju u procesu testiranja i koji će uzeti u obzir voditelj projekta, tim programera i testera.
Za provedbu se koriste gore spomenute metode ispitivanja softvera n broj strategija testiranja.
Neki od njih navedeni su u nastavku:
1) Jedinstveno testiranje:
- Fokusira se na vrlo male funkcionalne jedinice.
- Najjednostavniji način provjere izolacije najmanjih jedinica.
- Općenito izvode programeri.
2) Integracijsko ispitivanje:
alfa i beta testiranje u softverskom inženjerstvu
- Ovo je sljedeći korak koji treba izvesti na strani programera.
- Osigurati mehanizam za testiranje interakcije, međusobnog rada i komunikacije između različitih modula softvera
3) Funkcionalno ispitivanje:
Koristi se za provjeru funkcionalnosti softverskog sustava, tj. Izlaza na zadani ulaz.
4) Ispitivanje regresije:
Provjerava je li se ispravak programske pogreške dogodio na jednom mjestu tako da složene funkcionalnosti ne bi trebale uzrokovati promjene u drugom području jezgre.
5) Ispitivanje sustava:
- Testiranje svih integriranih modula kao zbirnog sustava.
- Kombinira više značajki u cjelovite scenarije.
6) Ispitivanje performansi:
Testira izvedbu aplikacije u kritičnim situacijama poput prijenosa datoteke velike veličine, istodobnog pristupa korisnika sustavu, neuspjeha konfiguracije itd.
7) Ispitivanje prihvatljivosti :
- Općenito Konačna razina testiranja, gdje ispitivači ispituju softverski proizvod kao perspektivu korisnika
- Rezultat ovog koraka je subjektivan i treba malo da se pronađe točno pitanje
Zaključak:
Odabir odgovarajuće metodologije ispitivanja je radnja ili skup radnji koji su u osnovi postupka ispitivanja. Ovo može biti čak i svestrana aktivnost koja se mijenja u skladu s poslovnim zahtjevima i vremenskom slijedu softverskog proizvoda.
Međutim, može se odabrati pojedinačna ili čak više metodologija razvoja i ispitivanja softvera kako bi se dobio fleksibilniji i učinkovitiji krajnji proizvod koji zadovoljava potrebe i očekivanja kupca u željenom ili kraćem roku.
Javite nam svoje misli / prijedloge u odjeljku za komentare u nastavku.
Preporučena literatura
- Najbolji alati za testiranje softvera 2021. (Alati za automatizaciju ispitivanja kvalitete)
- Posao za QA pomoćnika za testiranje softvera
- Tečaj za testiranje softvera: Koji bih se institut za testiranje softvera trebao pridružiti?
- Odabir testiranja softvera za vašu karijeru
- Ispitivanje softvera Posao pisca tehničkog sadržaja Posao slobodnjaka
- Neka zanimljiva pitanja za ispitivanje softverskog testiranja
- Povratne informacije i kritike o tečaju softverskog testiranja
- Testiranje softvera Pomoć Affiliate Program!