Metodologije ispitivanja softvera: naučite QA modele

Sadržaj:

Anonim

Što je metodologija ispitivanja softvera?

Metodologija testiranja softvera definirana je kao strategija i vrsta testiranja koja se koristi da bi se potvrdilo da aplikacija koja se testira ispunjava očekivanja klijenta. Metodologije ispitivanja uključuju funkcionalna i nefunkcionalna ispitivanja za potvrđivanje AUT. Primjeri metodologija ispitivanja su jedinično testiranje, integracijsko testiranje, testiranje sustava, ispitivanje performansi itd. Svaka metodologija ispitivanja ima definirani cilj ispitivanja, strategiju ispitivanja i isporučene rezultate.

Napomena : Budući da je testiranje softvera sastavni dio bilo koje razvojne metodologije, mnoge tvrtke kolokvijalno koriste pojam Razvojne metodologije i metodologije ispitivanja. Stoga bi se metodologije ispitivanja također mogle odnositi na Waterfall, Agile i druge QA modele, nasuprot gornjoj definiciji metodologija ispitivanja. Rasprava o različitim vrstama testiranja ne dodaje čitateljima vrijednost. Stoga ćemo razgovarati o različitim razvojnim modelima.

U ovom vodiču naučit ćete-

  • Model slapa
  • Iterativni razvoj
  • Agilna metodologija
  • Ekstremno programiranje
  • Koju softversku metodologiju odabrati?
  • Kako postaviti metodologije testiranja softvera?

Model slapa

Što je?

U modelu vodopada razvoj softvera napreduje kroz različite faze poput Analize zahtjeva, dizajna itd. - uzastopno .

U ovom modelu sljedeća faza započinje tek kad se završi ranija faza.

Koji je pristup testiranju?

Prva faza u modelu vodopada je faza zahtjeva u kojoj su svi projektni zahtjevi u potpunosti definirani prije početka ispitivanja. Tijekom ove faze testni tim mozga na opseg testiranja, strategiju ispitivanja i izrađuje detaljan plan ispitivanja.

Tek nakon završetka dizajna softvera, tim će prijeći na izvršavanje testnih slučajeva kako bi osigurao da se razvijeni softver ponaša onako kako je očekivano.

U ovoj metodologiji, ispitni tim prelazi na sljedeću fazu tek kada je završena prethodna faza.

Prednosti

Ovaj model softverskog inženjerstva vrlo je jednostavan za planiranje i upravljanje. Stoga se projekti, gdje su zahtjevi jasno definirani i prethodno navedeni, mogu lako testirati pomoću modela vodopada.

Mane

U modelu vodopada sa sljedećom fazom možete započeti tek nakon završetka prethodne faze. Stoga ovaj model ne može prihvatiti neplanirane događaje i neizvjesnost.

Ova metodologija nije prikladna za projekte kod kojih se zahtjevi često mijenjaju.

Iterativni razvoj

Što je?

U ovom je modelu veliki projekt podijeljen na male dijelove i svaki je dio podvrgnut višestrukim ponavljanjima modela vodopada. Na kraju iteracije razvija se novi modul ili se poboljšava postojeći modul. Ovaj modul integriran je u softversku arhitekturu i cijeli je sustav testiran zajedno

Što je pristup testiranju?

Čim se iteracija završi, cijeli se sustav podvrgava testiranju. Povratne informacije o testiranju odmah su dostupne i ugrađene su u sljedeći ciklus. Vrijeme testiranja potrebno u uzastopnim ponavljanjima može se smanjiti na temelju iskustva stečenog u prošlim iteracijama.

Prednosti

Glavna prednost iterativnog razvoja je testna povratna informacija koja je odmah dostupna na kraju svakog ciklusa.

Mane

Ovaj model značajno povećava općenite troškove komunikacije jer se na kraju svakog ciklusa moraju dati povratne informacije o rezultatima, naporu itd.

Agilna metodologija

Što je?

Tradicionalne metodologije razvoja softvera rade na pretpostavci da zahtjevi za softverom ostaju stalni tijekom cijelog projekta. Ali s povećanjem složenosti, zahtjevi se podvrgavaju brojnim promjenama i kontinuirano se razvijaju. Kupac ponekad nije siguran što želi. Iako se iterativni model bavi tim problemom, i dalje se temelji na modelu slapa.

U Agile metodologiji, softver se razvija u postupnim, brzim ciklusima. Naglašava se interakcija između kupaca, programera i klijenta, a ne procesa i alata. Agilna se metodologija usredotočuje na reagiranje na promjene, a ne na opsežno planiranje.

Koji je pristup testiranju?

Inkrementalno testiranje koristi se u agilnim razvojnim metodama, pa se stoga svako izdanje projekta temeljito testira. To osigurava ispravljanje grešaka u sustavu prije sljedećeg izdanja.

Prednosti

Moguće je izvršiti promjene u projektu u bilo kojem trenutku kako bi se udovoljilo zahtjevima.

Ovo postupno ispitivanje minimizira rizike.

Mane

Stalna interakcija s klijentom znači dodatni vremenski pritisak na sve dionike, uključujući samog klijenta, razvojne programe i timove za testiranje.

Ekstremno programiranje

Što je?

Ekstremno programiranje vrsta je 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 radi povratnih informacija. Uključuju se bodovi za pregled od strane kupca 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 neprestano mijenjaju.

Koji je pristup testiranju?

Ekstremno programiranje slijedi testni razvoj koji je opisan na sljedeći način -

  1. Dodajte testni slučaj u testni paket da biste provjerili novu funkcionalnost koja tek treba biti razvijena
  2. Pokrenite sve testove i očito novi dodani test slučaj mora propasti jer funkcionalnost još nije kodirana
  3. Napišite neki kod za implementaciju značajke / funkcionalnosti
  4. Ponovo pokrenite testni paket. Ovaj put bi trebao proći novi testni slučaj budući da je funkcionalno kodiran

Prednosti

Kupci koji imaju nejasan softver na umu mogli bi koristiti ekstremno programiranje

Kontinuirano testiranje i kontinuirana integracija malih izdanja osiguravaju visoku kvalitetu isporuke softverskog koda

Mane

Sastanci tima za razvoj softvera i klijenata dodaju vremenske zahtjeve.

Koju softversku metodologiju odabrati?

Postoji mnoštvo metodologija dostupnih za razvoj softvera i odgovarajuće testiranje. Svaka tehnika i metodologija ispitivanja dizajnirani su za određenu svrhu i imaju svoje relativne zasluge i nedostatke.

Odabir određene metodologije ovisi o mnogim čimbenicima kao što su priroda projekta, zahtjev klijenta, raspored projekata itd.

Iz perspektive testiranja, neke metodologije forsiraju testiranje ulaznih podataka rano u životnom ciklusu razvoja, dok druge čekaju dok radni model sustava ne bude spreman.

Kako postaviti metodologije testiranja softvera?

Metodologije testiranja softvera ne bi se trebale postavljati samo radi testiranja softverskog koda. Treba uzeti u obzir veliku sliku i primarni cilj projekta treba biti zadovoljan metodologijom ispitivanja.

Zakazivanje

Realno zakazivanje ključno je za provedbu uspješne metodologije ispitivanja, a raspored bi trebao zadovoljiti potrebe svakog člana tima.

Definirani rezultati

Kako bi svi članovi tima ostali na istoj stranici, trebaju se osigurati dobro definirani rezultati. Isporuke bi trebale sadržavati izravan sadržaj bez ikakvih dvosmislenosti.

Test pristup

Nakon što je zakazivanje završeno i kad postanu dostupni definirani rezultati, ispitni bi tim trebao biti u mogućnosti formulirati pravi pristup testiranju. Dokumenti s definicijom i sastanci programera trebali bi ukazati timu na najbolji pristup testiranju koji se može koristiti za projekt.

Izvještavanje

Transparentno izvještavanje vrlo je teško postići, ali ovaj korak određuje učinkovitost pristupa testiranja koji se koristi u projektu.