Blog

Miksi ja miten testiautomaation kypsyystasoa kannattaa arvioida itse

JUN 25, 2019

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