Java-sovelluksen kestävyystestausprosessin automatisointi

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 aikoj...

Full description

Bibliographic Details
Main Author: Immonen, Miika
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:fin
Published: 2023
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/88526
_version_ 1826225755362689024
author Immonen, Miika
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Immonen, Miika Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Immonen, Miika Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Immonen, Miika
datasource_str_mv jyx
description 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.
first_indexed 2024-09-11T08:48:59Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Mikkonen, Tommi", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Immonen, Miika", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2023-08-15T05:13:03Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2023-08-15T05:13:03Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2023", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/88526", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Ohjelmistotestauksella etsit\u00e4\u00e4n testattavissa ohjelmistoissa mahdollisesti olevia\nvirheit\u00e4 ja tarkistetaan ohjelmistoilta vaadittavien toimintojen toimivuutta. Ohjelmistojen\nkest\u00e4vyystestauksella etsit\u00e4\u00e4n virheit\u00e4 erityisesti resurssienk\u00e4yt\u00f6ss\u00e4, kun ohjelmistoa suoritetaan\npitki\u00e4 yht\u00e4jaksoisia aikoja. Tutkielman kohteena olevalle Java-sovellukselle kest\u00e4vyystestausta\nsuoritettiin l\u00e4ht\u00f6tilanteessa manuaalisesti. N\u00e4m\u00e4 kestotesteiksi kutsutut jaksot\nkestiv\u00e4t useita viikkoja ja ne suoritettiin yhdelle ohjelmistoversiolle kerrallaan. Kestotestien\nongelmina olivat niiden vaatima aika ja suuri ty\u00f6voiman tarve. Testijaksojen vaatimaa\nty\u00f6m\u00e4\u00e4r\u00e4\u00e4 pyrittiin v\u00e4hent\u00e4m\u00e4\u00e4n testiautomaation avulla mahdollistaen ohjelmiston resurssink\u00e4yt\u00f6n\nseuraamisen ja mahdollisten virheiden l\u00f6yt\u00e4misen. Resursseista seurattiin sovelluksen\naiheuttamaa prosessorikuormaa ja muutoksia sovelluksen muistink\u00e4yt\u00f6ss\u00e4. Erityisesti\npyrittiin tarkkailemaan mahdollisten muistivuotojen ilmenemist\u00e4. Tutkielmassa tutkittiin sovelluksen\nkest\u00e4vyystestausta automaattisen testauksen keinoin. Tutkimus suoritettiin suunnittelututkimuksena,\njossa muodostettiin ohjelmiston kestotestausta automatisoiva artefakti.\nRatkaisuna ongelmiin kehitetyn testiautomaation avulla kestotestijakson vaatima manuaalisen\nty\u00f6n m\u00e4\u00e4r\u00e4 v\u00e4heni. Testiautomaation avulla suoritetuilla testijaksoilla kyettiin my\u00f6s\nosoittamaan ohjelmistosta muistivuotoja. Muodostettu artefakti mahdollistaa ohjelmiston resurssienk\u00e4yt\u00f6n\nseurannan. Muodostetun testiautomaation avulla kestotestej\u00e4 voidaan suorittaa\nmy\u00f6s rinnakkain kahdelle ohjelmistoversiolle ilman merkitt\u00e4v\u00e4\u00e4 lis\u00e4ty\u00f6t\u00e4.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Software testing is used in determining possible errors in the software under test\nand checking the functionality of the functions required from the software. Software endurance\ntesting looks for errors, especially in the resource usage, when the software application\nis kept running for extended periods of time. For the Java application under study, endurance\ntesting was performed manually at baseline. These endurance test cycles lasted several weeks\nand were each performed on one version of the software at a time. The problems with the\nendurance tests were the substantial time and manpower requirements. Test automation was\nused to reduce the workload required in testing the application, to monitor resource usage of\nthe application and to detect possible errors. The monitored resources consisted of CPU load\nimposed by the application and changes in the memory usage of the software under test. In\nparticular, the aim was to monitor the occurrence of possible memory leaks. In this thesis,\nthe endurance testing of the application was investigated by means of automated testing. The\nstudy was conducted using design science research method where an artefact was created to\nautomate the software endurance testing. As a solution to the presented problems test automation\nwas developed to reduce the amount of manual work required during the endurance\ntest cycle. The test automation test cycles that were run also detected memory leaks in the\nsoftware. The created artefact allows the monitoring of the software\u2019s resource usage. The\nartefact also allows the parallel endurance testing of two different software versions without\nthe need of substantial additional labour.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2023-08-15T05:13:03Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2023-08-15T05:13:03Z (GMT). No. of bitstreams: 0\n Previous issue date: 2023", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "55", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": null, "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "ohjelmistotestaus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "automaattinen testaus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "kest\u00e4vyystestaus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "suorituskykytestaus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Jenkins", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Robot Framework", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Java-sovelluksen kesta\u0308vyystestausprosessin automatisointi", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202308154637", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.collaborator", "value": "business", "language": "", "element": "contractresearch", "qualifier": "collaborator", "schema": "yvv"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "yvv.contractresearch.initiative", "value": "business", "language": "", "element": "contractresearch", "qualifier": "initiative", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "tietokoneohjelmat", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "testaus", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "automaatio", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "Java", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}]
id jyx.123456789_88526
language fin
last_indexed 2025-02-18T10:56:12Z
main_date 2023-01-01T00:00:00Z
main_date_str 2023
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/40e12175-1cf5-4091-8d5c-443c57b94e25\/download","text":"URN:NBN:fi:jyu-202308154637.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2023
record_format qdc
source_str_mv jyx
spellingShingle Immonen, Miika Java-sovelluksen kestävyystestausprosessin automatisointi ohjelmistotestaus automaattinen testaus kestävyystestaus suorituskykytestaus Jenkins Robot Framework Tietotekniikka Mathematical Information Technology 602 tietokoneohjelmat testaus automaatio Java
title Java-sovelluksen kestävyystestausprosessin automatisointi
title_full Java-sovelluksen kestävyystestausprosessin automatisointi
title_fullStr Java-sovelluksen kestävyystestausprosessin automatisointi Java-sovelluksen kestävyystestausprosessin automatisointi
title_full_unstemmed Java-sovelluksen kestävyystestausprosessin automatisointi Java-sovelluksen kestävyystestausprosessin automatisointi
title_short Java-sovelluksen kestävyystestausprosessin automatisointi
title_sort java sovelluksen kesta vyystestausprosessin automatisointi
title_txtP Java-sovelluksen kestävyystestausprosessin automatisointi
topic ohjelmistotestaus automaattinen testaus kestävyystestaus suorituskykytestaus Jenkins Robot Framework Tietotekniikka Mathematical Information Technology 602 tietokoneohjelmat testaus automaatio Java
topic_facet 602 Java Jenkins Mathematical Information Technology Robot Framework Tietotekniikka automaatio automaattinen testaus kestävyystestaus ohjelmistotestaus suorituskykytestaus testaus tietokoneohjelmat
url https://jyx.jyu.fi/handle/123456789/88526 http://www.urn.fi/URN:NBN:fi:jyu-202308154637
work_keys_str_mv AT immonenmiika javasovelluksenkestavyystestausprosessinautomatisointi AT immonenmiika javasovelluksenkestävyystestausprosessinautomatisointi