Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla

Regressiotestaus on välttämätön ja olennainen osa ohjelmistokehitysprosessia. Regressiotestien määrän kasvaessa suureksi tai jonkin muun syyn takia saattaa regressiotestien suoritusaika olla liian pitkä kerralla suoritettavaksi. Tällöin tarvitaan keinoja valita ja priorisoida regressiotestisettiä su...

Full description

Bibliographic Details
Main Author: Rantanen, Sami
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: 2019
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/65353
_version_ 1826225701363122176
author Rantanen, Sami
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Rantanen, Sami Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Rantanen, Sami Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Rantanen, Sami
datasource_str_mv jyx
description Regressiotestaus on välttämätön ja olennainen osa ohjelmistokehitysprosessia. Regressiotestien määrän kasvaessa suureksi tai jonkin muun syyn takia saattaa regressiotestien suoritusaika olla liian pitkä kerralla suoritettavaksi. Tällöin tarvitaan keinoja valita ja priorisoida regressiotestisettiä suoritusajan lyhentämiseksi. Valinta ja priorisointi voidaan tehdä manuaalisesti, mutta useimmiten sitä automatisoidaan tai ainakin on pyrkimys automatisoida. Regressiotestien valinta ja priorisointi on varsin tutkittu aihealue, mutta käytännöntoteutuksien aineistoa on saatavilla varsin niukasti. Tässä pro gradu -tutkielmassa tutkitaan ja kehitetään tapa suorittaa valikoitu regressiotestijoukko ohjelmistoon tehdylle muutokselle perustuen testien koodikattavuustietoihin. Tutkittavana kohteena on erään yrityksen Android-sovelluksen kehitysprosessi, johon toteutetaan ja integroidaan tarvittavat ohjelmistot. Tutkimuksen kohteena oleva ohjelmistonkehitysprosessi noudattelee jatkuva integraatio -prosessin periaatteita. Kehitetyssä ohjelmistossa käytetyt valintamenetelmät pohjautuvat aihealueen tutkimukseen. Tutkielmassa kehitetyn ohjelmiston avulla voidaan valita regressiotestit olemassa olevasta suuremmasta testijoukosta ohjelmistomuutoksen laadun varmistamiseksi. Tutkielma esittelee käytännöntoteutuksen rajata regressiotestijoukkoa tuoden esille aihealueeseen ja toteutettuun ratkaisuun liittyviä mahdollisia jatkokehitys ja -tutkimusideoita. Regression testing is necessary and essential part of the software development process. When the amount of the regression tests increases or for some other reason, the execution of the full regression might take too long time. To shorten execution time of the regression tests, selection and prioritization of the regression test set is needed. Selection and prioritization can be performed manually, but often the process is automated or at least it was aimed to automate. Area of regression test selection and prioritization is studied widely, but few practical studies are existing. In this master’s thesis is studied and developed a way to perform a selected set of regression test cases for a software change based on the code coverage information produced by test case executions. A software development process of the case company is selected for the study target. In the process is developed an Android application. In the studied process is applied continuous integration principles. Selection methods utilized in the developed software are based on the area of the research. With the software developed in the study, it is possible to select the sub-set of the regression test cases from the full test set to ensure quality of the software change. The study introduces practical implementation to limit the full regression test set by proposing ideas for the future research in the subject area and to further develop the solution.
first_indexed 2019-08-29T20:00:59Z
format Pro gradu
fullrecord [{"key": "dc.contributor.advisor", "value": "Kaijanaho, Antti-Juhani", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Rantanen, Sami", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2019-08-29T06:15:58Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2019-08-29T06:15:58Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2019", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/65353", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Regressiotestaus on v\u00e4ltt\u00e4m\u00e4t\u00f6n ja olennainen osa ohjelmistokehitysprosessia.\nRegressiotestien m\u00e4\u00e4r\u00e4n kasvaessa suureksi tai jonkin muun syyn takia saattaa regressiotestien\nsuoritusaika olla liian pitk\u00e4 kerralla suoritettavaksi. T\u00e4ll\u00f6in tarvitaan keinoja valita\nja priorisoida regressiotestisetti\u00e4 suoritusajan lyhent\u00e4miseksi. Valinta ja priorisointi voidaan\ntehd\u00e4 manuaalisesti, mutta useimmiten sit\u00e4 automatisoidaan tai ainakin on pyrkimys automatisoida.\nRegressiotestien valinta ja priorisointi on varsin tutkittu aihealue, mutta k\u00e4yt\u00e4nn\u00f6ntoteutuksien\naineistoa on saatavilla varsin niukasti. T\u00e4ss\u00e4 pro gradu -tutkielmassa tutkitaan\nja kehitet\u00e4\u00e4n tapa suorittaa valikoitu regressiotestijoukko ohjelmistoon tehdylle muutokselle\nperustuen testien koodikattavuustietoihin. Tutkittavana kohteena on er\u00e4\u00e4n yrityksen\nAndroid-sovelluksen kehitysprosessi, johon toteutetaan ja integroidaan tarvittavat ohjelmistot.\nTutkimuksen kohteena oleva ohjelmistonkehitysprosessi noudattelee jatkuva integraatio\n-prosessin periaatteita. Kehitetyss\u00e4 ohjelmistossa k\u00e4ytetyt valintamenetelm\u00e4t pohjautuvat aihealueen\ntutkimukseen. Tutkielmassa kehitetyn ohjelmiston avulla voidaan valita regressiotestit\nolemassa olevasta suuremmasta testijoukosta ohjelmistomuutoksen laadun varmistamiseksi.\nTutkielma esittelee k\u00e4yt\u00e4nn\u00f6ntoteutuksen rajata regressiotestijoukkoa tuoden esille\naihealueeseen ja toteutettuun ratkaisuun liittyvi\u00e4 mahdollisia jatkokehitys ja -tutkimusideoita.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Regression testing is necessary and essential part of the software development\nprocess. When the amount of the regression tests increases or for some other reason, the\nexecution of the full regression might take too long time. To shorten execution time of the\nregression tests, selection and prioritization of the regression test set is needed. Selection\nand prioritization can be performed manually, but often the process is automated or at least it\nwas aimed to automate. Area of regression test selection and prioritization is studied widely,\nbut few practical studies are existing. In this master\u2019s thesis is studied and developed a way\nto perform a selected set of regression test cases for a software change based on the code\ncoverage information produced by test case executions. A software development process of\nthe case company is selected for the study target. In the process is developed an Android\napplication. In the studied process is applied continuous integration principles. Selection\nmethods utilized in the developed software are based on the area of the research. With the\nsoftware developed in the study, it is possible to select the sub-set of the regression test cases\nfrom the full test set to ensure quality of the software change. The study introduces practical\nimplementation to limit the full regression test set by proposing ideas for the future research\nin the subject area and to further develop the solution.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2019-08-29T06:15:57Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2019-08-29T06:15:58Z (GMT). No. of bitstreams: 0\n Previous issue date: 2019", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "72", "language": "", "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": "jatkuva integraatio", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "testausautomaatio", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ohjelmiston laatu", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "regressiotestaus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "koodikattavuus", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla", "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-201908293959", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "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.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "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.accesslevel", "value": "restrictedAccess", "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": "testaus", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "integraatio", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "Android", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "ohjelmistokehitys", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "priorisointi", "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.rights.accessrights", "value": "The author has not given permission to make the work publicly available electronically. Therefore the material can be read only at the archival workstation at Jyv\u00e4skyl\u00e4 University Library (https://kirjasto.jyu.fi/en/workspaces/facilities).", "language": "en", "element": "rights", "qualifier": "accessrights", "schema": "dc"}, {"key": "dc.rights.accessrights", "value": "Tekij\u00e4 ei ole antanut lupaa avoimeen julkaisuun, joten aineisto on luettavissa vain Jyv\u00e4skyl\u00e4n yliopiston kirjaston arkistoty\u00f6semalta. Ks. https://kirjasto.jyu.fi/fi/tyoskentelytilat/laitteet-ja-tilat..", "language": "fi", "element": "rights", "qualifier": "accessrights", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_65353
language fin
last_indexed 2025-02-18T10:54:58Z
main_date 2019-01-01T00:00:00Z
main_date_str 2019
publishDate 2019
record_format qdc
source_str_mv jyx
spellingShingle Rantanen, Sami Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla jatkuva integraatio testausautomaatio ohjelmiston laatu regressiotestaus koodikattavuus Tietotekniikka Mathematical Information Technology 602 testaus integraatio Android ohjelmistokehitys priorisointi
title Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla
title_full Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla
title_fullStr Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla
title_full_unstemmed Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla
title_short Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla
title_sort ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla
title_txtP Ohjelmistomuutosten laadunvarmistus valikoiduilla testitapauksilla
topic jatkuva integraatio testausautomaatio ohjelmiston laatu regressiotestaus koodikattavuus Tietotekniikka Mathematical Information Technology 602 testaus integraatio Android ohjelmistokehitys priorisointi
topic_facet 602 Android Mathematical Information Technology Tietotekniikka integraatio jatkuva integraatio koodikattavuus ohjelmistokehitys ohjelmiston laatu priorisointi regressiotestaus testaus testausautomaatio
url https://jyx.jyu.fi/handle/123456789/65353 http://www.urn.fi/URN:NBN:fi:jyu-201908293959
work_keys_str_mv AT rantanensami ohjelmistomuutostenlaadunvarmistusvalikoiduillatestitapauksilla