Agile Test Automation Framework
โก รlykรคs yhteenveto
Ketterรค testiautomaatio soveltaa automatisoituja tarkistuksia lyhyiden sprinttien sisรคllรค, joissa vaatimukset muuttuvat viikoittain ja vakaalle vesiputousjulkaisulle rakennettu ohjelmistopaketti muuttuu nopeasti yllรคpitotaakaksi turvaverkon sijaan.
Ketterรค automaatiotestaus
Ketterรค automaatiotestaus on testiautomaation hyรถdyntรคmistรค ketterรคssรค toimitusprosessissa. Sen tarkoituksena on tehostaa ohjelmistokehitystรค samalla, kun se suojaa laatua ja hallitsee julkaisun kuluttamaa aikaa ja resursseja. Koska testit kirjoitetaan ominaisuuksien kehittรคmisen rinnalla, kรคytรคntรถ on erittรคin riippuvainen kehittรคjien ja testaajien vรคlisestรค koordinoinnista.
Siitรค lรคhtien, kun ketterรค menetelmรค pyrki pรครคsemรครคn eroon vesiputousmallin tyรถlรครคstรค realiteeteista, sen vaikutus on tuntunut automaatiotestaus myรถs. Nรคmรค kaksi tieteenalaa on yhdistettรคvรค tarkoituksella:
Automaatio vesiputousmenetelmรคssรค vs. automaatio ketterรคssรค menetelmรคssรค
Perinteisessรค ohjelmistotestauksen elinkaaressa automaatiotestaus on mahdollista, kun sovellus on vakaa ja vaatimukset on tรคytettySe olettaa a huomattavan mรครคrรคn aikaa, erittรคin ammattitaitoisia automaatioasiantuntijoita ja huomattavat kรคyttรถรถnottokustannukset. Perustavoitteena on vรคhentรครค kustannuksia pitkรคllรค aikavรคlillรค ja varmistaa, ettei olemassa olevien testitapausten ympรคrille ole syntynyt uusia vikoja.
Automaatiotestaus ei ole luonteeltaan tutkivaa, koska sen pรครคtehtรคvรคnรค on sรครคstรครค aikaa ja vรคhentรครค kustannuksia. Sitรค ei ole suunniteltu uusien ja innovatiivisten vikojen esiin nostamiseen. Automaatiotestaus enimmรคkseen vahvistaa jo olemassa olevaa kรคyttรคytymistรค.
Nรคmรค kaksi ympรคristรถรค asettavat siis testijoukolle hyvin erilaiset vaatimukset:
| Tekijรค | Automaatio vesiputousmallissa | Automaatio ketterรคssรค tekniikassa |
|---|---|---|
| Sovelluksen tila | Vakaa ja uloskirjattu ennen komentosarjojen aloittamista | Muutetaan jokaista sprinttiรค, usein jo skriptauksen aikana |
| Kรคytettรคvissรค oleva aika | Omistettu automaatiovaihe | Mikรค tahansa mahtuu yhdenโneljรคn viikon sprinttiin |
| Kuka-skriptit | Erillinen automaatioasiantuntijoiden tiimi | Toimitustiimi, testaajat ja kehittรคjรคt yhdessรค |
| Pรครคtavoite | Pitkรคn aikavรคlin kustannusten alentaminen suuressa regressiopaketissa | Nopea palaute juuri rakennetusta lisรคyksestรค |
| Huoltoriski | Matala, koska vaatimukset etenevรคt hitaasti | Korkea, koska vaatimukset muuttuvat jatkuvasti |
Kuinka automatisoida ketterรคssรค menetelmรคssรค
Mรครคritelmรคnsรค mukaan ketterรค menetelmรค poistaa tylsรคn dokumentoinnin, jotta uudet ideat voidaan toteuttaa nopeasti ja ihmiset voivat olla vuorovaikutuksessa vapaasti. Se suosii tutkivaa tyรถtรค paperityรถn sijaan:
Ketterien metodologian ja automaatiotestauksen perusfilosofioiden vรคlillรค on todellinen ristiriita. Ketterรคt tiimit ratkaisevat tรคmรคn rajaamalla automatisoitavaa sen sijaan, ettรค automatisoisivat vรคhemmรคn: tarkistukset kirjoitetaan samassa sprintissรค kuin ominaisuus, siirretรครคn alas yksikkรถ- ja API-tasolle, jossa niiden yllรคpito on halvinta, ja suoritetaan jokaisella koontiversiolla.
Ketterรคn testiautomaation peruspisteet
Ennen kuin varaat sprinttikapasiteettia automatisointiin, punnitse tekijรถitรค, jotka ratkaisevat, voidaanko skripti ylipรครคtรครคn viimeistellรค:
- Suunnittelu- ja koodausaika: Jokainen skripti on suunniteltava, koodattava ja tarkistettava kuten tuotantokoodi.
- Validointi testidataa vasten: Valmis skripti on validoitava olemassa olevien testitietojen avulla, ennen kuin kukaan voi luottaa siihen.
- Testin tarkoitus: Funktionaalisilla ja regressiotesteillรค on erilaiset yllรคpitokustannukset ja erilaiset sรคilyvyysajat.
- Sprint pituus: Sprintti kestรครค yhdestรค neljรครคn viikkoa, useimmiten kaksi, mikรค harvoin jรคttรครค tilaa suurelle skriptaustyรถlle.
Toinen tekijรค on vaatimusten muutos. Ketterรค menetelmรค on mรครคritelmรคn mukaan tekniikka, jolla reagoidaan asiakaslรคhtรถisiin muutoksiin, joten se soveltuu usein tehtรคviin muutoksiin kehityksen aikana.
Automaatiotestaus on sitรค vastoin hyรถdyllisintรค vakaita vaatimuksia vasten. Se ei sovellu hyvin ketterรคn menetelmรคn jatkuvaan vaihtuvuuteen, minkรค vuoksi automatisoitavien asioiden valinnalla on enemmรคn painoarvoa kuin automatisoidun mรครคrรคn valinnalla.
Ketterรคt automaatiotyรถkalut
Asiaankuuluvan valinta automaatiotyรถkalu on toinen tรคrkeรค tekijรค automaatiotestauksen kรคyttรถรถnotossa ketterรคn menetelmรคn puitteissa. Lisensoidut automaatiotyรถkalut esimerkiksi asettavat tiukat kรคyttรถoikeuskriteerit erityyppisille ja -tasoisille kรคyttรคjille, mikรค rajoittaa sitรค, kuka voi kรคyttรครค kyseiseen testausautomaatiokehykseen kuuluvia resursseja.
Ketterรค menetelmรค sitรค vastoin korostaa avointa yhteistyรถtรค ja avointa vuorovaikutusta tiimin jรคsenten vรคlillรค. Rajoitetut kรคyttรถoikeuskรคytรคnnรถt toimivat tรคtรค yhteenkuuluvuutta vastaan โโja voivat tuottaa tuloksia, jotka eivรคt ole hyรถdyllisiรค eivรคtkรค edistรค projektin onnistumista.
Ensisijaisena tavoitteena on toimittaa laadukkaita automaatioskriptejรค ketterรคn prosessin sallimassa ajassa. Valitse ehdokastestitapaukset huolellisesti, jotta tuloksena olevia skriptejรค voidaan kรคyttรครค uudelleen myรถhemmin ja silti saada valmiiksi annetussa ajassa.
Jopa ketterรคssรค ympรคristรถssรค jotkin testit on silti kรคsiteltรคvรค โ erityisesti regressiotestit. Seuraavassa osiossa tarkastellaan tilanteita, joihin automaatiotestaus sopii, ja miten kukin niistรค liittyy ketterรครคn testaukseen.
Automaatiotestaus Concepts Kun sitรค sovelletaan ketterรครคn tekniikkaan
Alla oleva taulukko ottaa esiin seitsemรคn klassista ehtoa, jotka oikeuttavat testin automatisoinnin, ja antaa ketterรคn vastauksen kuhunkin. Vain kolme nรคistรค ehtoista soveltuu siististi ketterรครคn sprinttiin, ja kaikki kolme ovat regressiomuotoisia:
| # | Automaatiotestauksen konsepti | Ketterรคn metodologian vastaus |
|---|---|---|
| 1 | Testi on toistettava usein. | Tรคssรค kohtaa regressiotestauksen kรคsite tulee kuvaan. |
| 2 | Testin tyรถnkulku ja sen validointi kehittyvรคt ja muuttuvat hitaasti ajan myรถtรค. | Ei hyรถdyllinen ketterรคssรค testauksessa, koska ketterรค testaus tarkoittaa vaatimusten usein tapahtuvia muutoksia. |
| 3 | Testi validoi liiketoimintaprosessin tai tyรถnkulun pikemminkin kuin ulkoasun, vรคrin tai taulukon asettelun. | Tรคtรค skenaariota voidaan pitรครค manuaaliseen testaukseen liittyvรคnรค. |
| 4 | Testi tuottaa tuloksia sรครคntelyelimelle, joka vaatii tulosten sรคhkรถistรค tallentamista ja arkistointia viralliseksi todisteeksi vaatimustenmukaisuudesta. | Ei sovellu ketterรครคn metodologiaan, koska kattava dokumentaatio ei kuulu ketterรครคn metodologiaan. |
| 5 | Testi on hyvin toistuva tai siinรค on useita vaiheita, jotka on suoritettava tรคsmรคlleen samalla tavalla joka kerta, jolloin manuaalisen testaajan vรคsymistรค on vรคltettรคvรค. | Ei sovellu ketterรครคn metodologiaan. |
| 6 | Testin onnistumis- tai hylkรคystulos on kohtuullisen helppo mรครคrittรครค ja tallentaa valitulla automaatiotyรถkalulla. | Sopii ketterรคn testauksen aikana tehtรคviin regressiotesteihin, jotka vaativat toistuvia ja tyรถlรคitรค taitoja. |
| 7 | Testin on syรถtettรคvรค sovellukseen merkittรคvรค mรครคrรค dataa. | Voidaan sisรคllyttรครค regressiotestaukseen. |

.jpg)


