Vaatimukset testiautomaatiokehitykselle toiminnallisessa testauksessa - Timperi, Petri (2015)
Tutkielmassa käsitellään ohjelmistojen toiminnallisen testauksen automaatiossa käytettävää kehystä joka toteuttaa testiautomaation arkkitehtuurin ja sen peruspalvelut. Kehyksistä tarkastellaan niiden toiminnallisuuksia, arkkitehtuuriratkaisuja ja suunnitteluperiaatteita sekä listataan vaatimukset, joita kehyksen tulisi toteuttaa. Työssä perustellaan miksi testiautomaatio on tärkeää ketterässä kehityksessä ja listataan merkittävimmät ongelmat, joita testiautomaation käyttöönotossa tyypillisesti kohdataan. Testiautomaatiokehyksen rooli ongelmien ratkaisemiseksi käydään läpi ja perustellaan, miksi sen kehitykseen ja käyttöönottoon kannattaa panostaa. Tutkielma on tehty kirjallisuus- ja artikkelikatsauksena. Siinä on pyritty löytämään eri lähteistä ratkaisuja testiautomaation ongelmiin testiautomaa-tiokehyksen näkökulmasta sekä löytämään vaadittavat toiminnallisuudet ja vaatimukset jotka kehyksen tulee toteuttaa. Tutkielmassa tarkastellaan toiminnallisten testien testiautomaatio-ratkaisuja, niiden suunnitteluperiaatteita ja arkkitehtuuri-ratkaisuja. Suunnitteluperiaatteista käydään läpi modulaarisuus, kirjastojen käyttö, avainsana- ja datapohjaisuus, sekä näiden yhdistelmä hybridi testiautomaatiokehys. Tapaustutkimusten pohjalta havaitaan että tämän päivän kehykset ovat tyypillisesti hybridi-kehyksiä ja niissä erotellaan kehyksen ja testausvälineen osuudet eri tasoille arkkitehtuurissa. Kehys toteuttaa tyypillisesti testien hallinnan, testidatan käsittelyn, tulosten raportoinnin sekä testiympäristön alustuksen. Testausvälineen rooli on toteuttaa testiskriptit, jotka ajetaan kehyksen toimesta testattavaa järjestelmää vasten. Tutkielmaan on koottu testiautomaatiokehysten yleisiä vaatimuksia joita voidaan hyödyntää sovellusaluekohtaisten vaatimusten määrittelyssä. Arkki-tehtuurivaatimusten lisäksi, kehyksen tärkeimmät vaatimukset olivat laaja räätälöitävyys, testausvälineriippumattomuus, tuki hajautetuille testeille sekä kattava testien hallinta niin raportoinnin kuin testien valinnan ja muokkauksen suhteen.