Yhteenveto: | 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.
|