Kako prevladati izazov agilnog testiranja

Koji su najčešći izazovi agilnog testiranja s kojima se susreću testeri softvera ili QA u agilnim projektima? Kako je biti QA u agilnom timu?

Otkako su u razvoj softvera uvedene agilne metodologije razvoja, uloga osiguranja kvalitete u agilnim projektima znatno se promijenila. Tamo je više nije tim QA sjedeći u kutu, daleko od programera i dizajnera, čekajući da razvojni tim preda dio posla na testiranje.

Jedan od najvažnijih elemenata za osiguranje kvalitete u agilnim projektima je dobro razumijevanje agilnih razvojnih metodologija i procesa. Mnoge agilne tvrtke slijede Scrum okvir za isporuku kvalitetnog softvera, zato provjerite jeste li upoznati sa Scrumom.

Izazovi agilnog testiranja

Sama bit agilnog razvoja je isporuku radnog softvera često , svaki put dodajući ili poboljšavajući malu značajku koja vrijedi za kupca. To samo po sebi predstavlja veliki izazov ne samo za testere, već i za programere i sve ostale koji su uključeni u isporuku aplikacije.

U ovom članku navodim neke od najčešćih agilnih izazova za testiranje kvalitete u agilnim projektima i kako ih prevladati.

Promjena zahtjeva / last minute promjena

Promjena zahtjeva ili ispuštanje priča tijekom sprinta nije rijetkost u agilnim projektima. To može biti noćna mora za cijeli tim, jer to znači da bi se već obavljeni posao mogao u potpunosti ukinuti ili bi trebalo izvršiti promjene u onome što je već napola gotovo.



Ove promjene zahtjeva i zahtjevi u zadnji trenutak mogu utjecati na opseg testiranja što može ometati testere.

Kako prevladati:

Ispitivači bi trebali moći odgovoriti na promjene, znajući da su u agilnim projektima promjene neizbježne. Kada se zahtjevi promijene posebno prema kraju sprinta kada nema dovoljno vremena za adekvatno testiranje, testeri bi trebali pružiti što više informacija o tome koja su ispitivanja izvršena i koji dio aplikacije nije dobro testiran, tako da tim može donijeti informiranu odluku (moguće na temelju rizika) hoće li značajku pustiti ili ne.

Pokušajte uključiti i programere u testiranje, jer bi testiranje i kvaliteta trebali biti odgovornost cijelog tima.

Nema dovoljno podataka o priči

Bit će trenutaka kada vlasnik proizvoda koji piše korisničke priče, ima neku ideju o novoj značajci, ali nema sve detalje da napiše dobar skup kriteriji prihvatljivosti za potpuno definiranje ponašanja značajke. Oni traže od razvojnog tima da izradi prototip kako bi mogli dobiti više ideja o funkcionalnosti i ponašanju značajke.

To stvara izazov za testere jer nedostaje razumijevanja i zahtjeva, pa se ne mogu stvoriti odgovarajući testni slučajevi.

Kako prevladati:

Ne trebaju vam vrlo detaljni zahtjevi da biste započeli testiranje, pa počnite razmišljati o scenarijima na visokoj razini koji testiraju koncept priče, umjesto da čekate da dobijete potpuno pojašnjenje o značajci. Sastavljanjem scenarija ispitivanja na visokoj razini, čak i kad se detalji promijene, kontekst bi i dalje trebao biti isti.

Kontinuirano ispitivanje

U agilnosti, testiranje nije faza, to je aktivnost. Testiranje započinje od samog početka, čak i prije nego što razvoj započne.

Da bi se nesmetano vozili tijekom sprinta, priče iz zaostalih predmeta trebalo je razraditi tijekom sesija dotjerivanja priča. To znači da bi QA trebao surađivati ​​s vlasnicima proizvoda kako bi naučio detalje priče, a zatim pomogao u pisanju dobrih kriterija prihvaćanja.

Pružanje ranih povratnih informacija programerima presudno je i izazovno za testere. Kao testeri, ne samo da moramo biti sigurni da nova značajka radi kako je navedeno u skladu s njezinim kriterijima prihvaćanja, moramo osigurati i da novi kôd nije slomio postojeću funkcionalnost, tj. Nismo nazadovali i imamo za brzo pružanje ovih podataka.

Kako prevladati:

Prije početka rada na razvoju osigurajte da svaka priča ima odgovarajuće kriterije prihvaćanja i da svi dobro razumiju kontekst priče.

Započnite s izradom testova (automatiziranih ili ručnih) što je prije moguće, tako da kada značajka postane dostupna za testiranje, možete odmah započeti.

Ispitivači bi trebali poticati programere da daju ranu vidljivost značajke redovitim postavljanjem u testno okruženje u kojem testeri i / ili vlasnici proizvoda mogu izvoditi svoje testove, umjesto da čekaju da značajka bude završena prije testiranja.

Automatizirajte regresijske testove kako biste ublažili dio napora na testiranju i oslobodili vrijeme za istraživačka ispitivanja.

Tehničke vještine / Automatizacija ispitivanja

Rad u agilnom okruženju znači da bi testeri trebali biti tehnički kompetentni za pomoć programerima u integracijskom testiranju i API testiranju, kao i u skriptiranju provjera automatizacije korisničkog sučelja pomoću selena ili sličnog alata.

Ako testeri potječu iz čisto ručnog ili istraživačkog okruženja, bit će teško pratiti tempo isporuke jer trebaju testirati na kontinuiranom testiranju.

Testiranje izvedbe je također važno, posebno za web aplikacije, kako bi se osiguralo da aplikacija može izdržati veliko opterećenje tijekom vršnih razdoblja. Ako vaša tvrtka nema namjenski ispitivač izvedbe, očekuje se da će i funkcionalni testeri biti uključeni u ispitivanje performansi.

Kako prevladati:

Započnite s učenjem nekoliko skriptnih ili programskih jezika, kao što su Ruby i Java - ovo su najpopularniji jezici u zajednici tehničkog testiranja.

Ako ste već upoznati s programiranjem i zapnete, potražite pomoć programera.

Alat Selenium najpopularniji je alat za testiranje automatizacije preglednika, pa ako je projekt zasnovan na webu, dobro poznavanje alata velika je prednost.

JMeter je također još jedan sjajan alat za poznavanje. To je alat za testiranje izvedbe otvorenog koda i relativno jednostavan za naučiti, pa ga preuzmite i počnite se poigravati nekim od njegovih značajki.

Više preglednika / više uređaja

Danas se arhitektura mnogih web stranica sastoji od 'back-end' i 'front-end'. Prednji dio uglavnom se temelji na JavaScriptu i CSS-u koji bi se mogli ponašati drugačije kada se gledaju iz različitih preglednika ili uređaja.

Osigurati da web stranica funkcionira kako se očekuje u svim glavnim preglednicima i popularnim mobilnim uređajima ili tabletima doista je glavni izazov za testere u agilnim projektima.

Kako prevladati:

Ovdje je automatizacija ključna. Pisanje testa i njegovo pokretanje na više preglednika je ono što automatizacija najbolje uspijeva.

Možete koristiti Selenium Grid sa Lučki radnik za paralelno upravljanje i pokretanje automatiziranih testova na više preglednika.

Još jedan izvrstan alat za testiranje u više preglednika je BrowserSync .

Komunikacija

Bez obzira na to koliko je dobar postupak ili koliko su gore navedene stavke dobro izvedene, ako među članovima tima nedostaje komunikacije ili s vlasnicima proizvoda, dizajnerima itd., Ništa neće uspjeti.

Kako prevladati:

Osigurajte učinkovitu komunikaciju između tima. Stalno stupite u kontakt s programerima i vlasnicima proizvoda.

Osigurajte da postoji postupak i da se svaki član tima pridržava tog postupka. Često se glavni problemi ili programske pogreške ne prepoznaju rano jer se postupak nije pratio i tim nije uspio međusobno komunicirati.