Java-sovelluksen kestävyystestausprosessin automatisointi - Immonen, Miika (2023)
Ohjelmistotestauksella etsitään testattavissa ohjelmistoissa mahdollisesti olevia virheitä ja tarkistetaan ohjelmistoilta vaadittavien toimintojen toimivuutta. Ohjelmistojen kestävyystestauksella etsitään virheitä erityisesti resurssienkäytössä, kun ohjelmistoa suoritetaan pitkiä yhtäjaksoisia aikoja. Tutkielman kohteena olevalle Java-sovellukselle kestävyystestausta suoritettiin lähtötilanteessa manuaalisesti. Nämä kestotesteiksi kutsutut jaksot kestivät useita viikkoja ja ne suoritettiin yhdelle ohjelmistoversiolle kerrallaan. Kestotestien ongelmina olivat niiden vaatima aika ja suuri työvoiman tarve. Testijaksojen vaatimaa työmäärää pyrittiin vähentämään testiautomaation avulla mahdollistaen ohjelmiston resurssinkäytön seuraamisen ja mahdollisten virheiden löytämisen. Resursseista seurattiin sovelluksen aiheuttamaa prosessorikuormaa ja muutoksia sovelluksen muistinkäytössä. Erityisesti pyrittiin tarkkailemaan mahdollisten muistivuotojen ilmenemistä. Tutkielmassa tutkittiin sovelluksen kestävyystestausta automaattisen testauksen keinoin. Tutkimus suoritettiin suunnittelututkimuksena, jossa muodostettiin ohjelmiston kestotestausta automatisoiva artefakti. Ratkaisuna ongelmiin kehitetyn testiautomaation avulla kestotestijakson vaatima manuaalisen työn määrä väheni. Testiautomaation avulla suoritetuilla testijaksoilla kyettiin myös osoittamaan ohjelmistosta muistivuotoja. Muodostettu artefakti mahdollistaa ohjelmiston resurssienkäytön seurannan. Muodostetun testiautomaation avulla kestotestejä voidaan suorittaa myös rinnakkain kahdelle ohjelmistoversiolle ilman merkittävää lisätyötä.