Tekoäly- ja robotiikkakeskustelut ovat tällä hetkellä vahvasti esillä mediassa. Toivottavasti lähiaikoina päästään siihen tilanteeseen, jossa onnistuneiden käytännön toteutusten määrä kasvaa ”hypettämisen” laantuessa. Keskusteluissa käytettävä terminologia on myös aika villiä, mistä myös QA on saanut osansa, kun esimerkiksi testiautomaatio on muuttunut keskusteluissa robotiikaksi.
Siinä vaiheessa, kun tekoäly saadaan valjastettua tuottavasti osaksi ohjelmistokehitystä, merkitsee
se mielenkiintoisia aikoja myös testaukselle:
1. Tekoälyä hyödyntäviä sovelluksia pitää pystyä testaamaan menestyksekkäästi.
2. Testauksen pitää pystyä hyödyntämään tekoälyä menestyksekkäästi.
Molempiin kohtiin liittyen on hyvä palauttaa mieleen toimivan QA:n peruspilareita, joista yksi on saumattomasti toimiva yhteistyö ja osaava testaustiimi.
Älykkään QA-tiimin roolit
Testaustiimin kokoamisessa on hyvä muistaa se, että testauksessa on ennen kaikkea kysymys riskienhallinnasta. Tavoitteena on ennakoida ja havaita ohjelmistossa olevat ongelmat mahdollisimman varhaisessa vaiheessa ohjelmistokehitystä.
Testaustiimin osaamisen pitää olla monipuolista, jotta eri testitasot ja testimenetelmät saadaan riittävällä tasolla katettua. Kaikki tämä pitää luonnollisesti rakentaa huomioiden ohjelmiston koko ja sen kriittisyys.
QA-tiimi voi sisältää esimerkiksi seuraavia rooleja:
Testauspäällikkö – testauksen johtaminen ja raportointi
Testauspäällikkö johtaa testausta, toimii pääkontaktina testaukselle ja vastaa testauksen ja ohjelmiston laatutilanteen raportoinnista eri sidosryhmille. Roolissa korostuu johtamis- ja yhteistyökyky.
Testauspäällikön tulisi osata raportoida testauksen tilanteesta selkokielisesti, jotta testauksesta saatava hyöty on projektin riskienhallinnan näkökulmasta mahdollisimman kattava.
Testausasiantuntija – testiautomaatio, API- ja GUI -testit
Testiautomaation asiantuntija koordinoi yhdessä kehittäjien kanssa API -testien käytännön toteutuksen. Myös yksikkötestien eri menetelmät ja työkalut käydään tarvittaessa kehittäjien kanssa läpi, jotta taataan sujuvuus ja yhtenäiset CI- ja raportointikäytännöt eri testitasoilla. Suunnittelussa pitää huomioida testien uudelleenkäytettävyys eri ympäristöissä ja eri sidosryhmien toimesta.
Ohjelmistokoon kasvaessa on tärkeää kasvattaa jatkuvasti myös regressiotestausautomaation testitapausten määrää.
Testausasiantuntija – tutkiva testaus osana toiminnallista testausta
Tutkiva testaaja tukee testiautomaatiota testaten ohjelmistoa automaation ulkopuolelta. Tämän roolin edustaja voi antaa arvokasta palautetta liiketoiminnan edustajille sekä testiautomaatiosta vastaavalle henkilölle liittyen automaation jatkuvaan parantamiseen.
Parhaassa tapauksessa testiautomaatio ja tutkiva testaus tukevat toisiaan, mikä edesauttaa parempien testien ja paremman testikattavuuden saavuttamista.
Testausasiantuntija – ei-toiminnallinen testaus
Ei- toiminnallisen testauksen asiantuntijat, kuten suorituskyvyn ja tietoturvan testaajat huomioivat ohjelmistojen kriittisyyden, käyttäjien määrän ja kohderyhmän. Huomioi, että osana suorituskykytestejä voidaan testata myös ohjelmiston toiminnallisia piirteitä.
Testidataan liittyvät haasteet ovat organisaatioissa hyvin yleisiä. Siksi tiimissä kannattaa olla myös asiantuntija, joka pystyy tekemään älykkään ratkaisun testidatan ja automaation yhteensovittamiseksi.
Kimmo Hakala,
Senior QA Consultant
kimmo.hakala@q-factory.fi