Mikä on ketterä testaus?
AGILE TESTING on testauskäytäntö, joka noudattaa ketterän ohjelmistokehityksen sääntöjä ja periaatteita. Toisin kuin vesiputousmenetelmä, ketterä testaus voidaan aloittaa projektin alussa jatkuvalla integraatiolla kehityksen ja testauksen välillä. Ketterä testausmenetelmä ei ole peräkkäinen (siinä mielessä, että se suoritetaan vasta koodausvaiheen jälkeen), vaan jatkuva.
Tässä artikkelissa keskustelemme
- Ketterä testisuunnitelma.
- Ketterät testausstrategiat.
- Ketterä testausneliö.
- Laadunvalvonnan haasteet ketterällä ohjelmistokehityksellä.
- Automaatioriski ketterässä prosessissa.
Ketterä testisuunnitelma
Ketterä testisuunnitelma sisältää kyseisessä iteraatiossa suoritetut testaustyypit, kuten testitietovaatimukset, infrastruktuuri, testiympäristöt ja testitulokset. Toisin kuin vesiputousmalli, ketterässä mallissa testisuunnitelma kirjoitetaan ja päivitetään jokaiselle julkaisulle. Tyypillisiä testisuunnitelmia ketterässä sisältää
- Testauksen laajuus
- Uudet toiminnot, joita testataan
- Testaustaso tai -tyypit ominaisuuksien monimutkaisuuden perusteella
- Kuormituksen ja suorituskyvyn testaus
- Infrastruktuurin huomioon ottaminen
- Lieventämis- tai riskisuunnitelma
- Resurssien hankinta
- Suoritusarvot ja virstanpylväät
Ketterät testausstrategiat
Ketterän testauksen elinkaari kattaa neljä vaihetta
a) Iteraatio 0
Ensimmäisen vaiheen tai iteroinnin 0 aikana suoritat alkuasennustehtävät. Se sisältää ihmisten tunnistamisen testausta varten, testaustyökalujen asentamisen, resurssien ajoituksen (käytettävyyden testauslaboratorio) jne. Seuraavat vaiheet asetetaan Iteration 0: n saavuttamiseksi
a) Liiketoiminnan perustaminen hankkeelle
b) Määritä rajaehdot ja projektin laajuus
c) Esittele tärkeimmät vaatimukset ja käyttötapaukset, jotka ajavat suunnittelun kompromisseja
d) Esitä yksi tai useampi ehdokasarkkitehtuuri
e) Riskin tunnistaminen
f) Kustannusarvio ja valmistele alustava projekti
b) Rakennuskertomukset
Ketterän testausmenetelmän toinen vaihe on Construction Iterations, suurin osa testauksesta tapahtuu tämän vaiheen aikana. Tämä vaihe havaitaan iteraatioiden joukona ratkaisun lisäyksen rakentamiseksi. Tätä varten tiimi toteuttaa kussakin iteraatiossa yhdistelmän käytäntöjä XP: stä, Scrumista, ketterästä mallinnuksesta ja ketterästä tiedosta ja niin edelleen.
Rakentamisen iteroinnissa ketterä tiimi noudattaa priorisoitua vaatimuskäytäntöä: Jokaisella iteraatiolla he ottavat tärkeimmät vaatimukset, jotka ovat jäljellä työkappalepinosta, ja toteuttavat ne.
Rakentamisen iterointi luokitellaan kahteen, vahvistavaan ja tutkivaan testaukseen. Vahvistavat testit keskittyvät sen varmistamiseen, että järjestelmä täyttää sidosryhmien aikomukset, jotka on kuvattu tiimille tähän mennessä, ja ryhmä suorittaa sen. Vaikka tutkiva testaus havaitsee ongelman, jonka vahvistusryhmä on ohittanut tai ohittanut. Tutkivassa testauksessa testaaja määrittää mahdolliset ongelmat vikatarinoiden muodossa. Tutkiva testaus käsittelee yleisiä kysymyksiä, kuten integraatiotestaus, kuormitus- / stressitestit ja turvallisuustestit.
Jälleen, vahvistavassa testauksessa on kaksi näkökohtaa kehittäjien testaus ja ketterä hyväksyntätestaus . Molemmat ovat automatisoituja mahdollistamaan jatkuvan regressiotestauksen koko elinkaaren ajan. Vahvistava testaus on testin ketterä vastaavuus määrittelyyn.
Ketterä hyväksyntätestaus on yhdistelmä perinteistä toiminnallista testausta ja perinteistä hyväksyntätestausta kehitystiiminä, ja sidosryhmät tekevät sen yhdessä. Kehittäjien testaus on sekoitus perinteistä yksikkötestausta ja perinteistä palveluintegraatiotestausta. Kehittäjien testaus tarkistaa sekä sovelluskoodin että tietokantamallin.
(c) Vapauta pelin loppu tai siirtymävaihe
”Release, End Game” -tavoitteena on ottaa järjestelmäsi käyttöön onnistuneesti tuotantoon. Tässä vaiheessa toimintoja ovat loppukäyttäjien, tukihenkilöiden ja operatiivisten henkilöiden kouluttaminen. Se sisältää myös tuotteen julkaisun markkinoinnin, varmuuskopioinnin ja palauttamisen, järjestelmän ja käyttäjädokumentaation viimeistelyn.
Viimeinen ketterän metodologian testausvaihe sisältää täydellisen järjestelmän testauksen ja hyväksyntätestauksen. Viimeisen testausvaiheen loppuun saattamiseksi ilman esteitä sinun on testattava tuotetta tiukemmin, kun se on rakenteissa. Loppupelin aikana testaajat työskentelevät sen vikatarinoiden parissa.
d) Tuotanto
Julkaisuvaiheen jälkeen tuote siirtyy tuotantovaiheeseen.
Ketterät testausneljännekset
Ketterät testausneljännekset erottavat koko prosessin neljään kvadranttiin ja auttavat ymmärtämään kuinka ketterä testaus suoritetaan.
a) Ketterä kvadrantti I - Sisäinen koodilaatu on tässä kvadrantissa pääpaino, ja se koostuu testaustapauksista, jotka ovat teknologiavetoisia ja toteutetaan tukemaan ryhmää.
1. Yksikkötestit
2. komponenttitestit
b) Ketterä kvadrantti II - Se sisältää testitapauksia, jotka ovat liiketoimintalähtöisiä ja toteutetaan tukemaan ryhmää. Tämä kvadrantti keskittyy vaatimuksiin. Tässä vaiheessa suoritettava testi on
1. Testaus esimerkkejä mahdollisista skenaarioista ja työnkulkuista
2. Käyttökokemuksen, kuten prototyyppien, testaaminen
3. Parin testaus
c) Ketterä kvadrantti III - Tämä kvadrandi antaa palautetta ensimmäisille ja kahdelle kvadrantille. Testitapauksia voidaan käyttää perustana automaatiotestauksen suorittamiselle. Tässä kvadrantissa tehdään useita iterointiarviointikierroksia, mikä lisää luottamusta tuotteeseen. Tämäntyyppinen testaus tässä kvadrantissa on
1. Käytettävyyden testaus
2. Tutkiva testaus
3. Parin testaus asiakkaiden kanssa
4. Yhteistyötestaus
5. Käyttäjien hyväksyntätestaus
d) Ketterä kvadrantti IV - Tämä kvadrandi keskittyy ei-toiminnallisiin vaatimuksiin, kuten suorituskykyyn, turvallisuuteen, vakauteen jne. Tämän kvadrantin avulla hakemus toimitetaan ei-toiminnallisille ominaisuuksille ja odotetulle arvolle.
1. Ei-toiminnalliset testit, kuten stressin ja suorituskyvyn testaus
2. Todentamisen ja hakkeroinnin tietoturvatestaus
3. Infrastruktuurin testaus
4. Tiedonsiirtotestaus
5. Skaalautuvuustestaus
6. Kuormitustestaus
Laadunvalvonta haastaa ketterän ohjelmistokehityksen
a) Virhemahdollisuudet ovat ketterämpiä, koska asiakirjoille annetaan vähemmän prioriteetteja, mikä lopulta lisää paineita laadunvarmistusryhmälle
b) Uudet ominaisuudet otetaan käyttöön nopeasti, mikä lyhentää testiryhmien käytettävissä olevaa aikaa selvittää, ovatko uusimmat ominaisuudet vaatimusten mukaisia, ja vastaako se todella liikepukuihin
c) Testaajia vaaditaan usein pelaamaan puolikehittäjää
d) Testin suoritussyklit ovat erittäin pakattuja
e) Hyvin vähemmän aikaa testisuunnitelman laatimiseen
f) Regressiotestauksessa niillä on minimaalinen ajoitus
g) Muutos heidän roolissaan laadunvartijasta laadun kumppaniksi
h) Vaatimusmuutokset ja päivitykset ovat luontaisia ketterälle menetelmälle, josta tulee suurin haaste laadunvalvonnalle
Automaatioriski ketterässä prosessissa
- Automatisoidut käyttöliittymät tarjoavat korkean luottamustason, mutta ne ovat hitaita toteuttaa, hauraita ylläpitää ja kalliita rakentaa. Automaatio ei välttämättä paranna testien tuottavuutta merkittävästi, elleivät testaajat osaa testata
- Epäluotettavat testit ovat suuri huolenaihe automaattisessa testauksessa. Epäonnistuneiden testien korjaamisen ja hauraisiin testeihin liittyvien ongelmien ratkaisemisen tulisi olla etusijalla, jotta vältetään vääriä positiivisia tuloksia
- Jos automaattinen testi aloitetaan manuaalisesti CI: n (jatkuva integrointi) kautta, on olemassa vaara, että testit eivät ole säännöllisesti käynnissä ja voivat siten aiheuttaa testien epäonnistumisen
- Automaattiset testit eivät korvaa manuaalista kokeellista testausta. Tuotteen odotetun laadun saavuttamiseksi tarvitaan sekoitus testityyppejä ja -tasoja
- Monet kaupallisesti saatavissa olevat automaatiotyökalut tarjoavat yksinkertaisia ominaisuuksia, kuten manuaalisten testitapausten talteenoton ja toistamisen automatisointi. Tällainen työkalu kannustaa testaamiseen käyttöliittymän kautta ja johtaa luontaisesti hauraisiin ja vaikeasti ylläpidettäviin testeihin. Myös testitapausten tallentaminen versionhallintajärjestelmän ulkopuolelle aiheuttaa tarpeetonta monimutkaisuutta
- Ajan säästämiseksi monta kertaa automaatiotestisuunnitelma on huonosti suunniteltu tai suunnittelematon, mikä johtaa testin epäonnistumiseen
- Testin perustaminen ja purkaminen menetetään yleensä testauksen automatisoinnin aikana, kun taas manuaalisen testauksen suorittamisen yhteydessä testin asettaminen ja purkaminen kuulostaa saumattomalta
- Tuottavuusmittarit, kuten useita päivässä luotuja tai suoritettuja testitapauksia, voivat olla erittäin harhaanjohtavia, ja ne voivat johtaa suuriin investointeihin turhien testien suorittamiseen
- Ketterän automaatiotiimin jäsenten on oltava tehokkaita konsultteja: lähestyttävä, yhteistyökykyinen ja kekseliäs, muuten tämä järjestelmä epäonnistuu nopeasti
- Automaatio voi ehdottaa ja toimittaa testausratkaisuja, jotka vaativat liian paljon jatkuvaa ylläpitoa verrattuna annettuun arvoon
- Automatisoidusta testauksesta voi puuttua asiantuntemus tehokkaiden ratkaisujen suunnittelusta ja toimittamisesta
- Automaattinen testaus voi olla niin onnistunutta, että tärkeiden ongelmien ratkaiseminen loppuu ja muuttuu siten merkityksettömiksi ongelmiksi.
Johtopäätös
Ketterä metodologia ohjelmistojen testauksessa sisältää testauksen mahdollisimman varhaisessa vaiheessa ohjelmistokehityksen elinkaaressa. Se vaatii suurta asiakkaiden osallistumista ja testauskoodia heti, kun se tulee saataville. Koodin tulee olla riittävän vakaa, jotta se voidaan viedä järjestelmätestaukseen. Laaja regressiotestaus voidaan tehdä varmistaaksesi, että virheet on korjattu ja testattu. Lähinnä joukkueiden välinen viestintä tekee ketterästä mallintestauksesta menestystä !!!