Graafisten käyttöliittymien regressiotestauksen automatisointi

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 edelleen ja lisäksi siitä tulee entistä haastavampaa ja kalliimpaa. Keskimäär...

Full description

Bibliographic Details
Main Author: Tuominen, Markus
Other Authors: Faculty of Information Technology, Informaatioteknologian tiedekunta, Tietojenkäsittelytieteiden laitos, Department of Computer Science and Information Systems, University of Jyväskylä, Jyväskylän yliopisto
Format: Master's thesis
Language:fin
Published: 2014
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/44340
_version_ 1828193119661719552
author Tuominen, Markus
author2 Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_facet Tuominen, Markus Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto Tuominen, Markus Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_sort Tuominen, Markus
datasource_str_mv jyx
description 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 edelleen ja lisäksi siitä tulee entistä haastavampaa ja kalliimpaa. Keskimäärin yli puolet ohjelmistokehitys- projektien kokonaiskustannuksista syntyy testauksesta. Testauksen automa- tisoinnilla pyritään pienentämään testauksesta aiheutuvia kustannuksia ja sa- malla tehostamaan testauksen toimintaa. Aina ei ole kuitenkaan järkevää automatisoida testausta. On voitava pe- rustella, milloin testaamisen automatisointi on kannattavaa. Regressiotestauk- sen yhteydessä näin usein on, sillä testausta suoritetaan useita kertoja käyttäen samoja testitapauksia. Regressiotestauksen tarkoitus on varmistaa, että ohjel- misto toimii muutosten jälkeen oikein. Sen vuoksi regressiotestausta tulisi suo- rittaa mahdollisimman usein, mielellään jokaisen muutoksen jälkeen. Manuaa- lisesti työmäärä on kuitenkin niin iso, että sen suorittaminen ei ole järkevää au- tomatisoimatta. Tässä pro gradu -tutkielmassa luodaan kirjallisuuteen perustuva katsaus ja selvitetään, millaisia malleja, viitekehyksiä ja tekniikoita on esitetty graafisten käyttöliittymien regressiotestauksen automatisointiin. Tarkemmin esitellään viitekehyksistä Daily Automated Regression Tester (DART) ja automatisointi- työkaluista Selenium IDE, jotka valittiin myös esimerkkiprojektimme graafisten käyttöliittymien regressiotestauksen automatisointiin. Tutkielman empiirisessä osuudessa raportoidaan tämä kokeellinen tutki- mus, jossa luotiin malli, jota pilotoitiin esimerkkiprojektimme. Koska organisaa- tiomme on testauksen automatisoinnin saralla testauksen kypsyysmallin alim- malla tasolla, emme voineet käyttää DARTia suoraan, vaan siitä piti luoda or- ganisaatiollemme sopiva malli. Tätä mallia hyväksi käyttäen saimme automati- soitua esimerkkiprojektimme graafisen käyttöliittymän regressiotestauksen. Testauksen kohteena tässä pilotissa oli suuremman järjestelmän yksi osa: pika- linkkisovellus. Tutkimuksen perusteella voitiin vetää johtopäätös, että graafis- ten käyttöliittymien automaattinen regressiotestaus on mahdollista ottaa orga- nisaatiossamme käyttöön melko pienin ponnistuksin mutta jatkotutkimus on kuitenkin vielä tarpeellista maksimaalisen hyödyn saamiseksi. Testing is an essential part of the system development process. The continuous evolution of the systems and especially the increasing number of graphical user interfaces emphasize the importance of quality assurance. It also becomes more expensive and more challenging. On the average testing generates more than 50 per cent of the total expenses of a system development project. Automating test- ing processes is a means to lower the expenses and simultaneously enhance the effectivity of testing. It is not always reasonable to automate the testing. It must be justified when test automation is worthwhile. Usually this is the case with regression testing because the same test cases are executed several times. The purpose of regression testing is to prove that the software works as intended after there has been a modification in the code. Therefore regression tests should be executed as often as possible, preferably after every modification. However, running tests manually is very laborious so it is not reasonable to do so without automation. In this Master’s Thesis, using a literature review, I examine what kind of models, frameworks and techniques there are to support automating regression testing of graphical user interfaces. I discuss especially Daily Automated Regres- sion Tester (DART) and Selenium IDE which were adopted for piloting the auto- mated regression testing of graphical user interfaces in our sample project. In the empirical section of the study I report this pilot project. Because our or- ganization is on the lowest level of the Testing Maturity Model we could not adopt the DART framework as such but we needed to modify it to create a version suita- ble for our project. Using this model we were able to automate the regression test- ing of the graphical user interface in our sample project. The application under test was part of a bigger system: an application used to create quick links in the system. Based on the results of the study it is clear that it is possible to adopt automated regression testing of graphical user interfaces in our organization with quite little effort. However, regardless of the results I cannot declare that this study is enough to adopt the automation process organization-wide but more investigation is need- ed. However the results suggest that more investigation is worthwhile.
first_indexed 2023-03-22T09:56:47Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.author", "value": "Tuominen, Markus", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2014-09-26T11:40:47Z", "language": "", "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2014-09-26T11:40:47Z", "language": "", "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2014", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.other", "value": "oai:jykdok.linneanet.fi:1446127", "language": null, "element": "identifier", "qualifier": "other", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/44340", "language": "", "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Testaaminen on ja\u0308rjestelma\u0308kehityksen elinta\u0308rkea\u0308 osa. Ja\u0308rjestelmien jatkuva mo- nimutkaistuminen ja erityisesti graafisten ka\u0308ytto\u0308liittymien lisa\u0308a\u0308ntyminen johtaa siihen, etta\u0308 laadunvarmistuksen merkitys kasvaa edelleen ja lisa\u0308ksi siita\u0308 tulee entista\u0308 haastavampaa ja kalliimpaa. Keskima\u0308a\u0308rin yli puolet ohjelmistokehitys- projektien kokonaiskustannuksista syntyy testauksesta. Testauksen automa- tisoinnilla pyrita\u0308a\u0308n pienenta\u0308ma\u0308a\u0308n testauksesta aiheutuvia kustannuksia ja sa- malla tehostamaan testauksen toimintaa.\r\n\r\nAina ei ole kuitenkaan ja\u0308rkeva\u0308a\u0308 automatisoida testausta. On voitava pe- rustella, milloin testaamisen automatisointi on kannattavaa. Regressiotestauk- sen yhteydessa\u0308 na\u0308in usein on, silla\u0308 testausta suoritetaan useita kertoja ka\u0308ytta\u0308en samoja testitapauksia. Regressiotestauksen tarkoitus on varmistaa, etta\u0308 ohjel- misto toimii muutosten ja\u0308lkeen oikein. Sen vuoksi regressiotestausta tulisi suo- rittaa mahdollisimman usein, mielella\u0308a\u0308n jokaisen muutoksen ja\u0308lkeen. Manuaa- lisesti tyo\u0308ma\u0308a\u0308ra\u0308 on kuitenkin niin iso, etta\u0308 sen suorittaminen ei ole ja\u0308rkeva\u0308a\u0308 au- tomatisoimatta.\r\n\r\nTa\u0308ssa\u0308 pro gradu -tutkielmassa luodaan kirjallisuuteen perustuva katsaus ja selviteta\u0308a\u0308n, millaisia malleja, viitekehyksia\u0308 ja tekniikoita on esitetty graafisten ka\u0308ytto\u0308liittymien regressiotestauksen automatisointiin. Tarkemmin esitella\u0308a\u0308n viitekehyksista\u0308 Daily Automated Regression Tester (DART) ja automatisointi- tyo\u0308kaluista Selenium IDE, jotka valittiin myo\u0308s esimerkkiprojektimme graafisten ka\u0308ytto\u0308liittymien regressiotestauksen automatisointiin.\r\n\r\nTutkielman empiirisessa\u0308 osuudessa raportoidaan ta\u0308ma\u0308 kokeellinen tutki- mus, jossa luotiin malli, jota pilotoitiin esimerkkiprojektimme. Koska organisaa- tiomme on testauksen automatisoinnin saralla testauksen kypsyysmallin alim- malla tasolla, emme voineet ka\u0308ytta\u0308a\u0308 DARTia suoraan, vaan siita\u0308 piti luoda or- ganisaatiollemme sopiva malli. Ta\u0308ta\u0308 mallia hyva\u0308ksi ka\u0308ytta\u0308en saimme automati- soitua esimerkkiprojektimme graafisen ka\u0308ytto\u0308liittyma\u0308n regressiotestauksen. Testauksen kohteena ta\u0308ssa\u0308 pilotissa oli suuremman ja\u0308rjestelma\u0308n yksi osa: pika- linkkisovellus. Tutkimuksen perusteella voitiin veta\u0308a\u0308 johtopa\u0308a\u0308to\u0308s, etta\u0308 graafis- ten ka\u0308ytto\u0308liittymien automaattinen regressiotestaus on mahdollista ottaa orga- nisaatiossamme ka\u0308ytto\u0308o\u0308n melko pienin ponnistuksin mutta jatkotutkimus on kuitenkin viela\u0308 tarpeellista maksimaalisen hyo\u0308dyn saamiseksi.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Testing is an essential part of the system development process. The continuous evolution of the systems and especially the increasing number of graphical user interfaces emphasize the importance of quality assurance. It also becomes more expensive and more challenging. On the average testing generates more than 50 per cent of the total expenses of a system development project. Automating test- ing processes is a means to lower the expenses and simultaneously enhance the effectivity of testing.\r\n\r\nIt is not always reasonable to automate the testing. It must be justified when test automation is worthwhile. Usually this is the case with regression testing because the same test cases are executed several times. The purpose of regression testing is to prove that the software works as intended after there has been a modification in the code. Therefore regression tests should be executed as often as possible, preferably after every modification. However, running tests manually is very laborious so it is not reasonable to do so without automation.\r\n\r\nIn this Master\u2019s Thesis, using a literature review, I examine what kind of models, frameworks and techniques there are to support automating regression testing of graphical user interfaces. I discuss especially Daily Automated Regres- sion Tester (DART) and Selenium IDE which were adopted for piloting the auto- mated regression testing of graphical user interfaces in our sample project.\r\n\r\nIn the empirical section of the study I report this pilot project. Because our or- ganization is on the lowest level of the Testing Maturity Model we could not adopt the DART framework as such but we needed to modify it to create a version suita- ble for our project. Using this model we were able to automate the regression test- ing of the graphical user interface in our sample project. The application under test was part of a bigger system: an application used to create quick links in the system. Based on the results of the study it is clear that it is possible to adopt automated regression testing of graphical user interfaces in our organization with quite little effort. However, regardless of the results I cannot declare that this study is enough to adopt the automation process organization-wide but more investigation is need- ed. However the results suggest that more investigation is worthwhile.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted using Plone Publishing form by Markus Tuominen (maoltuom) on 2014-09-26 11:40:47.298151. Form: Pro gradu -lomake (https://kirjasto.jyu.fi/julkaisut/julkaisulomakkeet/pro-gradu-lomake). JyX data: [jyx_publishing-allowed (fi) =True]", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija@noreply.fi) on 2014-09-26T11:40:47Z\r\nNo. of bitstreams: 2\r\nURN:NBN:fi:jyu-201409262883.pdf: 947943 bytes, checksum: 02e31ca11b0765a4da1ccacfe61856a2 (MD5)\r\nlicense.html: 4824 bytes, checksum: 048e4e87efee228be4d935f1a18bc58f (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2014-09-26T11:40:47Z (GMT). No. of bitstreams: 2\r\nURN:NBN:fi:jyu-201409262883.pdf: 947943 bytes, checksum: 02e31ca11b0765a4da1ccacfe61856a2 (MD5)\r\nlicense.html: 4824 bytes, checksum: 048e4e87efee228be4d935f1a18bc58f (MD5)\r\n Previous issue date: 2014", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "1 verkkoaineisto (76 sivua)", "language": null, "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "ohjelmistotestaus", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "regressiotestaus", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Graafisten k\u00e4ytt\u00f6liittymien regressiotestauksen automatisointi", "language": null, "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-201409262883", "language": null, "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": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Tietojenk\u00e4sittelytieteiden laitos", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Department of Computer Science and Information Systems", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Information Systems Science", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietoj\u00e4rjestelm\u00e4tiede", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.date.updated", "value": "2014-09-26T11:40:48Z", "language": "", "element": "date", "qualifier": "updated", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "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": "601", "language": null, "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "k\u00e4ytt\u00f6liittym\u00e4t", "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.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_44340
language fin
last_indexed 2025-03-31T20:00:51Z
main_date 2014-01-01T00:00:00Z
main_date_str 2014
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/a1193493-0636-4248-be5e-ed0c33b5a35b\/download","text":"URN:NBN:fi:jyu-201409262883.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2014
record_format qdc
source_str_mv jyx
spellingShingle Tuominen, Markus Graafisten käyttöliittymien regressiotestauksen automatisointi ohjelmistotestaus regressiotestaus Information Systems Science Tietojärjestelmätiede 601 käyttöliittymät testaus automaatio
title Graafisten käyttöliittymien regressiotestauksen automatisointi
title_full Graafisten käyttöliittymien regressiotestauksen automatisointi
title_fullStr Graafisten käyttöliittymien regressiotestauksen automatisointi Graafisten käyttöliittymien regressiotestauksen automatisointi
title_full_unstemmed Graafisten käyttöliittymien regressiotestauksen automatisointi Graafisten käyttöliittymien regressiotestauksen automatisointi
title_short Graafisten käyttöliittymien regressiotestauksen automatisointi
title_sort graafisten käyttöliittymien regressiotestauksen automatisointi
title_txtP Graafisten käyttöliittymien regressiotestauksen automatisointi
topic ohjelmistotestaus regressiotestaus Information Systems Science Tietojärjestelmätiede 601 käyttöliittymät testaus automaatio
topic_facet 601 Information Systems Science Tietojärjestelmätiede automaatio käyttöliittymät ohjelmistotestaus regressiotestaus testaus
url https://jyx.jyu.fi/handle/123456789/44340 http://www.urn.fi/URN:NBN:fi:jyu-201409262883
work_keys_str_mv AT tuominenmarkus graafistenkäyttöliittymienregressiotestauksenautomatisointi