Agilni okvir za automatizaciju testiranja
⚡ Pametni sažetak
Agilna automatizacija testiranja primjenjuje automatizirane provjere unutar kratkih sprintova, gdje se zahtjevi mijenjaju tjedno, a paket izgrađen za stabilno izdanje u vodopadnom obliku brzo postaje teret održavanja, a ne sigurnosna mreža.
Agilno testiranje automatizacije
Agilno automatizirano testiranje je praksa korištenja automatizacije testiranja unutar agilnog procesa isporuke. Njegova je svrha učiniti razvoj softvera učinkovitijim i efikasnijim, a istovremeno zaštititi kvalitetu i kontrolirati vrijeme i resurse koje izdanje troši. Budući da se testovi pišu uz rad na značajkama, praksa uvelike ovisi o koordinaciji između programera i testera.
Otkad je agilna metodologija krenula u uklanjanje mukotrpnih realnosti modela vodopada, njezin utjecaj se osjetio u ispitivanje automatizacije također. Dvije discipline moraju se namjerno kombinirati:
Automatizacija u Waterfallu vs. automatizacija u Agileu
U tradicionalnom životnom ciklusu testiranja softvera, automatizirano testiranje postaje izvedivo nakon što je aplikacija stabilno i zahtjevi su riješeniPretpostavlja se znatnu količinu vremena, visokokvalificirani stručnjaci za automatizaciju i značajni troškovi postavljanja. Osnovna svrha je dugoročno smanjenje troškova i potvrda da nisu uvedeni novi nedostaci oko postojećih testnih slučajeva.
Automatizirano testiranje nije istraživačke prirode, jer mu je glavna uloga uštedjeti vrijeme i smanjiti troškove. Nije osmišljen za otkrivanje novih i inovativnih nedostataka. Automatizirano testiranje uglavnom potvrđuje ponašanje koje već postoji.
Stoga dva okruženja postavljaju vrlo različite zahtjeve pred testni paket:
| Faktor | Automatizacija u vodopadu | Automatizacija u agilnom okruženju |
|---|---|---|
| Stanje aplikacije | Stabilno i potpisano prije početka skriptiranja | Mijenja se svaki sprint, često tijekom skriptiranja |
| Dostupno vrijeme | Namjenska faza automatizacije | Što god stane u sprint od jednog do četiri tjedna |
| Tko skriptira | Odvojeni tim stručnjaka za automatizaciju | Tim za isporuku, testeri i programeri zajedno |
| Primarni cilj | Dugoročno smanjenje troškova u velikom regresijskom paketu | Brze povratne informacije o upravo izgrađenom prirastu |
| Rizik održavanja | Nisko, jer se zahtjevi sporo mijenjaju | Visoko, jer se zahtjevi stalno mijenjaju |
Kako automatizirati u agilnoj metodologiji
Po vlastitoj definiciji, agilna metodologija uklanja zamornu dokumentaciju kako bi se nove ideje mogle brzo implementirati i ljudi mogli slobodno komunicirati. Ona favorizira istraživački rad u odnosu na papirologiju:
Postoji stvarna kontradikcija između temeljnih filozofija agilne metodologije i automatiziranog testiranja. Agilni timovi to rješavaju sužavanjem onoga što automatiziraju, umjesto da automatiziraju manje: provjere se pišu u istom sprintu kao i značajka, spuštaju se na razinu jedinice i API-ja gdje ih je najjeftinije održavati te se pokreću na svakoj izgradnji.
Osnovne točke za agilnu automatizaciju testiranja
Prije nego što se kapacitet sprinta preda automatizaciji, odvagnite točke koje odlučuju hoće li se skripta uopće moći dovršiti:
- Vrijeme dizajniranja i kodiranja: Svaki scenarij mora biti dizajniran, kodiran i pregledan poput produkcijskog koda.
- Validacija u odnosu na testne podatke: Gotov skript mora biti validiran s postojećim testnim podacima prije nego što mu itko može vjerovati.
- Svrha testa: Funkcionalni i regresijski testovi imaju različite troškove održavanja i različite vijekove trajanja.
- Sprint Duljina: Sprint traje jedan do četiri tjedna, najčešće dva, što rijetko ostavlja prostora za veliki napor u pisanju skripti.
Drugi faktor je promjena zahtjeva. Agilni pristup je, po definiciji, tehnika reagiranja na promjene koje pokreću kupci, pa se stoga lako prilagođava tijekom razvoja.
Automatizirano testiranje, nasuprot tome, najkorisnije je za stabilne zahtjeve. Ne uklapa se dobro u stalne promjene agilne metodologije, zbog čega izbor onoga što automatizirati nosi veću težinu od količine automatizacije.
Agilni alati za automatizaciju
Odabir relevantnog alat za automatizaciju je još jedan važan faktor u prihvaćanju automatiziranog testiranja unutar agilne metodologije. Licencirani alati za automatizaciju, na primjer, nameću stroge kriterije sigurnosnog pristupa različitim vrstama i razinama korisnika, što ograničava tko može pristupiti resursima koji pripadaju tom okviru za automatizaciju testiranja.
Agilna metodologija, nasuprot tome, naglašava otvorenu suradnju i interakciju između članova tima. Politike restriktivnog pristupa djeluju protiv te kohezije i mogu proizvesti rezultate koji nisu ni korisni ni pogoduju uspjehu projekta.
Prioritet je isporučiti kvalitetne skripte za automatizaciju unutar vremena koje dopušta agilni proces. Pažljivo odaberite kandidate za testne slučajeve kako bi se rezultirajuće skripte mogle ponovno koristiti kasnije i dalje biti dovršene unutar zadanog vremena.
Čak i u agilnom okruženju neki testovi i dalje moraju biti pokriveni - posebno regresijski testovi. Sljedeći odjeljak razmatra situacije u kojima se automatizirano testiranje uklapa i kako se svako od njih preslikava na agilno testiranje.
Testiranje automatizacije Concepts Kada se primjenjuje na agilni pristup
Donja tablica uzima sedam klasičnih uvjeta koji opravdavaju automatizaciju testa i daje agilni odgovor za svaki od njih. Samo se tri jasno prevode u agilni sprint, a sva tri su regresijskog oblika:
| # | Koncept automatiziranog testiranja | Odgovor o agilnoj metodologiji |
|---|---|---|
| 1 | Test se mora često ponavljati. | Tu dolazi do izražaja koncept regresijskog testiranja. |
| 2 | Tijek rada testa i njegova validacija razvijaju se i mijenjaju polako tijekom vremena. | Nije korisno za agilno testiranje, jer agilno testiranje znači česte promjene zahtjeva. |
| 3 | Test validira poslovni proces ili tijek rada, a ne izgled i dojam, boju ili raspored tablice. | Ovaj scenarij se može smatrati dijelom ručnog testiranja. |
| 4 | Test daje rezultate za regulatorno tijelo koje zahtijeva da se ti rezultati elektronički zabilježe i arhiviraju kao formalni dokaz usklađenosti. | Nije prikladno za agilu metodologiju, jer iscrpna razina dokumentacije nije dio agilne metodologije. |
| 5 | Test je vrlo repetitivan ili ima mnogo koraka koji se moraju izvesti svaki put na potpuno isti način, pri čemu se mora izbjeći ručni zamor ispitivača. | Nije prikladno za agilnu metodologiju. |
| 6 | Rezultat prolaza ili pada testa je relativno lako odrediti i zabilježiti pomoću odabranog alata za automatizaciju. | Pogodno za regresijske testove tijekom agilnog testiranja koji zahtijevaju repetitivne i naporne sposobnosti. |
| 7 | Test mora unijeti značajnu količinu podataka u aplikaciju. | Može se uključiti kao regresijsko testiranje. |

.jpg)


