Ketterä metodologia ohjelmistotestauksessa
⚡ Älykäs yhteenveto
Ketterä menetelmä ohjelmistotestauksessa sisältää jatkuvan kehityksen ja testauksen iteroinnin koko ohjelmiston elinkaaren ajan, mikä varmistaa samanaikaisen toiminnan ja nopean sopeutumisen muuttuviin vaatimuksiin, toimittaen mahdollisimman vähän toimitettavia ominaisuuksia lyhyissä sykleissä.
Mikä on ketterä metodologia testauksessa?
Ketterä menetelmä on 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.

👉 Ilmoittaudu ilmaiseen live-ohjelmistotestausprojektiin
Ketterän testauksen ydinperiaatteet ja arvot
Ketterää testausta ohjaa joukko periaatteita ja arvoja, jotka edistävät yhteistyötä, sopeutumiskykyä ja jatkuvaa parantamista koko kehitystyön ajan.
Asiakasyhteistyö: Ketterä testaus painottaa tiivistä vuorovaikutusta asiakkaiden kanssa sen varmistamiseksi, että ohjelmisto vastaa reaalimaailman tarpeisiin.
Jatkuva testaus: Testausta tehdään jo kehitysvaiheessa ja sen aikana, ei vasta lopussa.
Sopeutuminen muutoksiin: Suhtautuu myönteisesti kehittyviin vaatimuksiin, edistää joustavuutta ja nopeampaa toimitusta.
Toimiva ohjelmisto dokumentaation kautta: Keskittyy toiminnallisiin tuloksiin pitkän dokumentaation sijaan.
Tiimin yhteistyö: Edistää vahvaa viestintää kehittäjien, testaajien ja sidosryhmien välillä.
Jatkuva palaute: Säännölliset palautteenantoketjut auttavat tunnistamaan ja ratkaisemaan ongelmia nopeasti.
Yksinkertaisuus ja tehokkuus: Priorisoi olennaiset tehtävät maksimoidakseen arvon ja minimoidakseen jätteen.
Kestävä tahti: Promotasapainottaa työkuormia pitkän aikavälin tuottavuuden ja laadun ylläpitämiseksi.
Ketterän testauksen elinkaari
Tässä on lyhyt selitys ketterän testauksen elinkaaresta:
1. Testin suunnittelu
Tässä alkuvaiheessa ketterä tiimi määrittelee testauksen laajuuden, tavoitteet, resurssit ja aikataulut. Testaajat tekevät yhteistyötä kehittäjien ja sidosryhmien kanssa testaustavoitteiden yhdenmukaistamiseksi sprintin vaatimusten kanssa.
2. Testisuunnittelu
Täällä testaajat suunnittelevat testitapauksia, skenaarioita ja hyväksymiskriteerejä käyttäjätarinoiden perusteella. Painopiste on modulaarisissa, uudelleenkäytettävissä ja automatisoiduissa testeissä, jotka ovat linjassa jatkuvan integraation periaatteiden kanssa.
3. Testin suorittaminen
Testaus tapahtuu iteratiivisesti kehityksen rinnalla. Testaajat suorittavat yksikkö-, integraatio- ja järjestelmätestejä jokaisen sprintin aikana validoidakseen uudet ominaisuudet ja tunnistaakseen viat varhaisessa vaiheessa.
4. Vikaraportointi ja uudelleentestaus
Kaikki löydetyt viat kirjataan, priorisoidaan ja korjataan nopeasti. Uudelleentestaus varmistaa, että virheenkorjaukset eivät riko olemassa olevaa toiminnallisuutta.
5. Regressiotestaus
Automatisoidut regressiotestit varmistavat, että uudet koodimuutokset eivät vaikuta olemassa oleviin moduuleihin. Tämä vaihe varmistaa tuotteen vakauden sprinttien aikana.
6. Testin sulkeminen
Sprintin päätyttyä tiimit tarkastelevat testimetriikoita, dokumentoivat opitut asiat ja varmistavat, että tuotokset täyttävät valmiin määritelmän.
Ketterä prosessi
Tutustu alla olevaan ketterän menetelmän prosessiin toimittaaksesi onnistuneita järjestelmiä 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 johdettu rugby-ottelun aikana esiintyvästä konseptista. Scrum uskoo kehitystiimin voimaannuttamiseen ja kannattaa työskentelyä pienissä tiimeissä (esimerkiksi 7–9 jäsentä). Ketterä ja Scrum koostuvat kolmesta roolista, joiden vastuut selitetään seuraavasti:

Scrum Master
Scrum Master vastaa tiimin kokoamisesta, sprinttikokousten pitämisestä ja edistymisen esteiden poistamisesta.
Tuotteen omistaja
Tuoteomistaja luo tuotteen tilausjonon, priorisoi tilausjonon ja vastaa toiminnallisuuden toimittamisesta kullakin iteraatiolla.
Scrum-tiimi
Tiimi hallinnoi omaa työtään ja organisoi työn sprintin tai syklin suorittamiseksi.
Tuote-arkisto
Tämä on arkisto, jossa seurataan vaatimuksia ja jossa on tiedot kunkin julkaisun yhteydessä täytettävien vaatimusten (käyttäjätarinoiden) lukumäärästä. Tuoteomistajan tulisi ylläpitää ja priorisoida sitä, ja se tulisi jakaa Scrum-tiimille. Tiimi voi myös pyytää uusien vaatimusten lisäämistä, muokkaamista tai poistamista.
Scrum-käytännöt
Käytännöt on kuvattu yksityiskohtaisesti tässä osiossa:

Scrum-metodologioiden prosessikulku:
Prosessin kulku Scrum-testaus on seuraava:
- Jokainen scrumin iteraatio tunnetaan nimellä Sprint
- Tuotejono on lista, johon syötetään kaikki tiedot lopputuotteen saamiseksi.
- Jokaisen aikana Sprint, tuotejonon tärkeimmät käyttäjätarinat valitaan ja niistä tehdään Sprint kasauma
- Tiimi työskentelee määritellyn sprintin työjonon parissa
- Ryhmä tarkistaa päivittäisen työn
- Sprintin lopussa tiimi toimittaa tuotteen toiminnallisuuden
Extreme Programming (XP)
Äärimmäinen ohjelmointitekniikka 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 tiheitä "julkaisuja" lyhyissä kehityssykleissä, mikä parantaa luonnostaan järjestelmän tuottavuutta ja tuo mukanaan tarkastuspisteen, jossa asiakkaan vaatimukset voidaan helposti toteuttaa. XP kehittää ohjelmistoja pitäen asiakkaan mielessä.

Liiketoiminnan vaatimukset on koottu tarinoihin. Kaikki nuo tarinat on tallennettu paikkaan, jota kutsutaan parkkipaikaksi.
Tällaisessa metodologiassa julkaisut perustuvat lyhyempiin sykleihin, joita kutsutaan iteraatioiksi ja joiden kesto on 14 päivää. Jokainen iteraatio sisältää vaiheita, kuten koodauksen, yksikkötestauksen ja järjestelmätestauksen, joissa kussakin vaiheessa sovellukseen rakennetaan joitakin pienempiä tai suurempia toimintoja.
Äärimmäisen ohjelmoinnin vaiheet
Agile XP -menetelmässä on kuusi vaihetta, jotka selitetään seuraavasti:
Suunnittelu
- Sidosryhmien ja sponsorien tunnistaminen
- Infrastruktuurivaatimukset
- Turvallisuus-aiheiset tiedot ja niiden kerääminen
- Palvelutasosopimukset ja niiden ehdot
analyysi
- Tarinoiden tallentaminen parkkipaikalla
- Priorisoi tarinoita parkkipaikalla
- Tarinoiden pyyhkiminen arvioita varten
- Määritä iteraatio SPAN (aika)
- Resurssisuunnittelu sekä kehitys- että laadunvarmistustiimeille
Design
- Tehtävien jakautuminen
- Testiskenaarion valmistelu jokaiselle tehtävälle
- Regression Automation Framework
Teloitus
- Koodaus
- Yksikkötestaus
- Manuaalisten testiskenaarioiden suorittaminen
- Vikaraportin luominen
- Manuaalisten regressiotestitapausten muuntaminen automaatioon
- Välivaiheen arviointi
- Iteraatiotarkistuksen loppu
Kääriminen
- Pienet julkaisut
- Regressiotestaus
- Demot ja arvostelut
- Kehitä uusia tarinoita tarpeen mukaan
- Prosessien parannukset iteraation lopun tarkastelukommenttien 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 tauluun tarralappujen muodossa päivittäisten kokemuspisteiden keräämisen seuraamiseksi. Koska tämä manuaalinen toiminta vaatii enemmän vaivaa ja aikaa, on parempi siirtyä 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ähän vaiheeseen liittyy useita toimintoja, kuten kehitystiimin kokoaminen, alustavan toteutettavuusanalyysin tekeminen, alustavan suunnitelman laatiminen ja kehitysmenetelmän hienosäätö.
- Syklinen toimitus: Pääkehitysvaihe koostuu kahdesta tai useammasta toimitusjaksosta, joiden aikana
- Tiimi päivittää ja tarkentaa julkaisusuunnitelmaa.
- Toteuttaa osan vaatimuksista yhden tai useamman ohjelmatestien integrointi-iteraation avulla
- 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ä sekä käyttöönoton tarkastelut ja pohdinnat.
Dynaaminen ohjelmistokehitysmenetelmä (DSDM)
DSDM on a Nopea sovelluskehitys (RAD) -lähestymistapa ohjelmistokehitykseen ja tarjoaa ketterän projektitoimituskehyksen. DSDM:n tärkeä näkökohta on, että käyttäjien on oltava aktiivisia ja tiimeille annetaan valta tehdä päätöksiä. Tuotteen tiheä toimitus on 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 ominaisuuksien "suunnitteluun ja rakentamiseen". Toisin kuin muut ketterät ohjelmistosuunnittelun menetelmät, FDD kuvaa hyvin erityisiä ja lyhyitä työvaiheita, jotka on suoritettava erikseen kutakin ominaisuutta kohden. Se sisältää toimialueen läpikäynnin, suunnittelun tarkastuksen, edistymisen rakentamiseen, koodin tarkastuksen ja suunnittelun. FDD kehittää tuotteen pitäen mielessä seuraavat asiat:
- Verkkotunnusobjektien mallinnus
- Kehitys ominaisuuden mukaan
- Komponentin/luokan omistus
- Ominaisuusjoukkueet
- tarkastukset
- Configuration Management
- Tavalliset rakennukset
- Edistyksen ja tulosten näkyvyys
Lean-ohjelmistokehitys
Lean-ohjelmistokehitysmenetelmä perustuu "Just in time" -periaatteeseen. Sen tavoitteena on lisätä ohjelmistokehityksen nopeutta ja vähentää 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 alun perin juontui japaninkielisestä sanasta, joka tarkoittaa korttia, joka sisältää kaikki tuotteen jokaisessa vaiheessa tehtävät tehtävät tiedot. Tätä viitekehystä tai menetelmää käytetään laajalti ohjelmistotestauksessa, erityisesti ketterissä konsepteissa.
Mitä hyötyä ketterästä testauksesta on?
Tässä on syitä, miksi ketterä testaus on hyödyllistä:
- Varhainen ja jatkuva palaute: Testaus alkaa projektin alusta, jotta virheet ja suunnitteluvirheet havaitaan varhaisessa vaiheessa – ennen kuin niistä tulee kalliita katastrofeja.
- Nopeampi toimitus: Testaus tapahtuu kehityksen rinnalla, mikä mahdollistaa nopeammat julkaisut ja varmistaa, että käyttökelpoinen ohjelmisto toimitetaan lyhyemmissä, jatkuvissa sykleissä.
- Parempi yhteistyö: Testaajat, kehittäjät ja tuoteomistajat työskentelevät tiiviisti yhdessä edistäen yhteisymmärrystä ja vähentäen väärinkäsityksiä.
- Parempi laatu: Säännöllinen testaus ja automatisointi auttavat ylläpitämään tasaista laatua ja havaitsemaan ongelmat varhaisessa vaiheessa jokaista iteraatiota.
- Joustavuus muutokseen: Ketterä testaus mukautuu helposti muuttuviin vaatimuksiin, jolloin tiimit voivat muuttaa toimintatapojaan ilman, että koko projekti suistuu raiteiltaan.
- Korkeampi asiakastyytyväisyys: Säännölliset palautesilmukat varmistavat, että lopputuote vastaa käyttäjien odotuksia ja todellisia tarpeita.
Kuinka voittaa ketterän testauksen haasteet?
Tässä ovat parhaat tavat voittaa ketterässä testauksessa ilmenevät haasteet:
- Haaste: Nopeat vaatimusten muutokset vaikeuttavat vakaiden testaussuunnitelmien ylläpitämistä.
Ratkaisu: Toteuta adaptiivisia testausstrategioita joustavien automaatiokehysten ja jatkuvien palautesilmukoiden avulla vastataksesi tehokkaasti kehittyviin vaatimuksiin. - Haaste: Lyhyet kehityssyklit vähentävät kattavaan testaukseen käytettävissä olevaa aikaa.
Ratkaisu: Priorisoi riskiperusteista testausta, automatisoi regressiopaketit ja integroi jatkuva testaus kehitysputken alkuvaiheessa. - Haaste: Usein tehdyt koodimuutokset vaikeuttavat riittävän testikattavuuden ylläpitämistä.
Ratkaisu: Käytä automatisoituja yksikkö- ja integraatiotestejä jatkuvan integraation työkalujen tukemana varmistaaksesi yhdenmukaisen kattavuuden ja nopean validoinnin. - Haaste: Yhteistyön puute aiheuttaa väärinkäsityksiä kehittäjien ja testaajien välille.
Ratkaisu: Edistä yhteistyötä päivittäisten stand-up-tapaamisten, jaetun dokumentaation ja toimintojen välisen yhteistyön avulla testaustavoitteiden ja kehitystavoitteiden yhdenmukaistamiseksi. - Haaste: Yhdenmukaisen ja tarkan testidatan hallinta on yhä haastavampaa.
Ratkaisu: Hyödynnä synteettisen datan generointia ja versiohallittuja testiaineistoja varmistaaksesi toistettavat ja luotettavat testiympäristöt. - Haaste: Nopeiden toimitusaikojen tasapainottaminen korkean laatutakuun ylläpitämisen kanssa.
Ratkaisu: Integroi laatuportit CI/CD-putkiin ja valvo automatisoituja laatutarkastuksia hidastamatta toimitussyklejä. - Haaste: Ketterät tiimit kamppailevat usein vähäisen tai puuttuvan dokumentaation vuoksi.
Ratkaisu: Ylläpidä kevyttä, elävää dokumentaatiota, joka on linkitetty käyttäjätarinoihin ja testitapauksiin, jotta säilytät selkeyden tinkimättä ketteryydestä. - Haaste: Testausympäristöt ovat usein epätahdissa tuotantoympäristöjen kanssa.
Ratkaisu: Ota käyttöön konttiympäristöjä ja konfiguraationhallintatyökaluja ylläpitääksesi yhdenmukaisia asetuksia kehitys-, testaus- ja tuotantoympäristöissä.
Ketterä malli vs vesiputousmalli
Ketterät ja vesiputousmallit ovat kaksi eri menetelmää ohjelmistokehitysprosessissa. Vaikka niiden lähestymistapa eroaa toisistaan, molemmat menetelmät ovat ajoittain hyödyllisiä vaatimuksista ja projektin tyypistä riippuen.
| Ketterä malli | Vesiputousmalli |
|---|---|
| Ketterän menetelmän määritelmä ohjelmistotestauksessa: Ketterät menetelmät ehdottavat inkrementaalista ja iteratiivista lähestymistapaa ohjelmistosuunnitteluun | Ohjelmiston kehitys etenee peräkkäin lähtöpisteestä loppupisteeseen |
| Ketterä prosessi ohjelmistotestauksessa on jaettu yksittäisiin malleihin, joiden parissa suunnittelijat työskentelevät | Suunnitteluprosessia ei ole jaettu yksittäisiin malleihin |
| Asiakkaalla on varhaisessa vaiheessa ja usein mahdollisuuksia tutustua tuotteeseen 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 hyvin nopeasti. Suurten projektien kohdalla on vaikea arvioida kehitysaikaa. | Kaikenlaisia projekteja voidaan arvioida ja toteuttaa |
| Virhe voidaan korjata kesken projektin | Vasta lopussa testataan koko tuote. Jos vaatimuksessa havaitaan virhe tai muutoksia on tehtävä, projekti on aloitettava alusta. |
| Kehitysprosessi on iteratiivinen, ja projekti toteutetaan lyhyissä (2–4 viikon) iteraatioissa. Suunnittelua on hyvin vähän. | Kehitysprosessi on vaiheistettu, ja vaihe on paljon iteraatiota laajempi. Jokainen vaihe päättyy seuraavan vaiheen yksityiskohtaiseen kuvaukseen. |
| Dokumentaatio saa vähemmän prioriteettia kuin ohjelmistokehitys | Dokumentaatio on ensisijaisen tärkeää, ja sitä voidaan käyttää jopa henkilöstön koulutukseen ja ohjelmiston päivittämiseen toisen tiimin kanssa. |
| Jokaisella iteraatiolla on oma testausvaiheensa. Se mahdollistaa regressiotestauksen toteuttamisen aina, kun uusia funktioita tai logiikkaa julkaistaan. | Testausvaihe suoritetaan vasta kehitysvaiheen jälkeen, koska erilliset osat eivät ole täysin toimivia |
| Ketterässä testauksessa iteraation päätyttyä tuotteen toimitettavat ominaisuudet toimitetaan asiakkaalle. Uudet ominaisuudet ovat käytettävissä heti toimituksen jälkeen. Tästä on hyötyä, kun asiakkaisiin on hyvät yhteydet. | 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 ole mukana vaatimusten ja suunnittelun prosessissa. Yleensä testien ja koodauksen välillä on viiveitä. |
Tarkista myös: - Ketterä vs vesiputous: Tunne menetelmien ero


