Ohjelmistoprosessin laadunvarmistusjärjestelmän suunnittelu
Mäkinen, Sami (2020)
Mäkinen, Sami
2020
Tietotekniikan DI-tutkinto-ohjelma - Degree Programme in Information Technology, MSc (Tech)
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-05-22
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202004273995
https://urn.fi/URN:NBN:fi:tuni-202004273995
Tiivistelmä
Ohjelmistoprosessin kehitys- ja testauskäytännöt vaikuttavat suuresti prosessissa syntyvän ohjelmiston laatuun. Tässä työssä suunnitellaan vanhan ohjelmiston korvaavalle uudelle ohjelmistolle ja sen kehitysprosessille laadunvarmistusjärjestelmä. Työn tavoitteena on selvittää vanhan ohjelmiston kehityksessä ja testauksessa ilmenevät ongelmat ja etsiä niihin ratkaisu.
Työ koostuu kahdesta osasta. Organisaation lähtötilanteen ongelmakohdat arvioidaan tekemällä haastattelututkimus, jossa haastatellaan sekä järjestelmän tilaajia että toteuttajia. Haastattelumuodoksi on valittu teemahaastattelu. Haastattelututkimuksen tulosten pohjalta löydetyt ongelmakohdat kategorisoidaan ja listataan.
Työn toisessa osassa otetaan käyttöön testauksen parannusmalli – TMMi. Mallilla voidaan mitata organisaation testauksen kypsyyttä viidellä eri kypsyystasolla, jotka jakautuvat prosessialueisiin. Lisäksi malli tarjoaa konkreettisia toimenpiteitä, miten prosessialueita voidaan parantaa. Koska ohjelmiston laatuun ja kehityksen hallittavuuteen vaikuttavat olennaisesti myös kehityksen käytännöt, mallin ulkopuolelta käyttöön otettiin yhtenä merkittävän kokonaisuutena jatkuva integraatio Jenkins-alustalla.
Työ osoittaa, että TMMi-malli on käyttökelpoinen testauksen parannusmalli. Mallin materiaalit ovat ilmaiseksi helposti saatavilla ja annetut konkreettiset toimenpiteet antavat hyvän lähtökohdan, miten parannusta voidaan saada aikaan. Malli on kuitenkin luonteeltaan hyvin byrokraattinen ja vaatii paljon tuotettavaa dokumentaatiota, mikäli kaikkia ohjeistuksia noudatetaan. Lisäksi malli vaatii, että kypsyystason saavuttaakseen organisaation tulee täyttää kaikki tason prosessialueet, joten vaikka parannusta saataisiinkin aikaan, se ei välttämättä mallin kypsyysasteikolla näy. Mallin ulkopuolelta tehdyistä parannustoimenpiteistä merkittävimmäksi nousi testiautomaation laaja-alaisempi hyödyntäminen ja jatkuva integraatio. Lähes kaikkiin työn ensimmäisessä vaiheessa tunnistettuihin 27 ongelmaan löydettiin jonkinlainen ratkaisu Software development and testing methods greatly affect the quality of the finished software product. This thesis describes the design of a software quality-assurance system for a software system that is a new implementation of an older system. The goal of this thesis is to find out the issues in the old software development and testing activities and solve them.
This thesis is divided to two parts. The initial starting point of the organization is assessed by conducting a survey to both the client of the system(s) and the developing team. The interview is conducted as a theme interview. The results of the survey are used to categorize and list the issues of the development and testing activities.
In the second part of this thesis a test process improvement model – TMMi – is represented. The model can be used to measure organizations maturity in testing activities with 5 maturity levels. The 5 maturity levels are divided into specific process areas. The model offers concrete measures on how to improve each specific process area. Because software quality is greatly affected by the development methods, continuous integration on Jenkins-platform was also a major improvement performed outside of the TMMi-model scope.
This thesis shows that TMMi is an applicable test process improvement model. The materials are easily accessible free of charge and the concrete measures give a good starting point on what to do to achieve improvement. The model, however, requires a lot of bureaucracy in documentation if used by the book. Also, the requirement that all process areas of a maturity level must be achieved for the maturity level to increase, the achieved improvements might not show in increased maturity. The improvements done outside the model scope focused on wider test automation use and continuous integration, which proposed a solution to many of the problems found at the starting point. In the end almost all 27 problems found were solved at some level.
Työ koostuu kahdesta osasta. Organisaation lähtötilanteen ongelmakohdat arvioidaan tekemällä haastattelututkimus, jossa haastatellaan sekä järjestelmän tilaajia että toteuttajia. Haastattelumuodoksi on valittu teemahaastattelu. Haastattelututkimuksen tulosten pohjalta löydetyt ongelmakohdat kategorisoidaan ja listataan.
Työn toisessa osassa otetaan käyttöön testauksen parannusmalli – TMMi. Mallilla voidaan mitata organisaation testauksen kypsyyttä viidellä eri kypsyystasolla, jotka jakautuvat prosessialueisiin. Lisäksi malli tarjoaa konkreettisia toimenpiteitä, miten prosessialueita voidaan parantaa. Koska ohjelmiston laatuun ja kehityksen hallittavuuteen vaikuttavat olennaisesti myös kehityksen käytännöt, mallin ulkopuolelta käyttöön otettiin yhtenä merkittävän kokonaisuutena jatkuva integraatio Jenkins-alustalla.
Työ osoittaa, että TMMi-malli on käyttökelpoinen testauksen parannusmalli. Mallin materiaalit ovat ilmaiseksi helposti saatavilla ja annetut konkreettiset toimenpiteet antavat hyvän lähtökohdan, miten parannusta voidaan saada aikaan. Malli on kuitenkin luonteeltaan hyvin byrokraattinen ja vaatii paljon tuotettavaa dokumentaatiota, mikäli kaikkia ohjeistuksia noudatetaan. Lisäksi malli vaatii, että kypsyystason saavuttaakseen organisaation tulee täyttää kaikki tason prosessialueet, joten vaikka parannusta saataisiinkin aikaan, se ei välttämättä mallin kypsyysasteikolla näy. Mallin ulkopuolelta tehdyistä parannustoimenpiteistä merkittävimmäksi nousi testiautomaation laaja-alaisempi hyödyntäminen ja jatkuva integraatio. Lähes kaikkiin työn ensimmäisessä vaiheessa tunnistettuihin 27 ongelmaan löydettiin jonkinlainen ratkaisu
This thesis is divided to two parts. The initial starting point of the organization is assessed by conducting a survey to both the client of the system(s) and the developing team. The interview is conducted as a theme interview. The results of the survey are used to categorize and list the issues of the development and testing activities.
In the second part of this thesis a test process improvement model – TMMi – is represented. The model can be used to measure organizations maturity in testing activities with 5 maturity levels. The 5 maturity levels are divided into specific process areas. The model offers concrete measures on how to improve each specific process area. Because software quality is greatly affected by the development methods, continuous integration on Jenkins-platform was also a major improvement performed outside of the TMMi-model scope.
This thesis shows that TMMi is an applicable test process improvement model. The materials are easily accessible free of charge and the concrete measures give a good starting point on what to do to achieve improvement. The model, however, requires a lot of bureaucracy in documentation if used by the book. Also, the requirement that all process areas of a maturity level must be achieved for the maturity level to increase, the achieved improvements might not show in increased maturity. The improvements done outside the model scope focused on wider test automation use and continuous integration, which proposed a solution to many of the problems found at the starting point. In the end almost all 27 problems found were solved at some level.