Java-sovelluksen kestävyystestausprosessin automatisointi

Abstract
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ä.

Software testing is used in determining possible errors in the software under test and checking the functionality of the functions required from the software. Software endurance testing looks for errors, especially in the resource usage, when the software application is kept running for extended periods of time. For the Java application under study, endurance testing was performed manually at baseline. These endurance test cycles lasted several weeks and were each performed on one version of the software at a time. The problems with the endurance tests were the substantial time and manpower requirements. Test automation was used to reduce the workload required in testing the application, to monitor resource usage of the application and to detect possible errors. The monitored resources consisted of CPU load imposed by the application and changes in the memory usage of the software under test. In particular, the aim was to monitor the occurrence of possible memory leaks. In this thesis, the endurance testing of the application was investigated by means of automated testing. The study was conducted using design science research method where an artefact was created to automate the software endurance testing. As a solution to the presented problems test automation was developed to reduce the amount of manual work required during the endurance test cycle. The test automation test cycles that were run also detected memory leaks in the software. The created artefact allows the monitoring of the software’s resource usage. The artefact also allows the parallel endurance testing of two different software versions without the need of substantial additional labour.
Main Author
Format
Theses Master thesis
Published
2023
Subjects
The permanent address of the publication
https://urn.fi/URN:NBN:fi:jyu-202308154637Use this for linking
Language
Finnish
License
In CopyrightOpen Access
Copyright© The Author(s)

Share