Agilna metodologija u testiranju softvera

Agilna metodologija

Što je agilna metodologija u testiranju?

Agilna metodologija znači praksa koja promiče kontinuirano ponavljanje razvoja i testiranja tijekom životnog ciklusa razvoja softvera projekta. U Agilnom modelu u testiranju softvera, aktivnosti razvoja i testiranja su istodobne, za razliku od Waterfall modela.

Agilna metodologija
Agilna metodologija

Što je agilni razvoj softvera?

Korištenje električnih romobila ističe Razvoj agilnog softvera metodologija je jedan od najjednostavnijih i najučinkovitijih procesa pretvaranja vizije poslovne potrebe u softverska rješenja. Agilni je izraz koji se koristi za opisivanje pristupa razvoju softvera koji uključuje kontinuirano planiranje, učenje, poboljšanje, timsku suradnju, evolucijski razvoj i ranu isporuku. Potiče fleksibilne odgovore na promjene.

Agilni razvoj softvera naglašava četiri temeljne vrijednosti.

  1. Individualna i timska interakcija oko procesa i alata
  2. Radni softver preko opsežne dokumentacije
  3. Suradnja kupaca oko pregovaranja o ugovoru
  4. Odgovaranje na promjenu prema planu

Agilni model protiv modela vodopada

Agilni i vodopadni model dvije su različite metode za proces razvoja softvera. Iako se razlikuju u svom pristupu, obje su metode ponekad korisne, ovisno o zahtjevima i vrsti projekta.

Agilni model Model slapa
Agilna metodologija u definiciji testiranja softvera: Agilne metodologije predlažu inkrementalni i iterativni pristup dizajnu softvera Model vodopada: Razvoj softvera teče uzastopno od početne do krajnje točke.
Korištenje električnih romobila ističe Agilni proces u testiranju softvera razbijen je na pojedinačne modele na kojima dizajneri rade Proces dizajna nije podijeljen na pojedinačne modele
Kupac ima rane i česte prilike pogledati proizvod i donijeti odluku i promijeniti projekt Kupac može vidjeti proizvod tek na kraju projekta
Agilni model u testiranju smatra se nestrukturiranim u usporedbi s modelom vodopada Model vodopada je sigurniji jer je tako orijentiran prema planu
Mali projekti mogu se vrlo brzo realizirati. Za velike projekte teško je procijeniti vrijeme razvoja. Sve vrste projekata mogu se procijeniti i dovršiti.
Greška se može popraviti usred projekta. Tek na kraju se cijeli proizvod testira. Ako se pronađe pogreška u zahtjevu ili se moraju izvršiti bilo kakve promjene, projekt mora započeti ispočetka
Proces razvoja je iterativan, a projekt se izvodi u kratkim (2-4) tjednim iteracijama. Planiranje je vrlo manje. Proces razvoja je fazni, a faza je mnogo veća od iteracije. Svaka faza završava detaljnim opisom sljedeće faze.
Dokumentacija ima manji prioritet od razvoj softvera Dokumentacija je glavni prioritet i čak se može koristiti za obuku osoblja i nadogradnju softvera s drugim timom
Svaka iteracija ima svoju fazu testiranja. Omogućuje implementaciju regresijskog testiranja svaki put kada se objave nove funkcije ili logika. Tek nakon faze razvoja, provodi se faza testiranja jer pojedini dijelovi nisu u potpunosti funkcionalni.
U agilnom testiranju, kada iteracija završi, značajke proizvoda koje se mogu isporučiti isporučuju se kupcu. Nove značajke mogu se koristiti odmah nakon otpreme. Korisno je kada imate dobar kontakt s kupcima. Sve razvijene značajke isporučuju se odjednom nakon duge faze implementacije.
Testeri i programeri rade zajedno Testeri rade odvojeno od programera
Na kraju svakog sprinta izvršava se prihvaćanje korisnika Prihvaćanje korisnika je izvodi na kraju projekta.
Zahtijeva blisku komunikaciju s programerima i zajedničku analizu zahtjeva i planiranja Programer se ne uključuje u zahtjeve i proces planiranja. Obično, vremenska kašnjenja između testova i kodiranja

Također provjerite: - Agile vs Waterfall: Upoznajte razliku između metodologija

Agilni proces

Provjerite u nastavku Agilna metodologija procesa za brzu isporuku uspješnih sustava.

Agilni model procesa
Agilni model procesa

Postoje razni Agilne metode prisutni u agilnom testiranju, a oni su navedeni u nastavku:

Ološ

SCRUM je agilna razvojna metoda koja se posebno usredotočuje na upravljanje zadacima unutar timskog razvojnog okruženja. U osnovi, Scrum je izveden iz aktivnosti koja se događa tijekom ragbi utakmice. Scrum vjeruje u osnaživanje razvojnog tima i zagovara rad u malim timovima (recimo - 7 do 9 članova). Agile i Scrum sastoje se od tri uloge, a njihove su odgovornosti objašnjene na sljedeći način:

Scrum metoda
Scrum metoda
  • Scrum Master
    • Scrum Master odgovoran je za postavljanje tima, sprint sastanak i uklanjanje prepreka napretku
  • Vlasnik proizvoda
    • Vlasnik proizvoda stvara zaostatak proizvoda, daje prioritet zaostatku i odgovoran je za isporuku funkcionalnosti u svakoj iteraciji
  • Scrum tim
    • Tim sam upravlja svojim radom i organizira posao kako bi završio sprint ili ciklus

Broj zaostalih proizvoda

Ovo je repozitorij u kojem se prate zahtjevi s pojedinostima o broju zahtjeva (korisničkih priča) koje treba ispuniti za svako izdanje. Vlasnik proizvoda bi ga trebao održavati i odrediti mu prioritete te ga treba distribuirati scrum timu. Tim također može zatražiti dodavanje, izmjenu ili brisanje novog zahtjeva

Scrum prakse

Prakse su detaljno opisane:

Scrum prakse
Scrum prakse

Tijek procesa Scrum metodologija:

Tijek procesa od scrum testiranje je kao što slijedi:

  • Svaka iteracija scruma poznata je kao Sprint
  • Product backlog je popis u koji se unose svi detalji kako bi se dobio krajnji proizvod
  • Tijekom svakog Sprint, odabrane su i pretvorene top korisničke priče o Product backlogu Sprint zaostatak
  • Tim radi na definiranom sprinterskom zaostatku
  • Tim provjerava svakodnevni rad
  • Na kraju sprinta tim isporučuje funkcionalnost proizvoda

Ekstremno programiranje (XP)

Tehnika ekstremnog programiranja je od velike pomoći kada se stalno mijenjaju zahtjevi ili zahtjevi kupaca ili kada nisu sigurni u funkcionalnost sustava. Zagovara česta "izdanja" proizvoda u kratkim razvojnim ciklusima, što inherentno poboljšava produktivnost sustava i također uvodi kontrolnu točku na kojoj se bilo koji zahtjevi korisnika mogu lako implementirati. XP razvija softver koji klijenta drži u cilju.

Ekstremno programiranje
Ekstremno programiranje

Poslovni zahtjevi su sabrani u smislu priča. Sve te priče pohranjene su na mjestu koje se zove parkiralište.

U ovoj vrsti metodologije, izdanja se temelje na kraćim ciklusima koji se nazivaju iteracije s rasponom od 14 dana. Svaka iteracija uključuje faze poput kodiranja, testiranja jedinice i testiranja sustava gdje će se u svakoj fazi neke manje ili veće funkcionalnosti ugraditi u aplikaciju.

Faze eXtreme programiranja:

U Agile XP metodi dostupno je 6 faza, a one su objašnjene na sljedeći način:

Planiranje

  • Identifikacija dionika i sponzora
  • Infrastrukturni zahtjevi
  • Sigurnost povezane informacije i prikupljanje
  • Ugovori o razini usluge i njihovi uvjeti

Analiza

  • Snimanje priča na parkiralištu
  • Dajte prioritet pričama na parkiralištu
  • Čišćenje priča za procjenu
  • Definirajte SPAN ponavljanja (vrijeme)
  • Planiranje resursa za razvojne i QA timove

dizajn

  • Podjela zadataka
  • Priprema scenarija testa za svaki zadatak
  • Okvir za automatizaciju regresije

Izvršenje

  • Kodiranje
  • Izvršenje ručnih testnih scenarija
  • Generiranje izvješća o kvarovima
  • Pretvorba ručnih u automatizirane regresijske testne slučajeve
  • Pregled srednje iteracije
  • Pregled kraja iteracije

Pakiranje

  • Mala izdanja
  • Demo snimke i recenzije
  • Razvijte nove priče na temelju potreba
  • Poboljšanja procesa na temelju komentara pregleda na kraju iteracije

Zatvaranje

  • Pilotno lansiranje
  • Trening
  • Pokretanje proizvodnje
  • Osiguranje SLA jamstva
  • Revtj. SOA strategija
  • Podrška proizvodnji

Dostupne su dvije ploče scenarija za praćenje rada na dnevnoj bazi, a one su navedene u nastavku za referencu.

  • Karton priča
    • Ovo je tradicionalni način prikupljanja svih priča na ploči u obliku bilješki za praćenje dnevnih XP aktivnosti. Budući da ova ručna aktivnost zahtijeva više truda i vremena, bolje je prijeći na online obrazac.
  • Online Storyboard
    • Online alat Storyboard može se koristiti za pohranjivanje priča. Može ga koristiti nekoliko timova u različite svrhe.

Kristalne metodologije

Kristalna metodologija temelji se na tri koncepta

  1. Iznajmljivanje: Različite aktivnosti uključene u ovu fazu su stvaranje razvojnog tima, izvođenje preliminarne analize izvedivosti, razvoj početnog plana i fino podešavanje metodologije razvoja
  2. Ciklička isporuka: Glavna faza razvoja sastoji se od dva ili više ciklusa isporuke, tijekom kojih se
    1. Tim ažurira i usavršava plan izdanja
    2. Implementira podskup zahtjeva kroz jednu ili više iteracija integracije testa programa
    3. Integrirani proizvod isporučuje se stvarnim korisnicima
    4. Revodnosno plana projekta i usvojene metodologije izrade
  3. Zamotati: Aktivnosti koje se provode u ovoj fazi su implementacija u korisničko okruženje, provode se pregledi i refleksije nakon implementacije.

Metoda dinamičkog razvoja softvera (DSDM)

DSDM je a Brz razvoj aplikacija (RAD) pristup razvoju softvera i pruža agilni okvir za isporuku projekta. Važan aspekt DSDM-a je da se od korisnika zahtijeva aktivna uključenost, a timovi imaju moć donošenja odluka. Česta isporuka proizvoda postaje aktivni fokus s DSDM-om. Tehnike koje se koriste u DSDM su

  1. Vrijeme Boxing.
  2. MoSCoW pravila
  3. Prototyping

Projekt DSDM sastoji se od 7 faza

  1. Predprojekt
  2. Studija izvodljivosti
  3. Poslovni studij
  4. Iteracija funkcionalnog modela
  5. Dizajnirajte i izgradite iteraciju
  6. Izvršenje
  7. Post-projekt

Razvoj vođen značajkama (FDD)

Ova je metoda usmjerena na značajke "dizajniranja i izgradnje". Za razliku od drugih Agile metoda u softverskom inženjerstvu, FDD opisuje vrlo specifične i kratke faze rada koje se moraju izvršiti zasebno po značajci. Uključuje pregled domene, pregled dizajna, promicanje izgradnje, pregled koda i dizajn. FDD razvija proizvod koji prati stvari u cilju

  1. Modeliranje objekata domene
  2. Razvoj prema značajkama
  3. Vlasništvo komponente/klase
  4. Feature timovi
  5. inspekcije
  6. Upravljanje konfiguracijom
  7. Redovne građe
  8. Vidljivost napretka i rezultata

Lean razvoj softvera

Lean metoda razvoja softvera temelji se na principu “Just in time production”. Cilj mu je povećati brzinu razvoja softvera i smanjiti troškove. Lean razvoj može se sažeti u sedam koraka.

  1. Uklanjanje otpada
  2. Pojačavanje učenja
  3. Odgoditi obvezu (donošenje odluke što je kasnije moguće)
  4. Rana dostava
  5. Osnaživanje tima
  6. Zgrada Integrity
  7. Optimizirajte cjelinu

Kanban

Kanban izvorno proizašla iz japanske riječi koja znači kartica koja sadrži sve informacije koje je potrebno učiniti na proizvodu u svakoj fazi na njegovom putu do završetka. Ovaj okvir ili metoda prilično je usvojena u metodi testiranja softvera, posebno u Agile konceptima.

Scrum protiv Kanbana

Ološ Kanban
U tehnici scrum test se mora podijeliti tako da se može završiti unutar jednog sprinta Nije propisana određena veličina artikla
Propisuje prioritetne zaostatke proizvoda Određivanje prioriteta nije obavezno
Scrum tim obvezuje se na određenu količinu posla za ponavljanje Obveza nije obavezna
Propisan je dijagram izgaranja Nije propisana određena veličina artikla
Između svakog sprinta, scrum ploča se poništava Kanban ploča je postojana. Ograničava broj stavki u stanju tijeka rada
Ne može dodati stavke iteraciji koja je u tijeku Može dodavati stavke kad god je dostupan kapacitet
WIP ograničen neizravno WIP ograničen izravno
Propisane su vremenski ograničene iteracije Iteracije s vremenskim okvirom nisu obavezne

Također provjerite: - Kanban vs. Scrum: Koja je razlika?

Agile metrika

Mjerni podaci koji se mogu prikupiti za učinkovito korištenje Agile-a su:

  • Faktor povlačenja
    • Napor u satima koji ne doprinose cilju sprinta
    • Faktor povlačenja može se poboljšati smanjenjem broja zajedničkih resursa, smanjenjem količine rada koji ne doprinosi
    • Nove procjene mogu se povećati za postotak faktora otpora - Nova procjena = (Stara procjena + faktor otpora)
  • Brzina
    • Količina zaostataka (korisničkih priča) pretvorena u funkcionalnost sprinta koja se može isporučiti
  • Broj dodanih jediničnih testova
  • Vremenski interval potreban za dovršetak dnevne izgradnje
  • Greške otkrivene u iteraciji ili u prethodnim iteracijama
  • Propuštanje proizvodne greške