software development
Katere so metodologije za razvoj in testiranje programske opreme?
Testiranje je bistveni del procesa razvoja programske opreme. Robustni in stabilni programski izdelek je mogoče dostaviti z uporabo standardnih preskusnih metodologij, ki bodo pomagale napovedati časovni načrt programskega sistema.
Programska aplikacija se lahko zaradi velikega števila platform in naprav spremeni v še bolj zapletene. Še pomembneje je, da se zagotovi, ali izpolnjujejo določene zahteve in jih je mogoče učinkovito namestiti in upravljati na uporabnikovem stroju ali ne.
S sredstvi varnost , kompatibilnost in uporabnosti je treba programski izdelek preizkusiti z uporabo ustrezne preskusne metodologije.
V tem članku , podrobno bomo razpravljali o tem, kaj pomeni metodologija testiranja, kako se razlikuje od strategij testiranja in o vrstah metod testiranja programske opreme.
Kaj se boste naučili:
- Pomen metodologij testiranja
- Preskusne tehnike
- Modeli v SDLC
- Razlika med preskusnimi metodologijami in preskusnimi strategijami
- Zaključek:
- Priporočeno branje
Pomen metodologij testiranja
Metodologije lahko obravnavamo kot skupek preskusnih mehanizmov, ki se uporabljajo v življenjskem ciklu razvoja programske opreme od enote do sistemskega testiranja. Izbira ustrezne preskusne metodologije se šteje za jedro preskusnega postopka.
Preskusne tehnike
V bistvu obstajajo 3 metodologije testiranja, ki se uporabljajo za testiranje. Gre za testiranje bele škatle, testiranje črne škatle in Testiranje sive škatle . Ti se imenujejo tudi kot Preskusne tehnike . Za boljše razumevanje je spodaj navedena vsaka od tehnik testiranja.
# 1) Preskušanje bele škatle:
Tehnika testiranja bele škatle se uporablja za preučitev programske strukture in poslovne logike, potrjuje kodo ali program aplikacije. Imenuje se tudi kot Preskušanje proste škatle, preskušanje steklene škatle ali preskušanje odprte škatle .
Tehnike testiranja bele škatle vključujejo:
- Pokritost izjave: Preuči vse programske izjave.
- Pokritost podružnice: Serija tekočih testov za zagotovitev, ali so preizkušene vse veje.
- Pokritost poti: Preizkusi vse možne poti za pokrivanje vsakega stavka in veje.
# 2) Testiranje črne škatle:
Metoda testiranja črne skrinjice se uporablja za preizkušanje funkcionalnosti aplikacije na podlagi specifikacije zahteve. Za razliko od testiranja White Box se ne osredotoča na notranjo strukturo / kodo aplikacije.
Tehnike črne škatle vključujejo:
- Analiza mejne vrednosti
- Enakovrednost razdelitve (enakovrednost razdelitve razredov)
- Tabele odločitev
- Preizkusi domen
- Državni modeli
- Raziskovalno testiranje (zahteva manj priprav in pomaga tudi pri hitrem iskanju napak).
# 3) Testiranje sive škatle:
Ta metoda testiranja se izvaja z manj informacijami o notranji strukturi aplikacije. Na splošno se to izvaja samo kot testiranje črne škatle, za nekatera kritična področja uporabe pa se uporablja testiranje bele škatle.
Modeli v SDLC
Izbira ustreznih preskusnih metodologij vključuje tudi izbiro ustreznega modela v SDLC.
Modeli vključujejo:
- Model slapa
- V model
- Agilen model
- Spiralni model
- RAD
Oglejmo si podrobneje vsako metodologijo za razvoj programske opreme s kratko razlago.
# 1) Model slapa
Model slapa je osnovni model življenjskega cikla, ki ga je leta 1970 razvil Winston Royce. Ta model predstavlja več stopenj ali procesov v zaporednem načinu, ki teče postopoma navzdol.
Ta pristop je koristen, kadar so zahteve dobro znane, tehnologija razumljena in so na voljo viri s potrebnim znanjem.
Model slapa je opredeljen v naslednjih fazah:
- Zbiranje in analiza zahtev: Zajemite in analizirajte vse zahteve in se prepričajte, ali jih je mogoče preizkusiti.
- Oblikovanje sistema: Ustvarjanje in dokumentiranje zasnove na podlagi analize zahtev. Določite zahteve glede strojne in programske opreme.
- Izvedba: Ustvarite robustno kodo za komponente v skladu z zasnovo in jih vključite.
- Testiranje sistema: Integrirane komponente tvorijo celoten sistem, ta faza se izvaja, da se zagotovi, ali sistem deluje v skladu z zahtevami, sledenjem in poročanjem o poteku testiranja.
- Uvajanje sistema: Prepričajte se, če je sistem stabilen z nič hroščev, so bila izpolnjena vsa merila preskusa
izpolnite, zagotovite nastavitev okolja itd. - Vzdrževanje sistema: Prepriča se, ali aplikacija deluje učinkovito v skladu z zahtevami s primernim okoljem. V primeru, da se najde napaka, jo je treba odpraviti in razmestiti (posodobiti) v okolju.
Prednosti modela Slap:
- Preprosto in lahko razumljivo.
- Enostavno upravljanje, saj ima vsaka faza svoje posebne rezultate.
- Izogiba se prekrivanju etap.
- Dobro za majhne projekte.
Slabosti modela Slap:
- Povečanje obsega tveganja in negotovosti.
- Ko vstopite v fazo testiranja, v prejšnjih fazah ne morete več ničesar spremeniti npr Oblikovanje in kodiranje itd.
- Ni dobro za zapletene in velike projekte.
- Ni primerno tam, kjer se zahteve nenehno spreminjajo.
#2) V Model
V Model je razširitev modela Slap kjer izvajanje postopka poteka v zaporednem slogu v obliki črke V in je znano tudi kot model preverjanja in preverjanja. Pri tem pristopu obstaja neposredno povezana faza testiranja v vsaki posamezni fazi razvojnega cikla.
Izkazalo se je, da je koristen in stroškovno učinkovit kot model slapa, saj se preskušanje izvaja v vsaki razvojni fazi in ne na koncu razvojnega cikla.
V Model je razvrščen v 3 faze.
- Faza preverjanja
- Faza kodiranja
- Faza potrjevanja
a) Faza preverjanja :
- Analiza poslovnih zahtev: Komunicirajte s stranko, da boste razumeli njena pričakovanja in zahteve.
- Oblikovanje sistema: Oblikovanjepopolnasistem in njegove komponente, skupaj s strojno in programsko opremo.
- Arhitekturno oblikovanje: V tej fazi so zajete arhitekturne specifikacije. To je znano tudi kot oblikovanje na visoki ravni.
- Zasnova modula: To je znano tudi kot Low-Level Design, podrobna notranja zasnova za vse določene sistemske module.
b) Faza kodiranja:
Ta faza vsebuje dejansko fazo kodiranja v razvojnem življenjskem ciklu. Programske jezike je treba izbrati na podlagi sistema in arhitekturne zasnove, določene v predhodni tehnološki platformi. Kodiranje se izvaja v skladu s standardi in smernicami, ki so vnaprej določene.
c) Faza potrjevanja :
- Enotno testiranje: Izvedeno na posameznem modulu za odpravo napak v zgodnji fazi.
- Integracijsko testiranje: Izvedeno za testiranje komunikacije med različnimi moduli v sistemu.
- Testiranje sistema: Testiranje sistema se izvaja na sistemu kot celoti.
- Preskus sprejemljivosti: To je povezano s poslovnimi zahtevami. Izvaja se v uporabniškem okolju z vidika uporabnika.
Prednosti V modela
- Preprosto, enostavno za uporabo in razumevanje.
- Prekrivanju se izognemo, saj se faze izvajajo posamezno.
- Enostaven za upravljanje in primeren za manjše projekte.
Slabosti modela V so bolj ali manj podobne slabostim modela Waterfall.
# 3) gibčen model
Agile Model prikazuje iterativni in inkrementalni pristop. Ta pristop razdeli izdelek na majhne inkrementalne enote, da zagotovi ponovitve. Nato vsaka ponovitev vključuje korake, kot so načrtovanje, analiza zahtev, načrtovanje, kodiranje, preskušanje enot, preskus sprejemljivosti itd.
Ta pristop omogoča tudi stalno interakcijo s stranko za njene povratne informacije in popravke zahtev v rednih časovnih presledkih.
Naslednji diagram vam bo pomagal natančneje razumeti pristop Agile Model:
Naslednja slika prikazuje cikel ponavljanja v Agile Model:
Prednosti modela Agile:
- Realističen pristop k razvoju programske opreme.
- Spodbuja timsko delo.
- Odpravlja neskladje med zahtevami in testnimi primeri.
- Hitro in zahteva minimalno količino sredstev.
- Primerno za velike in dolgoročne projekte.
- Dobro za spreminjanje zahtev.
- Enostavno upravljanje.
Slabosti Agile modela:
- Ni primeren za kompleksne projekte.
- Zahteva veliko interakcije s stranko, ki lahko povzroči zamudo.
- Napačno določanje zahtev lahko povzroči nepravilen razvoj programskega izdelka.
- Povečano tveganje vzdrževanja.
- Izročitev drugi ekipi je lahko precej zahtevna.
# 4) Spiralni model
Spiralni model vključuje ponavljajoč se razvojni pristop skupaj s sistematičnim pristopom slapovega modela. Podobno je postopnemu modelu in poudarku na analizi tveganja.
Spiralni model ima štiri stopnje:
- Faza načrtovanja
- Analiza tveganja
- Inženirska faza
- Faza ocenjevanja
1) Faza načrtovanja: V tej fazi se zberejo in pregledajo zahteve za dokončanje testnega primera.
2) Analiza tveganja: Ta stopnja vključuje prepoznavanje, spremljanje in ocenjevanje tveganj upravljanja. Analizirajo se zahteve za ugotavljanje tveganj s pomočjo tehnik, kot so možganska nevihta, sprehodi itd.
3) Inženirska faza: V tej fazi se programska oprema na koncu razvije in preizkusi.
4) Faza ocenjevanja: To je zadnja stopnja, ko stranka oceni rezultate projekta in poda povratne informacije za naslednjo spiralo ali odobritev.
Slikovna predstavitev spiralnega modela:
Kdaj uporabiti spiralni model:
- Za visoko tvegane projekte.
- Ko so zahteve zapletene.
- Če je projekt velik.
- Na voljo dovolj časa za pridobitev povratnih informacij uporabnika za naslednjo spiralo.
- Zahteva pomembne spremembe zaradi raziskav in raziskovanja.
- Uporabniki niso prepričani v svoje potrebe.
Prednosti spiralnega modela:
- Izogibanje tveganju, saj vključuje veliko količino analiz tveganja.
- Hiter razvoj.
- Spremembe zahtev se zlahka prilagodijo.
- Zahteve je mogoče natančneje pridobiti.
Slabosti spiralnega modela:
- Kompleksno upravljanje.
- Ni primeren za manjše projekte.
- Lahko vključuje št. spiral (za nedoločen čas).
- Drago.
- Za uspeh njihovega projekta je potrebna velika količina analize tveganja in strokovnega znanja.
#5) RAD Model
Hitri razvoj aplikacij (RAD) je vrsta inkrementalnega modela. Pri tem pristopu se komponente razvijajo vzporedno.
To je hiter pristop in stranki lahko hitro ponudi izdelek, da mu da povratne informacije.
Faze v RAD so naslednje:
- Poslovno modeliranje: Prepozna ključne informacije in njihov pretok med različnimi poslovnimi kanali.
- Modeliranje podatkov: Informacije, zbrane v prejšnji fazi, se uporabljajo za določanje podatkovnih objektov, potrebnih za podjetje.
- Modeliranje procesov: Podatkovni predmeti se pretvorijo, da dobijo poslovni cilj in pretok informacij.
- Generacija aplikacij: V tej fazi se za pretvorbo modela procesa v dejansko kodo uporabljajo orodja za avtomatizacijo.
- Testiranje in promet: Preizkusi vse komponente sistema, s čimer se zmanjša celoten čas testiranja.
Prednosti modela RAD:
- Napredek je mogoče izmeriti.
- Zmanjša čas razvoja.
- Povečana ponovna uporabnost.
- Hitri začetni pregledi.
- Izboljša povratne informacije strank.
Slabosti modela RAD:
- Zahteva visoko usposobljena sredstva.
- Ocena visokih stroškov.
- Se ne uporablja za cenejše projekte.
- Velika odvisnost od spretnosti modeliranja.
- Z uporabo RAD je mogoče zgraditi samo modulariziran sistem.
Razlika med preskusnimi metodologijami in preskusnimi strategijami
Odgovor na to vprašanje ni veliko zapleten, saj obstaja preprosta razlika med obema.
Metodologije preskušanja so metode ali pristopi k preskušanju, ki vključujejo enotno testiranje in sistemsko testiranje.
Testiranje strategij je pregled ključnih vprašanj, ki se pojavijo v postopku testiranja, in ga bo upošteval vodja projekta, skupina razvijalcev in preizkuševalcev.
Za izvedbo se uporabljajo zgoraj obravnavane metode preskušanja programske opreme n število strategij testiranja.
Nekateri med njimi so navedeni spodaj:
1) Preskušanje enote:
- Osredotoča se na zelo majhne funkcionalne enote.
- Najpreprostejši način za preverjanje najmanjših enot za izolacijo.
- Na splošno izvajajo razvijalci.
2) Integracijsko testiranje:
youtube video downloader brezplačno prenesete programsko opremo
- To je naslednji korak, ki ga je treba izvesti na strani razvijalca.
- Zagotovite mehanizem za testiranje interakcije, medsebojnega delovanja in komunikacije med različnimi moduli programske opreme
3) funkcionalno preskušanje:
Uporablja se za preverjanje funkcionalnosti programskega sistema, tj.izhod na dani vhod.
4) Regresijsko testiranje:
Preveri, ali se je odpravljanje napak zgodilo na enem mestu, tako da zapletene funkcionalnosti ne bi smele povzročiti sprememb na drugem jedrnem območju.
5) Testiranje sistema:
- Testiranje vseh integriranih modulov kot skupni sistem.
- Združuje več funkcij v scenarije od konca do konca.
6) Testiranje učinkovitosti:
Preizkuša delovanje aplikacije v kritičnih situacijah, kot je prenos velike datoteke, hkratni dostop uporabnikov do sistema, okvara konfiguracije itd.
7) Preskus sprejemljivosti :
- Na splošno končna stopnja preskušanja, kjer preizkuševalci programski izdelek preučijo v perspektivi uporabnikov
- Rezultat tega koraka je subjektiven in traja nekaj časa, da bi našli natančno težavo
Zaključek:
Izbira ustrezne preskusne metodologije je dejanje ali sklop dejanj, ki je jedro preskusnega postopka. To je lahko celo vsestranska dejavnost, ki se spreminja glede na poslovne zahteve in časovni načrt programskega izdelka.
Lahko pa izberemo eno ali celo več metodologij za razvoj in preskušanje programske opreme, da imamo bolj prilagodljiv in učinkovit končni izdelek, ki zadovolji potrebe in pričakovanja kupca v želenem ali krajšem roku.
Sporočite nam svoje misli / predloge v spodnjem oddelku za komentarje.
Priporočeno branje
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Testiranje programske opreme QA Assistant Job
- Tečaj preizkušanja programske opreme: kateremu inštitutu za preizkušanje programske opreme naj se pridružim?
- Izbira preizkušanja programske opreme kot vaše kariere
- Preizkušanje programske opreme Tehnična vsebina Writer Freelancer Job
- Nekaj zanimivih vprašanj za preskušanje programske opreme
- Povratne informacije in pregledi tečaja za preizkušanje programske opreme
- Testiranje programske opreme Pomoč partnerskemu programu!