Agilna metodologija u testiranju softvera
Š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.
Š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.
- Individualna i timska interakcija oko procesa i alata
- Radni softver preko opsežne dokumentacije
- Suradnja kupaca oko pregovaranja o ugovoru
- 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.
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 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:
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.
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
-
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
-
Ciklička isporuka: Glavna faza razvoja sastoji se od dva ili više ciklusa isporuke, tijekom kojih se
- Tim ažurira i usavršava plan izdanja
- Implementira podskup zahtjeva kroz jednu ili više iteracija integracije testa programa
- Integrirani proizvod isporučuje se stvarnim korisnicima
- Revodnosno plana projekta i usvojene metodologije izrade
- 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
- Vrijeme Boxing.
- MoSCoW pravila
- Prototyping
Projekt DSDM sastoji se od 7 faza
- Predprojekt
- Studija izvodljivosti
- Poslovni studij
- Iteracija funkcionalnog modela
- Dizajnirajte i izgradite iteraciju
- Izvršenje
- 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
- Modeliranje objekata domene
- Razvoj prema značajkama
- Vlasništvo komponente/klase
- Feature timovi
- inspekcije
- Upravljanje konfiguracijom
- Redovne građe
- 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.
- Uklanjanje otpada
- Pojačavanje učenja
- Odgoditi obvezu (donošenje odluke što je kasnije moguće)
- Rana dostava
- Osnaživanje tima
- Zgrada Integrity
- 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