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
Description
Summary: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.