Što je agilno testiranje? Metodologija, postupak & Životni ciklus

Sadržaj:

Anonim

Što je agilno testiranje?

AGILE TESTING je praksa testiranja koja slijedi pravila i principe agilnog razvoja softvera. Za razliku od metode Waterfall, agilno testiranje može započeti na početku projekta kontinuiranom integracijom između razvoja i testiranja. Metoda agilnog testiranja nije sekvencijalna (u smislu da se izvodi tek nakon faze kodiranja), već kontinuirana.

U ovom ćemo članku razgovarati

  • Agilan plan ispitivanja.
  • Agilne strategije testiranja.
  • Agile ispitni kvadrant.
  • QA izazovi s agilnim razvojem softvera.
  • Rizik automatizacije u agilnom procesu.

Agilan plan ispitivanja

Agile plan ispitivanja uključuje vrste ispitivanja izvršenih u toj iteraciji, poput zahtjeva za podacima o testiranju, infrastrukture, testnih okruženja i rezultata ispitivanja. Za razliku od modela vodopada, u agilnom modelu, plan ispitivanja je napisan i ažuriran za svako izdanje. Tipični planovi ispitivanja u agilnom programu uključuju

  1. Opseg ispitivanja
  2. Nove funkcionalnosti koje se ispituju
  3. Razina ili vrste ispitivanja na temelju složenosti značajki
  4. Ispitivanje opterećenja i performansi
  5. Razmatranje infrastrukture
  6. Plan ublažavanja ili rizika
  7. Resursiranje
  8. Isporuke i prekretnice

Agilne strategije testiranja

Životni ciklus agilnog testiranja obuhvaća četiri faze

(a) Ponavljanje 0

Tijekom prve faze ili iteracije 0 izvodite početne zadatke postavljanja. Uključuje identificiranje ljudi za testiranje, instaliranje alata za testiranje, raspoređivanje resursa (laboratorij za testiranje upotrebljivosti) itd. Sljedeći koraci postavljeni su za postizanje u Iteraciji 0

a) Utvrđivanje poslovne argumentacije za projekt

b) Utvrditi granične uvjete i opseg projekta

c) Navedite ključne zahtjeve i slučajeve upotrebe koji će potaknuti kompromise u dizajnu

d) Navedite jednu ili više arhitektura kandidata

e) Utvrđivanje rizika

f) Procjena troškova i priprema preliminarnog projekta

(b) Građevinske ponovitve

Druga faza agilne metodologije ispitivanja je Construction Iterations, većina ispitivanja odvija se tijekom ove faze. Ova se faza promatra kao skup iteracija za izgradnju koraka rješenja. Da bi to učinio, tim unutar svake iteracije implementira hibrid prakse iz XP-a, Scrum-a, agilnog modeliranja i agilnih podataka i tako dalje.

U iteraciji gradnje, agilni tim slijedi prioritiziranu praksu zahtjeva: Sa svakom iteracijom uzimaju najvažnije zahtjeve koji su preostali iz hrpe radnih predmeta i provode ih.

Ponavljanje konstrukcije podijeljeno je u dvije, potvrdno i istražno ispitivanje. Potvrdno testiranje koncentrira se na provjeru ispunjava li sustav namjeru dionika kako je do danas opisano timu, a izvodi ga tim. Dok istražno ispitivanje otkriva problem koji je potvrdni tim preskočio ili ignorirao. U istražnom testiranju tester utvrđuje potencijalne probleme u obliku priča o nedostacima. Istražno ispitivanje bavi se uobičajenim pitanjima poput integracijskog testiranja, ispitivanja opterećenja / naprezanja i sigurnosnog testiranja.

Opet, za potvrdno testiranje postoje dva aspekta testiranje programera i agilno testiranje prihvaćanja . Oboje su automatizirani kako bi omogućili kontinuirano regresijsko testiranje tijekom cijelog životnog ciklusa. Potvrdno testiranje agilni je ekvivalent testiranja specifikaciji.

Agilno testiranje prihvaćanja kombinacija je tradicionalnog funkcionalnog ispitivanja i tradicionalnog ispitivanja prihvaćenosti kao razvojni tim, a dionici to rade zajedno. Iako je testiranje programera kombinacija tradicionalnog jedinstvenog testiranja i tradicionalnog testiranja integracije usluga. Testiranje programera provjerava i aplikacijski kod i shemu baze podataka.

(c) Kraj igre ili faza prijelaza

Cilj "Oslobađanja, završetka igre" je uspješno implementirati vaš sustav u proizvodnju. U ovu fazu uključene su aktivnosti obuke krajnjih korisnika, ljudi koji pružaju podršku i operativnih ljudi. Također, uključuje marketing izdanja proizvoda, izradu sigurnosnih kopija i restauraciju, finalizaciju sustava i korisničku dokumentaciju.

Posljednja faza testiranja agilne metodologije uključuje cjelovito testiranje sustava i ispitivanje prihvaćanja. Da biste završili završnu fazu ispitivanja bez ikakvih prepreka, trebali biste strože testirati proizvod dok je u građevinskim iteracijama. Tijekom završne igre, testeri će raditi na njezinim pričama o nedostacima.

(d) Proizvodnja

Nakon faze puštanja, proizvod će prijeći u fazu proizvodnje.

Agilni ispitni kvadranti

Agilni ispitni kvadranti odvajaju cijeli proces u četiri kvadranta i pomažu razumjeti kako se provodi agilno testiranje.

a) Agile Quadrant I - Unutarnja kvaliteta koda glavni je fokus u ovom kvadrantu, a sastoji se od test slučajeva koji se temelje na tehnologiji i implementirani su za podršku timu, uključuje

1. Jedinstveni testovi

2.Komponentni testovi

b) Agile Quadrant II - Sadrži test slučajeve koji se temelje na poslu i implementirani su za podršku timu. Ovaj kvadrant usredotočuje se na zahtjeve. Vrsta ispitivanja koja se izvodi u ovoj fazi je

1. Testiranje primjera mogućih scenarija i tijekova rada

2. Testiranje korisničkog iskustva, poput prototipova

3. Ispitivanje u paru

c) Agile Quadrant III - Ovaj kvadrant daje povratne informacije kvadrantima jedan i dva. Ispitni slučajevi mogu se koristiti kao osnova za izvođenje automatiziranih ispitivanja. U ovom se kvadrantu provode mnogi krugovi iteracijskih pregleda koji grade povjerenje u proizvod. Vrsta testiranja provedenog u ovom kvadrantu je

1. Ispitivanje upotrebljivosti

2. Istraživačko ispitivanje

3. Isparivanje u paru s kupcima

4. Suradničko testiranje

5. Ispitivanje prihvaćanja korisnika

d) Agile Quadrant IV - Ovaj kvadrant koncentrira se na nefunkcionalne zahtjeve kao što su performanse, sigurnost, stabilnost itd. Uz pomoć ovog kvadranta aplikacija se izrađuje kako bi se pružila nefunkcionalna svojstva i očekivana vrijednost.

1. Nefunkcionalni testovi kao što su ispitivanje naprezanja i performansi

2. Ispitivanje sigurnosti s obzirom na provjeru autentičnosti i hakiranje

3. Ispitivanje infrastrukture

4. Testiranje migracije podataka

5. Ispitivanje skalabilnosti

6. Ispitivanje opterećenja

QA izazovi s agilnim razvojem softvera

a) Šanse za pogreške su agilnije, jer se dokumentaciji daje manji prioritet, na kraju vrši veći pritisak na QA tim

b) Nove značajke uvode se brzo, što smanjuje dostupno vrijeme ispitnim timovima da utvrde jesu li najnovije značajke u skladu sa zahtjevom i uistinu se obraćaju poslovnim odijelima

c) Ispitivači su često potrebni da igraju ulogu poluprogramera

d) Ciklusi izvršavanja testa su visoko komprimirani

e) Vrlo manje vremena za pripremu plana ispitivanja

f) Za regresijsko testiranje imat će minimalno vrijeme

g) Promjena njihove uloge od vratara kvalitete u partnera u kvaliteti

h) Promjene i nadopune zahtjeva svojstvene su agilnoj metodi, postajući najveći izazov za osiguranje kvalitete

Rizik automatizacije u agilnom procesu

  • Automatizirano korisničko sučelje pruža visoku razinu povjerenja, ali se sporo izvršava, krhko je za održavanje i skupo za izgradnju. Automatizacija možda neće značajno poboljšati produktivnost ispitivanja ako testeri ne znaju kako testirati
  • Nepouzdani testovi glavna su briga u automatiziranom testiranju. Ispravljanje neuspjelih testova i rješavanje problema vezanih uz krhke testove trebali bi biti glavni prioritet kako bi se izbjegle lažne pozitivne rezultate
  • Ako se automatizirano testiranje pokrene ručno, a ne putem CI-a (kontinuirana integracija), postoji rizik da se oni redovito ne izvode i stoga mogu uzrokovati neuspjeh testova
  • Automatizirana ispitivanja nisu zamjena za istraživačka ručna ispitivanja. Da bi se dobila očekivana kvaliteta proizvoda, potrebna je mješavina vrsta i razina ispitivanja
  • Mnogi komercijalno dostupni alati za automatizaciju nude jednostavne značajke poput automatizacije snimanja i ponovnog prikazivanja ručnih test slučajeva. Takav alat potiče testiranje putem korisničkog sučelja i dovodi do inherentno krhkih i teških za održavanje testova. Također, spremanje test slučajeva izvan sustava kontrole verzija stvara nepotrebnu složenost
  • Da bi se uštedjelo vrijeme, često se plan ispitivanja automatizacije loše planira ili neplanira, što rezultira neuspjehom testa
  • Postupci postavljanja i rušenja testa obično se propuštaju tijekom automatizacije testa, dok izvođenje ručnog testiranja, postupci postavljanja i rušenja testa zvuče besprijekorno
  • Mjerni podaci o produktivnosti, kao što su brojni testni slučajevi stvoreni ili izvršeni dnevno, mogu užasno zavarati i dovesti do velikog ulaganja u provođenje beskorisnih testova
  • Članovi agilnog automatizacijskog tima moraju biti učinkoviti savjetnici: pristupačni, kooperativni i domišljati ili će ovaj sustav brzo propasti
  • Automatizacija može predložiti i isporučiti rješenja za ispitivanje koja zahtijevaju previše stalnog održavanja u odnosu na pruženu vrijednost
  • Automatskom testiranju može nedostajati stručnost za osmišljavanje i donošenje učinkovitih rješenja
  • Automatizirano testiranje može biti toliko uspješno da im ponestane važnih problema koje treba riješiti i tako se okrenuti nevažnim problemima.

Zaključak

Agilna metodologija u testiranju softvera uključuje testiranje što je ranije moguće u životnom ciklusu razvoja softvera. Zahtijeva veliko sudjelovanje kupaca i kod za testiranje čim postane dostupan. Kôd bi trebao biti dovoljno stabilan da ga odvede na testiranje sustava. Opsežno regresijsko testiranje može se obaviti kako bi se osiguralo da su pogreške ispravljene i ispitane. Uglavnom, komunikacija između timova čini agilnim uspjehom testiranje modela !!!