Java-sovelluksen kestävyystestausprosessin automatisointi
Tekijät
Päivämäärä
2023Tekijänoikeudet
© The Author(s)
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.
...
Asiasanat
Metadata
Näytä kaikki kuvailutiedotKokoelmat
- Pro gradu -tutkielmat [29556]
Lisenssi
Samankaltainen aineisto
Näytetään aineistoja, joilla on samankaltainen nimeke tai asiasanat.
-
Robot Frameworkiä hyödyntävän testiautomaatiototeutuksen parantaminen MFC-pohjaisen sovelluksen graafiselle käyttöliittymälle
Honka, Jere (2019)Graafisten käyttöliittymien automaattinen testaaminen on hankalaa. Erityisen hankalaa se on silloin, kun testaustyökalut ovat ominaisuuksiltaan puutteellisia sekä käytössä olevat testiskriptien laadinnan käytänteet johtavat ... -
Web-sovelluksen haavoittuvuustestauksen automatisointi
Jokela, Patrik (2020)Haavoittuvuustestauksessa käytetään samanlaista lähestymistapaa ja tekniikkaamiltei jokaisessa testauksessa. Toistettavien töiden automatisointi auttaa haavoittuvuustes-taajia käyttämään testausaikansa hyödyllisemmin ... -
Graafisten käyttöliittymien regressiotestauksen automatisointi
Tuominen, Markus (2014)Testaaminen on järjestelmäkehityksen elintärkeä osa. Järjestelmien jatkuva mo- nimutkaistuminen ja erityisesti graafisten käyttöliittymien lisääntyminen johtaa siihen, että laadunvarmistuksen merkitys kasvaa ... -
Toiminnanohjausjärjestelmän testaaminen
Isojunno, Alisa (2024)Toiminnanohjausjärjestelmä on yrityksen yksi kriittisimmistä sekä hyödyllisimmistä järjestelmistä. Se integroi yrityksen prosessit ja datan yhden järjestelmän alle. Jotta toiminnanohjausjärjestelmä pystyy toimimaan ... -
Käyttöliittymän regressiotestauksen automatisointi : toimintatutkimus
Sallanko, Janita (2019)Teollisuudessa regressiotestauksen automatisointi on perusteltua, koska se säästää aikaa ihmisen tekemältä testaukselta ja allokoi testaajien resursseja olennaisempiin testitapauksiin. Testiautomaation avulla voidaan ...
Ellei toisin mainittu, julkisesti saatavilla olevia JYX-metatietoja (poislukien tiivistelmät) saa vapaasti uudelleenkäyttää CC0-lisenssillä.