Tuloksellinen testiautomaatio
Olen koonnut näille sivuille alustavasti ja lyhyesti muutamia huomioita Testiautomaation osa-alueista, joita automaatiota suunniteltaessa ja kehitettäessä tulee usein vastaan.
Tarkoitus on jatkossa laittaa tänne lisää Testiautomaatio materiaalia, aina mahdollisiin mallikoodiriveihin asti.
Olen nähnyt Testiautomaatio ympäristöjä, jotka on alettu tekemään kiireessä tyyliin "viikon päästä pitää ensimmäiset automaatiotestit olla tulilla". Voi toimia hyvin pienessä mittakaavassa,
mutta tuo ei ole mikään optimaalinen lähtökohta, jos Testiautomaatio järjestelmästä on tarkoitus rakentaa laajempi toimiva kokonaisuus.
Vähänkään laajemman ja varioituvamman applikaation Testiautomaation suunnitteluun kannattaa käyttää enemmän aikaa.
Tällöin on mahdollista päästä tilanteeseen, jossa Testiautomaation ylläpito- ja jatkokehityskustannuksissa pysytään järkevissä kannattavuuden rajoissa koko sen elinkaaren ajan,
joka usein voi olla pitkäkin.
Suunnitelussa on kolme tärkeää huomioon otettavaa seikkaa: Kapselointi, Kapselointi ja Kapselointi.
Yli 15 vuoden kokemuksella testiautomaation tekemisessä, kannattaa ainakin alla luetellut toiminnat kapseloidan tiukasti omiin yleiskäyttöisiin luokka rakenteisiinsa:
- Ympäristökohtaiset tiedot (url, password, user name jne..).
- Yleiskäyttöinen Navikointi mekanismi eri sivu näkymissä ja sivun sisällä.
- Tulosten Raportointi(Email / Jira).
- Rest rajapinnat (suoraan OpenApi/Swagger dokumenteista tai Json stringien luonti alusta asti).
- Tietokanta rajapinnat.
- Ajo-aikaisen lokitiedon kerääminen ja talletus tulosten raportointia varten.
- Web pohjaisen applikaation Selenium/Playwright operaatiot (Normaalit luku, kirjotus, click, listakäsittelyt, javaScript komennot, muut webdriver pohjaiset käsittelyt jne.).
- Tiedosto operaatiot (luonti, luku, kirjoitus).
- Päivämäärä käsittelyt.
- Erilaiset String/String taulukko muokkaukset.
- Yksittäisen testiajon tiedonvälitys eri testi Steppien välillä (ajon sisäinen Data storage).
- Koko testi setin tiedonvälitys eri testiajojen välillä (ulkoinen Data storage).
Testiautomaatio järjestelmä voi olla
parhaimmillan tuloksellinen osa testausprosessia ja pahimmillaan resurssisyöppö, joka vie testausresursseja ilman merkittävää näkyvää tulosta.