Ketterä metodologia ohjelmistotestauksessa
Mikä on ketterä metodologia testauksessa?
Ketterä metodologia tarkoittaa käytäntöä, joka edistää jatkuva iterointi kehitystä ja testausta koko projektin ohjelmistokehityksen elinkaaren ajan. Ohjelmistotestauksen ketterässä mallissa sekä kehitys- että testaustoiminnot ovat samanaikaisia, toisin kuin Waterfall-mallissa.

Mitä on ketterä ohjelmistokehitys?
- Kattava ohjelmistokehitys metodologia on yksi yksinkertaisimmista ja tehokkaimmista prosesseista muuttaa visio liiketoiminnan tarpeesta ohjelmistoratkaisuiksi. Ketterä on termi, jota käytetään kuvaamaan ohjelmistokehityksen lähestymistapoja, jotka käyttävät jatkuvaa suunnittelua, oppimista, parantamista, tiimiyhteistyötä, kehityskehitystä ja varhaista toimitusta. Se rohkaisee joustaviin reagointiin muutoksiin.
Ketterä ohjelmistokehitys painottaa neljää ydinarvoa.
- Yksilö- ja tiimivuorovaikutus prosesseissa ja työkaluissa
- Toimiva ohjelmisto kattavan dokumentaation avulla
- Asiakasyhteistyö sopimusneuvotteluissa
- Vaihtoon vastaaminen suunnitelman mukaisesti
Ketterä malli vs vesiputousmalli
Ketterä ja vesiputousmalli ovat kaksi eri menetelmää ohjelmistokehitysprosessiin. Vaikka molemmat menetelmät eroavat lähestymistavastaan, ne ovat toisinaan hyödyllisiä tarpeista ja projektin tyypistä riippuen.
Ketterä malli | Vesiputousmalli |
---|---|
Ketterä metodologia ohjelmistotestauksen määrittelyssä: Ketterät metodologiat ehdottavat inkrementaalista ja iteratiivista lähestymistapaa ohjelmistosuunnitteluun | Vesiputousmalli: Ohjelmiston kehitys kulkee peräkkäin aloituspisteestä päätepisteeseen. |
- Ketterä prosessi ohjelmistotestauksessa on jaettu yksittäisiin malleihin, joiden parissa suunnittelijat työskentelevät | Suunnitteluprosessia ei ole jaettu yksittäisiin malleihin |
Asiakkaalla on varhaisessa ja usein mahdollisuudet katsoa tuotetta ja tehdä päätöksiä ja muutoksia projektiin | Asiakas näkee tuotteen vasta projektin lopussa |
Ketterä malli testauksessa katsotaan vesiputousmalliin verrattuna rakenteettomana | Vesiputousmallit ovat turvallisempia, koska ne ovat niin suunnitelmakeskeisiä |
Pienet projektit voidaan toteuttaa erittäin nopeasti. Suurissa projekteissa kehitysaikaa on vaikea arvioida. | Kaikenlaisia projekteja voidaan arvioida ja toteuttaa. |
Virhe voidaan korjata kesken projektin. | Vasta lopussa koko tuote testataan. Jos vaatimusvirhe löytyy tai muutoksia on tehtävä, projekti on aloitettava alusta |
Kehitysprosessi on iteratiivinen ja projekti toteutetaan lyhyissä (2-4) viikon iteraatioissa. Suunnittelu on hyvin vähäistä. | Kehitysprosessi on vaiheittainen, ja vaihe on paljon suurempi kuin iteraatio. Jokainen vaihe päättyy seuraavan vaiheen yksityiskohtaiseen kuvaukseen. |
Asiakirjat ovat vähemmän tärkeitä kuin ohjelmistokehitys | Dokumentointi on etusijalla, ja sitä voidaan käyttää jopa henkilöstön kouluttamiseen ja ohjelmiston päivittämiseen toisen tiimin kanssa |
Jokaisella iteraatiolla on oma testausvaiheensa. Se mahdollistaa regressiotestauksen toteuttamisen aina, kun uusia toimintoja tai logiikkaa julkaistaan. | Vasta kehitysvaiheen jälkeen suoritetaan testausvaihe, koska erilliset osat eivät ole täysin toimivia. |
Ketterissä testauksissa iteroinnin päätyttyä tuotteen toimitettavat ominaisuudet toimitetaan asiakkaalle. Uudet ominaisuudet ovat käytettävissä heti toimituksen jälkeen. Siitä on hyötyä, kun sinulla on hyvä kontakti asiakkaisiin. | Kaikki kehitetyt ominaisuudet toimitetaan kerralla pitkän käyttöönottovaiheen jälkeen. |
Testaajat ja kehittäjät työskentelevät yhdessä | Testaajat työskentelevät erillään kehittäjistä |
Jokaisen sprintin lopussa suoritetaan käyttäjän hyväksyntä | Käyttäjän hyväksyntä on suoritettu projektin lopussa. |
Se edellyttää tiivistä yhteydenpitoa kehittäjien kanssa ja yhdessä analysointia tarpeisiin ja suunnitteluun | Kehittäjä ei osallistu vaatimus- ja suunnitteluprosessiin. Yleensä testien ja koodauksen välillä on viiveitä |
Tarkista myös: - Ketterä vs vesiputous: Tunne menetelmien ero
Ketterä prosessi
Tarkista alla Ketterä menetelmä prosessi onnistuneiden järjestelmien toimittamiseksi nopeasti.
On olemassa erilaisia Ketterät menetelmät läsnä ketterässä testauksessa, ja ne on lueteltu alla:
Tungos
SCRUM on ketterä kehitysmenetelmä, joka keskittyy erityisesti tehtävien hallintaan tiimipohjaisessa kehitysympäristössä. Pohjimmiltaan Scrum on peräisin toiminnasta, joka tapahtuu rugby-ottelun aikana. Scrum uskoo kehitystiimin voimaannuttamiseen ja kannattaa pienryhmissä (esim. 7-9 jäsentä) työskentelyä. Agile ja Scrum koostuvat kolmesta roolista, ja niiden vastuut on selitetty seuraavasti:
-
Scrum Master
- Scrum Master vastaa joukkueen perustamisesta, sprinttikokouksesta ja poistaa edistymisen esteitä
-
Tuotteen omistaja
-
Tuotteen omistaja luo tuotevaraston, priorisoi ruuhkat ja on vastuussa toiminnallisuuden toimittamisesta jokaisessa iteraatiossa
-
-
Scrum-tiimi
-
Tiimi hoitaa omat työnsä ja organisoi työt sprintin tai pyöräilyn suorittamiseksi
-
Tuote-arkisto
Tämä on arkisto, jossa seurataan vaatimuksia ja jokaista julkaisua varten täytettäviä vaatimuksia (käyttäjätarinoita). Tuotteen omistajan tulee ylläpitää ja priorisoida sitä, ja se tulee jakaa scrum-tiimille. Tiimi voi myös pyytää uuden vaatimuksen lisäystä tai muutosta tai poistamista
Scrum-käytännöt
Käytännöt on kuvattu yksityiskohtaisesti:
Scrum-metodologioiden prosessikulku:
Prosessin kulku scrum-testaus on seuraava:
- Jokainen scrumin iteraatio tunnetaan nimellä Sprint
- Tuotevaraus on luettelo, johon syötetään kaikki tiedot lopputuotteen saamiseksi
- Jokaisen aikana Sprint, valitaan tuotekannan suosituimmat käyttäjätarinat ja muunnetaan niistä Sprint kasauma
- Tiimi työskentelee määritellyn sprintin ruuhkan mukaisesti
- Ryhmä tarkistaa päivittäisen työn
- Sprintin lopussa tiimi toimittaa tuotteen toimivuuden
Extreme Programming (XP)
Extreme Programming -tekniikka on erittäin hyödyllinen, kun asiakkaiden vaatimukset tai vaatimukset muuttuvat jatkuvasti tai kun he eivät ole varmoja järjestelmän toimivuudesta. Se suosittelee tuotteen toistuvaa "julkaisua" lyhyissä kehityssykleissä, mikä parantaa luonnostaan järjestelmän tuottavuutta ja ottaa käyttöön myös tarkistuspisteen, jossa asiakkaan vaatimukset voidaan helposti toteuttaa. XP kehittää ohjelmistoja, jotka pitävät asiakkaan tavoitteessa.
Liiketoiminnan vaatimukset on koottu tarinoihin. Kaikki nuo tarinat on tallennettu paikkaan, jota kutsutaan parkkipaikaksi.
Tämän tyyppisessä menetelmässä julkaisut perustuvat lyhyempiin jaksoihin, joita kutsutaan iteraatioiksi, joiden ajanjakso on 14 päivää. Jokainen iteraatio sisältää vaiheita, kuten koodauksen, yksikkötestauksen ja järjestelmätestauksen, joissa jokaisessa vaiheessa rakennetaan sovellukseen pieniä tai merkittäviä toimintoja.
eXtreme-ohjelmoinnin vaiheet:
Agile XP -menetelmässä on 6 vaihetta, ja ne selitetään seuraavasti:
Suunnittelu
-
Sidosryhmien ja sponsorien tunnistaminen
-
Infrastruktuurivaatimukset
-
Turvallisuus asiaan liittyvää tietoa ja keräämistä
-
Palvelutasosopimukset ja sen ehdot
analyysi
-
Tarinoiden taltiointi parkkipaikalla
-
Priorisoi tarinat parkkipaikalla
-
Tarinoiden pyyhkiminen arvioita varten
-
Määritä iteraatio SPAN (aika)
-
Resurssisuunnittelu sekä kehitys- että laadunvarmistustiimeille
Design
-
Erota tehtävät
-
Testiskenaarion valmistelu jokaiselle tehtävälle
-
Regression Automation Framework
Teloitus
-
Koodaus
-
Manuaalisten testiskenaarioiden suorittaminen
-
Vikaraportin luominen
-
Manuaalisten regressiotestitapausten muuntaminen automaatioon
-
Mid Iteration -katsaus
-
Iteraatiotarkistuksen loppu
Kääriminen
-
Pienet julkaisut
-
Demot ja arvostelut
-
Kehitä uusia tarinoita tarpeen mukaan
-
Prosessin parannukset iteroinnin lopun tarkistuskommenttien perusteella
Sulkeminen
-
Pilot Launch
-
koulutus
-
Tuotannon käynnistäminen
-
SLA-takuun vakuutus
-
RevSOA-strategia
-
Tuotantotuki
Saatavilla on kaksi kuvakäsikirjoitusta työn seuraamiseen päivittäin, ja ne on lueteltu alla viitteeksi.
-
Tarina pahvi
-
Tämä on perinteinen tapa kerätä kaikki tarinat taululle muistilappujen muodossa päivittäisten XP-toimintojen seuraamiseksi. Koska tämä manuaalinen toiminta vaatii enemmän vaivaa ja aikaa, on parempi vaihtaa verkkolomakkeeseen.
-
-
Online-käsikirjoitus
-
Tarinoiden tallentamiseen voidaan käyttää verkkotyökalua Storyboard. Useat joukkueet voivat käyttää sitä eri tarkoituksiin.
-
Crystal Methodologies
Crystal Methodology perustuu kolmeen käsitteeseen
-
Rahtaus: Tämän vaiheen eri toimintoja ovat kehitystiimin luominen, alustavan toteutettavuusanalyysin tekeminen, alustavan suunnitelman laatiminen ja kehitysmetodologian hienosäätö
-
Syklinen toimitus: Pääkehitysvaihe koostuu kahdesta tai useammasta toimitusjaksosta, joiden aikana
- Tiimi päivittää ja tarkentaa julkaisusuunnitelmaa
- Toteuttaa vaatimusten alijoukon yhden tai useamman ohjelman testiintegroinnin iteraatiolla
- Integroitu tuote toimitetaan todellisille käyttäjille
- Revhankesuunnitelman ja hyväksytyn kehittämismenetelmän
- Paketoida: Tässä vaiheessa suoritettavat toiminnot ovat käyttöönotto käyttäjäympäristössä, käyttöönoton jälkeiset tarkistukset ja pohdinnat.
Dynaaminen ohjelmistokehitysmenetelmä (DSDM)
DSDM on a Nopea sovelluskehitys (RAD) lähestymistapa ohjelmistokehitykseen ja tarjoaa ketterän projektin toimituskehyksen. Tärkeä näkökohta DSDM:ssä on, että käyttäjien on oltava aktiivisesti mukana ja tiimeille annetaan valta tehdä päätöksiä. Toistuvasta tuotteen toimituksesta tulee DSDM:n aktiivinen painopiste. DSDM:ssä käytetyt tekniikat ovat
- Aika: Boxta
- Moskovan säännöt
- Prototyypit
DSDM-projekti koostuu 7 vaiheesta
- Esiprojekti
- Toteutettavuustutkimus
- Liiketoimintaa koskeva tutkimus
- Toiminnallisen mallin iteraatio
- Suunnittele ja rakenna iteraatio
- Täytäntöönpano
- Projektin jälkeinen
Ominaisuuksiin perustuva kehitys (FDD)
Tämä menetelmä keskittyy "suunnitteluun ja rakentamiseen" liittyviin ominaisuuksiin. Toisin kuin muut ketterät menetelmät ohjelmistosuunnittelussa, FDD kuvaa hyvin erityisiä ja lyhyitä työvaiheita, jotka on suoritettava erikseen ominaisuuskohtaisesti. Se sisältää verkkotunnuksen läpikäynnin, suunnittelun tarkastuksen, rakentamisen edistämisen, kooditarkastuksen ja suunnittelun. FDD kehittää tuotteen pitämisen seuraavia asioita tavoitteessa
- Domain-objektien mallinnus
- Kehitys ominaisuuden mukaan
- Komponentin/luokan omistus
- Ominaisuusjoukkueet
- tarkastukset
- Configuration Management
- Tavalliset rakennukset
- Edistyksen ja tulosten näkyvyys
Lean-ohjelmistokehitys
Lean ohjelmistokehitysmenetelmä perustuu periaatteeseen ”Just in time production”. Sen tavoitteena on nopeuttaa ohjelmistokehitystä ja alentaa kustannuksia. Lean-kehitys voidaan tiivistää seitsemään vaiheeseen.
- Jätteiden poistaminen
- Oppimisen vahvistaminen
- Lykkää sitoumusta (päätä mahdollisimman myöhään)
- Varhainen toimitus
- Vahvistaa joukkuetta
- Rakentaminen Integrity
- Optimoi kokonaisuus
Kanban
Kanban syntyi alun perin japaninkielisestä sanasta, joka tarkoittaa korttia, joka sisältää kaikki tiedot, jotka on tehtävä tuotteelle sen valmistumispolun jokaisessa vaiheessa. Tämä viitekehys tai menetelmä on varsin omaksuttu ohjelmistojen testausmenetelmässä, erityisesti ketterissä konsepteissa.
Scrum vs Kanban
Tungos | Kanban |
---|---|
Scrum-tekniikassa testit on jaettava niin, että ne voidaan suorittaa yhden sprintin aikana | Mitään erityistä tavarakokoa ei ole määrätty |
Määräää priorisoidun tuotekannan | Priorisointi on valinnaista |
Scrum-tiimi sitoutuu tiettyyn määrään työtä iteraatiota varten | Sitoutuminen on vapaaehtoista |
Palamiskaavio on määrätty | Mitään erityistä tavarakokoa ei ole määrätty |
Jokaisen sprintin välissä scrum board nollataan | Kanban-levy on sitkeä. Se rajoittaa työnkulun tilassa olevien kohteiden määrää |
Se ei voi lisätä kohteita käynnissä olevaan iteraatioon | Se voi lisätä kohteita aina, kun kapasiteettia on käytettävissä |
WIP rajoitettu epäsuorasti | WIP rajoitettu suoraan |
Timeboxed iteraatiot määrätty | Timeboxed iteraatiot valinnaiset |
Tarkista myös: - Kanban vs. Scrum: Mitä eroa on?
Ketterät mittarit
Mittarit, joita voidaan kerätä Agilen tehokkaaseen käyttöön, ovat:
-
Vetokerroin
-
Pyrkimys tunteina, jotka eivät edistä sprintin tavoitetta
-
Vetokerrointa voidaan parantaa vähentämällä jaettujen resurssien määrää ja vähentämällä ei-avustettavan työn määrää
-
Uusia arvioita voidaan korottaa vetokertoimella - Uusi arvio = (Vanha arvio+vastuskerroin)
-
-
Nopeus
-
Ruuhkan (käyttäjätarinoiden) määrä, joka on muunnettu sprintin toimitettaviksi toiminnoiksi
-
-
Yksikkötestien lukumäärä lisätty
-
Päivittäiseen rakentamiseen kuluva aikaväli
-
Iteraatiossa tai aiemmissa iteraatioissa havaitut viat
-
Tuotantovirheen vuoto