Testiautomaatio on DevOpsin selkäranka. Tarkistuslistamme auttaa sinua tunnistamaan, mitä kannattaa arvioida testiautomaation kypsyystasoa kartoittaessa.
Tatu Kairi
Principal Consultant
Tatu enjoys piña coladas, getting caught in the rain, is not into yoga and has half a brain.
Kuten nimestä voi päätellä, huhtikuussa 2019 Evaluation and Assessment in Software Engineering (EASE ‘19) -konferenssissa julkaistu artikkeli analysoi testiautomaation kypsyyden itsearviointikehyksissä olevia puutteita ja esittää paremman lähestymistavan.
Ajattelin, että voisi olla hyödyllistä nostaa esiin artikkelin keskeiset havainnot ja se, että voit arvioida testiautomaatiosi kypsyyttä kyselyn avulla. Käytännössä tämä blogi toimii tarkistuslistana siitä, mitä kannattaa huomioida testiautomaation kypsyysarviointia tehdessä.
Korostetaan vielä: tutkimus on yhä käynnissä! Voit edelleen arvioida testiautomaatiosi kypsyyttä ja samalla kartuttaa alan olemassa olevaa tietopohjaa. Täytä EASE-kysely ja arvioi yrityksesi testiautomaation kypsyys.
Miksi testiautomaatio on tärkeää?
Olen puolueellinen, mutta testiautomaatio on DevOpsin selkäranka, koska se mahdollistaa laadun nopeasti. Kun teet sen oikein, rakennat testiautomaation kerran, sen ylläpito ei ole erityisen vaikeaa ja testaus vaatii sen jälkeen huomattavasti vähemmän työtä.
Testiautomaation kypsyyden itsearviointi: miksi se kannattaa?
Se, että testiautomaatio on tärkeää DevOpsin suorituskyvylle, ei ole varsinaisesti uutinen.
Alalle hieman uudempi ajatus on kuitenkin se, että testiautomaatiokyvykkyytesi kypsyyden tunteminen kannattaa.
Emme puhu DevOps-kypsyydestä, vaan nimenomaan testiautomaation kypsyydestä.
Itsearvioinnin tarkoitus on yksinkertainen: se pienentää testiautomaation kustannuksia ja vähentää riskiä tehdä virheitä, jotka aiheuttavat ongelmia myöhemmin.
Mitkä tekijät määrittävät testiautomaation kypsyyden?
Kunnollinen testiautomaation itsearviointityökalu kattaa monia aiemmin yrityksille katveeseen jääneitä alueita testiautomaatiota käyttöönotettaessa. Tässä on yleiskatsaus alueisiin, joita kannattaa tarkastella. Lista ei ole kattava: siihen tarvitset alkuperäisen lähteen.
Testiautomaatiostrategia
Valitettavasti pelkkä ”tarvitsemme testiautomaatiota” ei vielä riitä strategiaksi. Hyvä testiautomaatiostrategia sisältää seuraavat asiat.
● Testiautomaatiolle on asetettu tavoitteet
● Testiautomaatiolle on laadittu liiketoimintaperusteet
● Riskit on analysoitu
● Laajuus on päätetty: missä määrin automatisointia tehdään?
● Testiautomaation ja manuaalisen testauksen päällekkäisyys on huomioitu
● Testaustyyppien ja abstraktiotasojen väliset puutteet ja päällekkäisyydet on huomioitu
● Testiautomaation resurssit on tunnistettu
● Sidosryhmiltä kerätään palautetta strategiasta
Resurssit
Kuka tekee, millä ja riittävätkö resurssit? Tarkista, että:
● Testiautomaation toteuttamiseen on riittävästi ihmisiä. Näihin voi kuulua kokeneita testaajia, esihenkilöitä, konsultteja, automaatioasiantuntijoita ja muita.
● Käytössä on testauksen työkaluja, որոնք tukevat testaustoimintoja
● Testiympäristö on määritetty tarvittavilla ohjelmistoilla, laitteistoilla ja testidatalla
Testausorganisaatio
Kuka on vastuussa, ja onko kaikilla tarvitsemansa?
● Roolit ja vastuut on määritelty selkeästi
● Käytössä on viestintä- ja ongelmanratkaisumekanismit
● Testitiimillä on riittävästi osaamista tehokkaan automaation toteuttamiseen, mukaan lukien ohjelmointi, toimialaosaaminen ja testisuunnittelutekniikat
● Ymmärrys testiautomaation kustannus-hyötysuhteesta
● Testausorganisaatiolla on kyky ylläpitää valitsemiaan testaustyökaluja
Osaamisen kehittäjä
Kasvaako organisaatiosi testiautomaatio-osaamisessa?
● Hyvää testiautomaatio-osaamista, testaustyökaluja ja käytäntöjä jaetaan
● Koulutukselle ja oppimiskäyrille varataan riittävästi aikaa
Testaustyökalujen valinta
Tämä on tärkeää.
● Valitaan oikeat työkalut (rajoitteet, dataohjattu testaus, testikoodin kieli, testiympäristö)
● Olemassa olevien testaustyökalujen käyttö maksimoidaan
Testiympäristö
Tämäkin on tärkeää.
● Vaatimukset ymmärretään
● Testiympäristö testataan
● Testiympäristölle tarjotaan tukea
Testausvaatimukset
Myös tähän tarvitaan prosessi.
● Testiautomaation vaatimusprosessit on määritelty
Testien suunnittelu
Pyörää ei tarvitse keksiä uudelleen.
● Testitapausten luomiseen käytetään erityisiä testisuunnittelutekniikoita eri testauslajeissa
● Suunnittelumalleja hyödynnetään uudelleen
● Testikoodille tehdään staattisia ja dynaamisia mittauksia
Testien suoritus
Kyse ei ole pelkästään Käynnistä-painikkeen painamisesta.
● Testitapaukset priorisoidaan automatisointia varten testien suoritusaikataulun täyttämiseksi
● Esikäsittelytehtävät saatetaan valmiiksi ennen suoritusta
● Jälkikäsittelytehtävät suoritetaan automaattisesti suorituksen jälkeen
Arviointi eli tulokset
Testidataa on hyödynnettävä mahdollisimman tehokkaasti.
● Vakaat testioraakkelit määrittävät, läpäiseekö testi vai epäonnistuuko se
● Testauksen tilaa ja edistymistä voidaan seurata
● Eri testitulokset yhdistetään kattavan kokonaiskuvan muodostamiseksi testidatasta
● Hyödylliset testitulokset viestitään sidosryhmille
● Dashboard mukautetaan kullekin sidosryhmälle
Testiautomaatioprosessi
Kehityssykli on tässä avainsana.
● Prosessi on vakaa ja hallittavissa
● Testiautomaatio toimii rinnakkain asiaankuuluvan kehityssyklin kanssa
● Testiautomaatioprosessi tukee muita prosesseja
Testattava ohjelmisto
Testiautomaatio ei ole itsestäänselvyys.
● Ohjelmisto on riittävän kypsä testiautomaation toteuttamiseen – onko se testattavissa?
● Ohjelmisto on riittävän suorituskykyinen, eli sen suoritusnopeus riittää testiautomaation toteuttamiseen.
Testiautomaation mittarit
Lisää dataa.
● Testiautomaation mittaamiseen käytetään oikeita mittareita
● Tärkeät ominaisuudet on tunnistettu: tehokkuus, kattavuus, luotettavuus, ylläpidettävyys
● Kehityskohteet tunnistetaan mittausten avulla
● Testitiimin jäsenet saavat palautetta suoriutumisestaan
Erinomaisen testiautomaation tunnusmerkit
En voi väittää, että tämä teksti olisi lyhenemässä, mutta ennen kuin lopetan, tässä on edellä mainittujen yksityiskohtien lisäksi muutamia yleisiä asioita, joihin testiautomaatio-ohjelmassasi kannattaa pyrkiä. Kuten kaikki tämän blogin sisältö, myös tämä perustuu kyseiseen tieteelliseen artikkeliin.
Siirrettävyys: Kuinka helppoa automatisoituja testejä on ajaa uudessa ympäristössä ja erilaisella laitteistolla?
Ylläpidettävyys: Kuinka helppoa testiautomaatiotasi on ylläpitää, erityisesti testiympäristön hallinnan ja päivittämisen osalta?
Luotettavuus: Ovatko testit luotettavia ja tarkkoja? Kestävätkö testit pieniä muutoksia?
Käytettävyys: Ovatko testit helposti ymmärrettäviä monenlaisille ihmisille, myös johdolle ja esihenkilöille?
Tehokkuus: Käytetäänkö kustannuksia ja henkilöstön työpanosta sopiva määrä?
Toiminnallisuus: Parantaako testauksesi ROI:ta eli tuotteen laatua?
Tee nyt testiautomaation kypsyystason itsearviointi
Nyt kun pääsit tämän tekstin loppuun, sinä vaikuttava ihminen, tutustu ihmeessä testiautomaation kypsyystason itsearviointikyselyyn. Se antaa ainakin hieman uutta näkökulmaa testiautomaatiokäytäntöihisi.
- DevOps
Subscribe to our newsletter
Related blogs