Što je regresijsko testiranje?

Što je regresijsko testiranje

Što je regresijsko testiranje?

Ispitivanje regresije definira se kao vrsta testiranja softvera za potvrdu da nedavna promjena programa ili koda nije nepovoljno utjecala na postojeće značajke. Također možemo reći da to nije ništa drugo nego potpuni ili djelomični odabir već izvršenih testnih slučajeva koji se ponovno izvode kako bi se osiguralo da postojeće funkcionalnosti dobro rade.

Ova vrsta testiranja provodi se kako bi se osiguralo da nove promjene koda nemaju nuspojave na postojeće funkcionalnosti. Osigurava da stari kod i dalje radi nakon što se izvrše najnovije izmjene koda.

Zašto regresijsko testiranje?

Proces regresijskog testiranja bitan je u opsegu testiranja. Budući da može identificirati uvode li promjene koda ili poboljšanja nove nedostatke ili ometaju postojeće funkcionalne testove.

Bez postupka regresijskog testiranja, čak i manje promjene koda mogu dovesti do skupih pogrešaka. Stoga je sustavna praksa koja pomaže u održavanju kvalitete softvera. Ova metoda pomaže spriječiti ponavljanje poznatih problema i povećava povjerenje u softver.

Kada možemo provesti regresijsko testiranje?

Evo scenarija kada možete primijeniti postupak regresijskog testiranja.

Aplikaciji je dodana nova funkcionalnost: To se događa kada se u aplikaciji ili web-mjestu stvore nove značajke ili moduli. Regresija se izvodi kako bi se vidjelo rade li postojeće značajke kao i obično s uvođenjem nove značajke.

U slučaju zahtjeva za promjenom: Kada dođe do bilo kakve značajne promjene u sustavu, koristi se regresijsko testiranje. Ovaj se test provodi kako bi se provjerilo jesu li ti pomaci utjecali na značajke koje su bile tamo.

Nakon otklanjanja kvara: Programeri provode regresijsko testiranje nakon što isprave grešku u bilo kojoj funkcionalnosti. Ovo se radi kako bi se utvrdilo jesu li promjene napravljene tijekom ispravljanja greške utjecale na druge povezane postojeće značajke.

Nakon što se problem s izvedbom riješi: Nakon rješavanja bilo kakvih problema s izvedbom, pokreće se postupak regresijskog testiranja kako bi se vidjelo je li utjecao na druge postojeće funkcionalne testove.

Tijekom integracije s novim vanjskim sustavom: Proces regresijskog testiranja od kraja do kraja potreban je svaki put kada se proizvod integrira s novim vanjskim sustavom.

Kako napraviti regresijsko testiranje u testiranju softvera

Kao što smo već spomenuli, regresijsko testiranje pokreće se na temelju svake promjene izvršene na softveru. To može biti ispravak pogreške, integracija nove značajke i tako dalje. Kad god se dogodi takav posao, QA tim obavlja sljedeće aktivnosti navedene u nastavku. Ovi se zadaci izvode prije nego započnu ciklus izvršenja regresijskog testa.

  • Razgovarajte s razvojnim timom o specifičnim modulima i bibliotekama kojih smo se dotakli tijekom promjene
  • Razgovarajte s vlasnikom proizvoda o promjeni nove značajke i saznajte kako ona teče ili utječe na druge funkcije.
  • Identificirajte testove iz postojećeg skupa testova koje testeri trebaju izvršiti da bi se smanjile postojeće značajke.

Za učinkovito osiguranje kvalitete softvera mogu se provesti različite tehnike regresijskog testiranja:

Regresijsko testiranje u testiranju softvera

Ponovno testiraj sve

Ovo je jedna od metoda za regresijsko testiranje, posebno korištenje paketa za regresijsko testiranje. U tom bi se slučaju svi testovi u postojećem testnom spremniku ili paketu trebali ponovno izvršiti. Ovo je skupa metoda jer zahtijeva puno vremena i resursa.

Odabir regresijskog testa

Odabir regresijskog testa je tehnika u kojoj se izvršavaju neki odabrani testni slučajevi iz skupa testova. Pomaže u testiranju utječe li modificirani kod na softversku aplikaciju ili ne. Ovdje su testni slučajevi kategorizirani u dva dijela. Testni slučajevi za višekratnu upotrebu mogu se koristiti u daljnjim ciklusima regresije, dok se zastarjeli testni slučajevi ne mogu koristiti u narednim ciklusima.

Određivanje prioriteta testnih slučajeva

Određivanje prioriteta testnih slučajeva ovisi o poslovnom utjecaju, kritičnosti i često korištenim funkcionalnim testovima. Također, određivanje prioriteta testnih slučajeva na temelju prioriteta uvelike smanjuje napor pri izvođenju regresijskih testova.

Odabir testnih slučajeva za regresijsko testiranje

Iz industrijskih podataka utvrđeno je da je velik broj kvarova koje su prijavili korisnici nastao zbog ispravki bugova u posljednjem trenutku. To je rezultiralo nuspojavama, stoga je odabirom Testni slučajevi jer regresijsko testiranje nije lak zadatak.

Učinkovit skup regresijskih testova može se izgraditi odabirom sljedećih vrsta testnih slučajeva –

  • Testni slučajevi iz funkcionalnosti/modula koji imaju česte nedostatke.
  • Funkcionalnosti koje su vidljivije korisnicima
  • Test slučajevi koji provjeravaju temeljne značajke proizvoda
  • Testni slučajevi funkcionalnosti koje su prošle novije promjene.
  • Svi integracijski restrases
  • Svi složeni test slučajevi
  • Slučajevi ispitivanja graničnih vrijednosti
  • Odabrani sretni put i negativni testovi

Alati za regresijsko testiranje

Ako vaš softver prolazi kroz česte promjene, troškovi regresijskog testiranja će eskalirati. Budući da ručno izvođenje testnih slučajeva povećava vrijeme izvođenja testa, kao i troškove. Automatizacija regresijskih testnih slučajeva je pametan izbor u takvim slučajevima. Opseg automatizacije ovisi o broju testnih slučajeva koji se mogu ponovno koristiti za uzastopne cikluse regresije.

Sljedeći su najvažniji alati koji se koriste za automatizaciju funkcionalnih i regresijskih testova u softverskom inženjerstvu:

1) testRigor

testRigor pomaže vam da izravno izrazite testove kao izvršne specifikacije na jednostavnom engleskom jeziku. Korisnici svih tehničkih sposobnosti mogu izraditi end-to-end testove bilo koje složenosti koji pokrivaju mobilne, web i API korake. Koraci testiranja izražavaju se na razini krajnjeg korisnika umjesto da se oslanjaju na detalje implementacije kao što su XPaths ili CSS Selectors.

testRigor

Značajke:

  • Zauvijek besplatna javna verzija
  • Testovi su na engleskom jeziku
  • Neograničeni korisnici i neograničeni testovi
  • Najlakši način da naučite automatizaciju
  • Snimač za web korake
  • Integracije s CI/CD i upravljanjem testnim slučajevima
  • Testiranje e-pošte i SMS-a
  • Web + Mobile + API koraci u jednom testu

Posjetite testRigor >>


2) Predmet7

Predmet7 je rješenje za automatizaciju testiranja temeljeno na oblaku, "pravo bez koda". Objedinjuje sva testiranja u jednoj platformi i omogućuje svakome da postane stručnjak za automatizaciju. Ovaj softver jednostavan za korištenje omogućuje brzo, jednostavno i sofisticirano kreiranje regresijskih testova. Ne treba mu niti jedan redak koda i nudi visoko razmjerno izvršenje koje pokreće tisuće noćnih testova.

Predmet7

Značajke:

  • Lako se integrira s DevOps/Agile alatom pomoću izvornih dodataka, integracija unutar aplikacije i otvorenih API-ja.
  • Paralelno izvođenje velikih razmjera u oblaku ili on-prem sa sigurnošću razine poduzeća.
  • Fleksibilno izvješćivanje o nedostacima, s video snimanjem rezultata.
  • Jednostavna cijena bez mjerenja koja pruža financijsku predvidljivost.
  • Sukladan SOC2 Type2

Posjetite Subject7 >>

Selenium: Selenium je najčešće korišten open-source alat koji se koristi za automatizaciju web aplikacija. Selenium može se koristiti za regresijsko testiranje temeljeno na pregledniku. Podržava programske jezike kao što su Java, Ruby, Python, Itd

Quick Test Professional (QTP): HP Quick Test Professional automatizirani je softver dizajniran za automatizaciju funkcionalnih i regresijskih testnih slučajeva. Za automatizaciju koristi VB Script jezik. To je alat temeljen na podacima i ključnim riječima.

Rational Functional Tester (RFT): IBMRacionalni funkcionalni tester je a Java alat koji se koristi za automatizaciju testnih slučajeva softverskih aplikacija. Ovo se primarno koristi za automatizaciju regresijskih testnih slučajeva, a također se integrira s Rational Test Managerom.

Vrste regresijskog testiranja

Vrste regresijskog testiranja

Ovdje su različite vrste regresijskog testiranja:

1) Jedinično regresijsko testiranje (URT)

Ovo je vrlo fokusiran pristup gdje samo modificirani dio ide pod regresijski test umjesto područja udara. Na taj način ostali dijelovi modula ostaju nepromijenjeni.

Primjer

Kao što je na primjer, u Build 1 problem je pronađen i prijavljen razvojnom programeru.

Recimo da je to bila greška u funkcionalnosti prijave. Dakle, razvojni programer to popravlja, dodaje ispravak bugova u Build 2 i šalje ga. Tim za testiranje provjerava samo radi li značajka prijave kako se očekuje, umjesto da provjerava ostale značajke.

2) Regionalno regresijsko testiranje (RRT)

U regionalnom regresijskom testiranju testiraju se područja modifikacije i utjecaja. Ovo se područje ispituje kako bi se otkrilo mogu li promjene utjecati na neke pouzdane module.

Primjer: U ovom primjeru, u prvoj verziji, programer šalje module A, B, C i D na testiranje. Tester pronalazi greške u modulu B, pa se aplikacija vraća programeru da ispravi greške.

Nakon što programer ispravi greške u drugoj verziji u modulu B, ona se ponovno šalje inženjeru za testiranje. Testni inženjer saznaje da je modul za pričvršćivanje B utjecao na A i C.

Stoga, ispitivač provjerava izmjene modula B u drugom izdanju. Zatim testira i udarna područja u A i C kako bi se utvrdilo kako su zahvaćena.

Bilješka: Tijekom regresijskog testiranja postoji mogućnost da se pojavi ovaj problem u nastavku.

Problem:

  • U verziji 1, klijenti obično traže promjene, modifikacije i dodane značajke.
  • Ovaj se zahtjev zatim šalje timu za razvoj i timu za testiranje.
  • Razvojni tim zatim vrši izmjene. Nakon toga, testni inženjer šalje e-poruku klijentu, obavještavajući ga o područjima na koja će izmjena utjecati.
  • Voditelj testiranja zatim prikuplja popis pogođenih područja od klijenta, programera i odjela za testiranje.
  • Popis utjecaja zatim se šalje inženjerima za testiranje, koji započinju regresijsko testiranje.

Ova vrsta metode testiranja stvara nedostatke u komunikaciji. Programeri i korisnici ne mogu se uvijek vratiti na e-poštu; stoga nema pravog pregleda područja utjecaja.

Rješenje: Kako bi uklonili ovu vrstu problema, tim za testiranje može dogovoriti sastanak nakon što nova verzija stigne nakon ispravki grešaka, novih značajki i izmjena. Ovaj sastanak će se održati kako bi se razgovaralo o tome jesu li moduli pogođeni zbog izmjena.

Bit će probna runda za pronalaženje utjecaja kako bi mogli izraditi popis utjecaja. Ispitni vod dodaje maksimalan broj područja u području udara na ovaj popis.

Evo kako će proces izgledati u nastavku:

  • "Test provjere izrade" za provjeru glavnih mogućnosti aplikacije.
  • Testiranje svih novih značajki.
  • Ispitivanje promijenjenih ili modificiranih značajki.
  • Ponovno testiranje grešaka.
  • Zatim, konačno, analiza područja utjecaja korištenjem regionalnog regresijskog testiranja.

3) Puno regresijsko testiranje (FRT):

Ovo testiranje pokriva sve funkcionalnosti aplikacije. Potpuno regresijsko testiranje obično se provodi u kasnijim izdanjima. Stoga možete koristiti FRT nakon prvih nekoliko izdanja i kao posljednji test prije pokretanja.

U drugoj ili trećoj izradi kupac ili vlasnik tvrtke može zatražiti izmjene. Također mogu zahtijevati nove funkcionalnosti i/ili prijaviti nedostatke. Tim za testiranje zatim provodi analizu utjecaja, vrši sve izmjene i provodi konačni kompletan test proizvoda.

Na primjer, 4. verzija je posljednje izdanje prije lansiranja. Dakle, u ovoj verziji, tim za testiranje provodi kompletan test ili ponovno testiranje proizvoda umjesto samo područja udara ili značajke. To se radi nakon izmjena i testova u verzijama 1, 2 i 3.

Da biste izvršili potpuno regresijsko testiranje, morate uzeti u obzir ove okolnosti:

  • Promjene se izvode na osnovnim komponentama aplikacije. Na primjer, ako postoji izmjena u korijenskoj datoteci aplikacije ili temeljnih modula, tada se cijela aplikacija mora regresirati. Ako su napravljene brojne promjene.

4) Korektivno regresijsko testiranje:

Ovo se testiranje provodi kada se značajke ne mijenjaju. Takvi se testovi mogu provesti s postojećim slučajevima.

5) Ponovno testirajte sva regresijska testiranja:

U ovom obliku testiranja ponovno se testiraju sve manje do veće promjene napravljene u aplikaciji od izvora ili verzije 1.

Ovo se testiranje provodi kada svi drugi regresijski testovi ne uspiju identificirati glavni uzrok problema.

6) Selektivno regresijsko testiranje:

Ovo se provodi kako bi se provjerilo kako kôd reagira kada se novom kodu doda u program. Kako bi se proveo ovaj test, koristi se podskup iz postojećih slučajeva kako bi bio učinkovit i isplativ. Kriteriji za odabir podskupa temelje se na modificiranim modulima koda, ovisnostima, kritičnosti zahvaćene funkcionalnosti i povijesnim podacima o nedostacima.

7) Progresivno regresijsko testiranje:

Ova vrsta regresijskog testiranja daje važne izlazne rezultate kada se naprave određene promjene u programu i kreiraju novi testni slučajevi.

Pomaže osigurati da nijedna komponenta iz starijih verzija nije zahvaćena najnovijom verzijom.

8) Djelomično regresijsko testiranje:

Djelomično regresijsko testiranje koristi se za provjeru da nove promjene koda ili poboljšanja ne utječu negativno na postojeću funkcionalnost. Međutim, za razliku od potpunog regresijskog testa, koji uključuje ponovno testiranje cijele aplikacije, u djelomičnom regresijskom testiranju fokusiramo se samo na određene dijelove softvera na koje su utjecale nedavne promjene.

Stoga je primarna svrha djelomičnog regresijskog testiranja ušteda vremena i resursa izbjegavanjem ponovnog testiranja nepromijenjenih dijelova aplikacije. Test slučajevi za djelomično regresijsko testiranje pažljivo su odabrani na temelju analize utjecaja promjena koda. Identificiranje ispravnih testnih slučajeva za uključivanje u test djelomične regresije je ključno. Nedostatak kritičnih testnih slučajeva može dovesti do zanemarenih problema.

Automatizirano regresijsko testiranje

Kao što je ranije spomenuto, automatizacija regresijskih testova je neophodna kada postoji više izdanja. Također je potreban za višestruke cikluse regresije i brojne ponavljajuće aktivnosti. Budući da je izvođenje višestrukih testnih ciklusa u izdanjima vrlo dugotrajno.

Međutim, s automatizacijom možete testirati nekoliko puta. To zahtijeva pisanje skripti za testiranje automatizacije za izvršenje, što zahtijeva relevantno planiranje i dizajn. U takvom testiranju tim ne može izravno započeti s automatizacijom. Stoga moramo uključiti timove za ručno i automatizirano testiranje kako bismo pokrili ovaj opseg. Evo kako se radi automatsko regresijsko testiranje:

Korak 1) Tim za ručno testiranje provjerava sve zahtjeve i identificira područje udara. Nakon ovog procesa prosljeđuju paket testa zahtjeva timu za automatizaciju ili inženjeru za automatizaciju.

Korak 2) Tim za ručno testiranje započinje testiranje novih modula dok tim za testiranje automatizacije piše skriptu i automatizira testni slučaj.

Korak 3) Prije korištenja ove metode regresijskog testa, tim za automatizaciju identificira koji će slučajevi podržavati automatizaciju.

Korak 4) Oni pretvaraju te regresijske testove u skripte ovisno o tome koji se slučajevi mogu automatizirati.

Korak 5) Tijekom procesa skriptiranja, tim za automatizaciju upućuje na slučajeve regresijskog testa. Oni to čine jer možda ne posjeduju proizvod niti znanje o alatima i aplikacijama.

Korak 6) Kada se testne skripte dovrše, tim za automatizaciju će ih izvršiti na novoj aplikaciji.

Korak 7) Nakon izvršenja, rezultat obavještava je li test prošao ili nije prošao.

Korak 8) Ako test ne uspije, ponovno se provjerava metodom ručnog testiranja, a ako problem postoji, prijavljuje se odgovarajućem programeru.

Bilješka: Nakon što se pogreška ispravi, problem i područje utjecaja šalju se ručnom testeru na ponovno testiranje, a tim za automatizaciju ponovno izvršava skriptu.

Korak 9) Ovaj se proces nastavlja sve dok sve novododane značajke regresije ne dobiju status prolaznosti.

Evo prednosti automatiziranog regresijskog testiranja:

  • višekratnu: Njegove testne skripte mogu se ponovno koristiti u više izdanja.
  • Točnost: Alati za automatizaciju obavljaju zadatak redundantno, smanjujući mogućnost pogreške.
  • Štedi vrijeme: Brži je od procesa ručnog funkcionalnog testiranja i vremenski učinkovit.
  • Skupno izvođenje: Moguće je izvršiti sve skripte istovremeno i paralelno u automatiziranom testiranju.
  • Nije potrebno povećanje resursa: Regresijski test će se povećati sa svakim novim izdanjem. Međutim, ne morate dodavati nove resurse za automatizaciju.

Kako odabrati test slučajeve za regresijsko testiranje?

Evo kako možete odabrati pravi slučaj za regresijsko testiranje.

  • Razumjeti opseg promjena i odrediti dijelove aplikacije koji su izmijenjeni, dodani ili popravljeni. Zatim se možete usredotočiti na ta područja za regresijsko testiranje.
  • Imajte paket koji pokriva kritične funkcije i održava ih kao osnovu za regresijsko testiranje. Kao što je ranije spomenuto, vrlo je preporučljivo automatizirati ove testove.
  • Dajte prioritet testovima na temelju kritičnosti funkcionalnosti, utjecaja na krajnjeg korisnika i podataka o povijesnim nedostacima.

Najbolje prakse regresijskog testiranja

U nastavku je nekoliko ključnih praksi koje biste trebali slijediti prilikom održavanja regresijskih testova.

Automatizirajte gdje god je to moguće

Automatizirano regresijsko testiranje smanjuje napor testiranja i omogućuje brzo izvođenje velikog broja testnih slučajeva.

Kontinuirana integracija

Uključivanje regresijskog testiranja u CI/CD cjevovode osigurava da se testovi automatski pokreću svaki put kad se promjene predaju bazi koda.

Odabir testnog slučaja

Identificirajte i održavajte podskup testnih slučajeva koji predstavljaju temeljnu funkcionalnost i područja visokog rizika. Također možete odabrati one koji su izravno povezani s promjenama koje se rade jer izvođenje svih prethodnih testnih slučajeva može biti nepraktično.

Redovno izvršenje

Redovito provodite regresijske testove, posebno nakon svake promjene koda. To pomaže u identificiranju problema rano u procesu razvoja.

Upravljanje testnim podacima

Osigurajte da su testni podaci koji se koriste za regresijske testove dosljedni i upravljivi jer problemi povezani s podacima mogu utjecati na rezultate testa.

Upravljanje okolišem

Održavajte dosljedna i ponovljiva ispitna okruženja. To uključuje korištenje istih operativnih sustava, preglednika i konfiguracija uređaja koji se koriste u proizvodnji.

Snimanje i praćenje nedostataka

Sve nedostatke otkrivene tijekom regresijskog testiranja treba zabilježiti, pratiti i njima upravljati. Dajte prioritet njihovom rješavanju na temelju ozbiljnosti.

Reus Sposobnost

Stvorite testne skripte za višekratnu upotrebu i testne podatke kako biste smanjili dupliciranje i poboljšali mogućnost održavanja.

Regresijsko testiranje i upravljanje konfiguracijom

Upravljanje konfiguracijom tijekom regresijskog testiranja postaje imperativ u agilnim okruženjima gdje se kod kontinuirano modificira. Kako biste osigurali učinkovite regresijske testove, pridržavajte se sljedećeg:

  • Kod koji se testira regresijom trebao bi biti pod alatom za upravljanje konfiguracijom.
  • Tijekom faze regresijskog testa ne smiju se dopustiti nikakve promjene koda. Kod regresijskog testa mora biti otporan na promjene programera.
  • Baza podataka koja se koristi za regresijsko testiranje mora biti izolirana. Ne smiju se dopustiti izmjene baze podataka

Razlika između ponovnog testiranja i regresijskog testiranja

Ponovno testiranje znači ponovno funkcionalno testiranje kvara ili greške kako bi se osiguralo da je kôd popravljen. Ako nije popravljeno, nedostatak treba ponovno otvoriti. Ako se popravi, kvar je zatvoren.

Regresijsko testiranje znači testiranje vaše softverske aplikacije kada se podvrgne promjeni koda. To je učinjeno kako bi se osiguralo da novi kod nije utjecao na druge dijelove softvera.

U nastavku su glavne razlike između ova dva testa:

Ponovno testiranje vs regresijsko testiranje

ponovljenog testiranja Regresijsko ispitivanje
Napravljen je posebno za popravke kvarova. Regresijsko testiranje provodi se uglavnom kako bi se provjerilo jesu li promjene koda utjecale na druge funkcije.
Ponovno testiranje ne provjerava druge verzije i samo provjerava jesu li pokvarene funkcije vraćene. Fokusira se na prethodne verzije i testira rade li prethodne funkcije prema očekivanjima.
Svaki test je specifičan Regresija je generički test.
Ovo testiranje je za neuspjele testove. To je za slučajeve položenih testova.
Provjerava specifične nedostatke, tako da se ne može automatizirati. Može se automatizirati. Također se visoko preporučuje automatizacija kao što smo ranije spomenuli.
Ponovno testiranje nije uvijek dio ciklusa testiranja, jer je potrebno samo kada se pronađu greške. Regresija je uvijek dio testiranja, jer svaki put kada se kod promijeni, ovaj se test mora provesti kako bi se shvatilo je li funkcionalnost proizvoda stabilna.
To je testiranje visokog prioriteta jer se fokusira na poznate probleme. Ovo je testiranje niskog prioriteta jer se radi o ukupnom testiranju mogućih nedostataka.
Ovo testiranje ne oduzima puno vremena jer radi na određenom kvaru. Budući da uključuje veliko područje softvera, oduzima puno vremena.
Utvrđuje nedostatke s istim podacima i okruženjem s drugačijim unosom i novom verzijom. Ovo testiranje može dobiti slučajeve iz korisničkih priručnika, izvješća o kvarovima i funkcionalnih specifikacija.
Ponovno testiranje nije moguće provesti bez prvog testiranja. Radi se kada su izmjene i preinake obvezne u postojećem projektu.

Također, pogledajte potpuni popis razlika ovdje.

Prednosti i nedostaci regresijskog testiranja

Prednosti

  • Regresijsko testiranje poboljšava kvalitetu proizvoda.
  • Ovim testiranjem osiguravate da izmjene i ispravci pogrešaka nisu promijenili postojeće funkcionalnosti i značajke.
  • Budući da se regresijski kreveti pokreću na postojećim značajkama, možemo jamčiti da su pokriveni i stariji nedostaci.
  • Olakšava učinkovit razvoj proizvoda.
  • Ovim testiranjem možete postići visoko zadovoljstvo korisnika.
  • Općenito, održava stabilnost softvera.

Nedostaci

  • Trebalo bi ga provesti svaki put kada se napravi mala promjena, jer i najmanja promjena može dovesti do problema u postojećim modulima.
  • Ovaj test može biti dugotrajan ako se provodi ručno, zahtijevajući ponovljeno testiranje.

Izazovi u regresijskom testiranju

Izazovi u regresijskom testiranju

Slijede glavni problemi testiranja za provođenje regresijskog testiranja:

  • S uzastopnim regresijskim izvođenjima, paketi testova postaju prilično veliki. Zbog vremenskih i proračunskih ograničenja, cijeli skup regresijskih testova ne može se izvršiti
  • Minimiziranje skupa testova uz postizanje maksimuma ostaje izazov
  • Određivanje učestalosti regresijskih testova, tj. nakon svake izmjene ili svakog ažuriranja builda ili nakon hrpe ispravljanja grešaka, predstavlja izazov.

Primjer praktične primjene regresijskog testiranja s videom

Kliknite ovdje ako video nije dostupan

Primjer regresijskog testiranja – Amazon

Uzmite u obzir diva e-trgovine Amazon, koja je tvrtka vrijedna više milijardi dolara koja se oslanja na svoju web stranicu za stvaranje prihoda. Za održavanje njegove funkcionalnosti, pouzdanosti i izvedbe, regresijsko testiranje igra ključnu ulogu.

Uzmimo scenarij dodavanja nove kategorije proizvoda.

Zamisli to Amazon odlučuje proširiti svoju ponudu proizvoda uvođenjem nove kategorije pod nazivom "Smart Home Devices" uz postojeće kategorije kao što su "Elektronika" i "Odjeća".

Mogući slučajevi regresije bili bi:

Funkcionalnost početne stranice: Provjerite prikazuje li početna stranica novu kategoriju "Smart Home Devices" uz postojeće bez ikakvih problema s prikazom.

Navigacija po kategorijama: Osigurajte da se korisnici mogu glatko kretati do stranice kategorije "Smart Home Devices" i vratiti se na početnu stranicu bez problema.

Funkcionalnost pretraživanja: Pobrinite se da traka za pretraživanje točno vraća rezultate za pametne kućne uređaje kada ih korisnici traže i nemojte ih miješati s drugim proizvodima.

Korisnički računi: Provjerite mogu li se korisnički računi kreirati, ažurirati i koristiti za kupnju pametnih kućnih uređaja i drugih proizvoda.

Obrada plaćanja: Testirajte pristupnike plaćanja specifične za kupnje i jamčite sigurne transakcije bez grešaka.

Odziv mobilnih uređaja: Provjerite je li web mjesto i dalje osjetljivo na mobilne uređaje, omogućujući korisnicima pristup i kupnju pametnih kućnih uređaja na različitim uređajima.

Ako bilo koji od ovih slučajeva regresijskog testa ne uspije, to ukazuje na problem s postojećom funkcionalnošću web stranice zbog dodavanja nove kategorije proizvoda. Ovaj problem treba dokumentirati i odmah riješiti. Osim toga, kao Amazon nastavlja širiti svoju ponudu i mijenjati svoju web stranicu, ove regresijske testove treba izvršiti kako bi se održalo pouzdano iskustvo kupnje na mreži. Automatizirani alati za testiranje mogu pojednostaviti ovaj proces.

Zaključak

  • Značenje regresijskog testiranja – Regresijsko testiranje vrsta je softverskog testiranja koje osigurava da aplikacija i dalje funkcionira prema očekivanjima nakon poboljšanja, bilo kakvih promjena koda ili ispravaka pogrešaka.
  • Učinkovita strategija regresije može uštedjeti i vrijeme i novac za organizaciju.
  • Prema studijama slučaja, regresija je spasila do 60% kasnijih ispravaka grešaka.