Kad god se izda novi softver, očita je potreba za testiranjem nove funkcionalnosti. Međutim, jednako je važno ponovno pokrenuti stare testove koje je aplikacija prethodno prošla. Na taj način možemo biti sigurni da novi softver neće ponovno uvoditi stare nedostatke ili stvarati nove u njemu. Ovu vrstu testiranja nazivamo kao regresijsko ispitivanje. Kroz ovaj ćemo članak istraživati regresijsko testiranjedetaljno. Ako ste novi u testiranju softvera, svakako pročitajte i .
Pogledajmo teme obrađene u ovom članku:
- Što je regresijsko ispitivanje?
- Prednosti regresijskog ispitivanja?
- Kada primijeniti regresijsko testiranje?
- Koje su vrste regresijskog ispitivanja?
- Kako se provodi regresijsko testiranje?
- Tehnike ispitivanja regresije
- Izazovi regresijskog ispitivanja
Što je regresijsko ispitivanje?
'Testiranje prethodno testiranog programa nakon izmjene kako bi se osiguralo da nedostaci nisu uvedeni ili otkriveni u nepromijenjenim područjima softvera, kao rezultat izvršenih promjena naziva se regresijsko testiranje.'
Regresijski test je sistemski test čija je glavna svrha osigurati da mala promjena u jednom dijelu sustava ne naruši postojeću funkcionalnost drugdje u sustavu. Ako regresiju smatrate nenamjernom promjenom, tada je ova vrsta testiranja postupak lova na te promjene. Jednostavno rečeno, sve je u tome da se stare bube ne vrate da bi vas proganjale. Idemopogledajte izmišljeni primjer koji ilustrira koncept.
zbroji znamenke u cjelobrojnoj javi
Kada dodajete novu vrstu plaćanja na web mjesto za kupnju, pokrenite stare testove kako biste bili sigurni da novi kôd nije stvorio nove nedostatke ili ponovno uveo stare.Ispitivanje regresije važno je jer je bez njega sasvim moguće u sustav uvesti namjeravane popravke koji stvaraju više problema nego što ih rješavaju.
Prednosti regresijskog ispitivanja
Provođenje regresijskih testovakoristi tvrtkama na više načina kao što su:
- Povećava mogućnost otkrivanja bugova uzrokovanih promjenama softvera i aplikacije
- Može vam pomoći rano uhvatiti nedostatke i tako smanjiti troškove njihovog rješavanja
- Pomaže u istraživanju neželjenih nuspojava do kojih je moglo doći zbog novog operativnog okruženja
- Osigurava bolje performanse softvera zbog ranog prepoznavanja bugova i pogrešaka
- Što je najvažnije, provjerava da promjene koda ne ponovno uvode stare nedostatke
Regresijsko ispitivanje osigurava ispravnost softvera tako da se najbolja verzija proizvoda pusti na tržište. Međutim, u stvarnom svijetu projektiranje i održavanje gotovo beskonačnog niza regresijskih testova jednostavno nije izvedivo. Dakle, trebali biste znati kada primijeniti regresijsko testiranje.
Kada primijeniti regresijsko testiranje?
Preporučuje se izvršiti regresijsko ispitivanje pojave sljedećih događaja:
- Kad se dodaju nove funkcionalnosti
- U slučaju zahtjeva za promjenom
- Kada postoji ispravak nedostatka
- Kada postoje problemi s izvedbom
- U slučaju promjena okoline
- Kada postoji popravak zakrpe
Sljedeći dio ovog članka govori o različitim vrstama regresijskog ispitivanja.
Koje su vrste regresijskog ispitivanja?
Regresijsko ispitivanje vrši se kroz nekoliko faza ispitivanja. Iz tog razloga postoji nekoliko vrsta regresijskih ispitivanja. Neki od njih su sljedeći:
Jedinstveno testiranje: U jediničnom testiranju kada se naprave promjene kodiranja za jednu jedinicu, ispitivač, obično programer odgovoran za kôd, ponovno pokreće sve prethodno prođene jedinične testove. U U okruženja su ugrađeni automatizirani jedinični testovi, što jedinstveno testiranje čini vrlo učinkovitim u usporedbi s drugim vrstama testiranja.
Progresivno ispitivanje: Ova vrsta testiranja djelotvorno djeluje kada se izvrše promjene u specifikacijama softvera / aplikacija, kao i nove su dizajnirani.
Selektivno ispitivanje: U selektivnom testiranju testeri koriste podskup trenutnih testnih slučajeva kako bi smanjili troškove ponovnog testiranja i napora. Testna jedinica mora se ponoviti ako i samo ako je promijenjen bilo koji programski entitet koji pokriva.
Ponovno testiranje svih ispitivanja: Ova vrsta strategije testiranja uključuje testiranje svih aspekata određene aplikacije, kao i ponovnu upotrebu svih test slučajeva, čak i ako promjene nisu izvršene. Zahtijeva puno vremena i nije od velike koristi kada se na aplikaciji izvrše male izmjene ili promjene.
Kompletno testiranje: Ovo je testiranje vrlo korisno kada su u postojećem kodu izvršene višestruke promjene. Izvođenje ovog testiranja izuzetno je vrijedno za prepoznavanje neočekivanih bugova. Kada se ovo testiranje dovrši, konačni sustav može se učiniti dostupnim korisniku.
Vrlo je važno znati koja vrsta testiranja odgovara vašim zahtjevima. Dalje ćemo razgovarati o tome kako se provodi regresijsko testiranje.
Kako se provodi regresijsko testiranje?
Postupak za provedbu regresijskog testiranja sličan je onome koji primijenite za bilo koji drugi postupak ispitivanja. Svaki put kad se softver podvrgne promjeni i pojavi se novo izdanje, programer provodi ove korake kao dio postupka testiranja:
- Prije svega, on provodi regresijske testove na razini jedinice kako bi potvrdio kod koji su oni izmijenili, zajedno sa svim novim testovima koje su napisali kako bi pokrili novu ili promijenjenu funkcionalnost
- Zatim se promijenjeni kôd spoji i integrira kako bi se stvorila nova gradnja aplikacije koja se testira (AUT)
- Dalje se provode testovi dima kako bi se osiguralo da je izrada dobra prije bilo kakvog dodatnog ispitivanja
- Jednom kada je gradnja proglašena dobrom, provode se integracijski testovi kako bi se provjerila međusobna interakcija jedinica aplikacije i sa pozadinskim uslugama kao što su baze podataka
- Ovisno o veličini i opsegu objavljenog koda, predviđena je djelomična ili potpuna regresija
- Pogreške se zatim prijavljuju natrag razvojnom timu
- Po potrebi se provode dodatni krugovi regresijskih testova
Tako je regresijsko testiranje ugrađeno u tipični postupak testiranja softvera. Slika ispod jasno prikazuje kako je izvedeno regresijsko ispitivanje.
Kad god se izvrše neke promjene u izvornom kodu, izvršavanje programa iz očiglednih razloga ne uspije. Nakon neuspjeha, izvorni kôd se otklanja pogreškama kako bi se prepoznale pogreške u programu. Napravljene su odgovarajuće izmjene. Tada se odabiru odgovarajući ispitni slučajevi iz već postojećeg paketa koji obuhvaća sve modificirane i zahvaćene dijelove izvornog koda. Po potrebi se dodaju novi testovi. Na kraju se testiranje vrši pomoću odabranih test slučajeva. Sad se možda pitate koje test slučajeve odabrati.
Učinkovita regresijska ispitivanja mogu se provesti odabirom sljedećih test slučajeva:
- Test slučajevi koji imaju česte nedostatke
- Složeni testni slučajevi
- Slučajevi integracijskih testova
- Test slučajevi koji pokrivaju osnovnu funkcionalnost proizvoda
- Funkcije koje se često koriste
- Ispitajte vaze koje često ne uspiju
- Primjeri graničnih vrijednosti
Uz postupak regresijskog testiranja, provjerimo razne tehnike.
Tehnike ispitivanja regresije
Regresijsko testiranje jednostavno potvrđuje da se modificirani softver nije nenamjerno promijenio i obično se provodi bilo kojom kombinacijom sljedećih tehnika:
Ponovo testiraj sve: Ova metoda jednostavno ponovno testira čitav programski paket, od vrha do dna. U mnogim se slučajevima većina ovih ispitivanja provodi automatiziranim alatima. Određena puta automatizacija nije potrebna. Ova je tehnika skupa jer zahtijeva više vremena i sredstava u usporedbi s ostalim tehnikama.
Odabir testa: Umjesto da odabere sve test slučajeve, ova metoda omogućuje timu da odabere skup testova koji će približiti cjelovito testiranje test paketa. Primarna prednost ove prakse je u tome što za izvođenje zahtijeva mnogo manje vremena i truda. Obično to rade programeri koji će obično imati bolji uvid u nijanse testnih slučajeva i neočekivano ponašanje.
Prioritizacija testnih slučajeva: Cilj ove tehnike je davanje prioriteta ograničenom skupu testnih slučajeva razmatranjem više potencijalnih testnih slučajeva ispred manje važnih. Odabiru se testni slučajevi koji bi mogli utjecati na trenutne i buduće verzije softvera.
Ovo su tri glavne tehnike. Ponekad se na temelju zahtjeva za testiranjem ove tehnike kombiniraju.
Koliko god regresijsko testiranje moglo biti korisno, nije bez negativnih bodova. Morate razumjeti izazove s kojima biste se mogli suočiti prilikom njegove primjene.
Izazovi regresijskog ispitivanja
- Potrošnja vremena: Tehnike poput ponovnog testiranja trebaju puno vremena za testiranje cijelog niza test slučajeva
- Skup: Skupo zbog resursa i radne snage koje trebate uvijek iznova testirati, nešto što je već razvijeno, testirano i primijenjeno u ranim fazama
- Kompleks: Kako se proizvod širi, testere često preplavi ogromna količina test slučajeva i postanu žrtve gubitka traga test slučajeva, previdjevši važne test slučajeve
Unatoč tim negativnim točkama, regresijsko testiranje vrlo je korisno u procesu testiranja softvera. Regresijskim testiranjem tvrtke mogu spriječiti da projekti prelaze proračun, održati svoj tim na putu i, što je najvažnije, spriječiti da neočekivane pogreške oštete njihove proizvode. Ovim smo došli do kraja bloga. Nadam se da će vam stvari koje ste danas ovdje naučiti pomoći kada krenete na put testiranja softvera.
Ako ste ovo pronašli članak relevantan, provjerite online-uživo Edureka, pouzdana tvrtka za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta.
Imate pitanje za nas? Molimo spomenite to u odjeljku za komentare ovog ‘ Što je regresijsko ispitivanje? ’Članak i javit ćemo vam se.
kako testirati bazu podataka