Micro service Testing Practices in Public Sector Software Projects

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2017-05-22
Department
Major/Subject
Automation Technology
Mcode
ELEC3025
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
83 + 9
Series
Abstract
Online services are constantly evolving, which makes service maintainability challenging. This has led to micro service architecture, where big applications are split into smaller services in order to improve applications' maintainability, scalability, and flexibility. However, splitting a single process application into multiple services causes the testing process to be more challenging. This Master's thesis is exploring these testing problems in a micro service context and finding practical guidance for the test implementation. Moreover, this Master's thesis focuses on public sector software projects. Public sector software projects are clearly predefined and the provider has open information about the project's needs. Thus, the project has a clear goal and known boundaries right from the beginning. The research approach for this study is an exploratory multiple case study consisting of three case projects. The data of the case projects were collected through semi-structural interviews and version history commit analysis. The results of this study present a set of successful practices and recommendations for taking testing into account during a micro service oriented agile development process. Successful testing requires monitoring of the project's maturity level to focus testing resources at the right time. Additionally, the case projects brought up practical testing guidance, such as understanding of the common testing responsibility, the importance of peer review, and the value of assigning a specific tester after the project has reached its end-to-end testing phase.

Web-palvelut kehittyvät jatkuvasti, mikä vaikeuttaa palveluiden ylläpitoa. Yhtenä ratkaisuna on palvelun pilkkominen osiin mikropalveluiksi. Palvelun pilkkominen edistää palvelun ylläpitoa, skaalattavuutta ja joustavuutta. Toisaalta palvelun pilkkominen mikropalveluiksi vaikeuttaa testausprosessia. Tämä diplomityö tutkii mikropalveluiden testausprosessiin liittyviä ongelmia ja etsii käytännönläheistä ohjeistuista testien toteuttamiseen mikropalveluympäristössä. Diplomityö keskittyy julkisen sektorin mikropalveluprojekteihin, koska kaikki tässä diplomityössä käytetyt tutkimusprojektit ovat julkisen sektorin hallinnoimia. Julkisen sektorin ohjelmistoprojektit ovat selkeästi esimääriteltyjä ja projektien aineisto on avoimesti saatavilla. Tämän takia projekteilla on selkeä päämäärä ja tunnetut rajat heti projektin alussa. Tutkimusmenetelmänä käytettiin tutkivaa case study -menetelmää. Tutkimus sisälsi kolme tutkimuskohdetta. Tutkimusdata kerättiin osittain jäsennetyillä kontekstuaalisilla haastatteluilla ja ohjelmistokoodin versiohallinnan historian analyysillä. Tuloksena syntyi kokoelma hyväksi todettuja käytäntöjä ja suosituksia, jotka auttavat ottamaan testauksen huomioon mikropalvelun iteratiivisessa ohjelmistokehitysprosessissa. Suositeltaviksi testauskäytännöiksi havaittiin projektin maturiteetin tarkkaileminen, että testauksen resursointi voidaan tehdä oikeaan aikaan. Lisäksi, projekteista nousi esiin muita suosituksia, kuten kehitystiimin yhteisen testaamisvastuun ymmärtäminen, koodikatselmoinnin merkitys ja erillisen testaajan tärkeys, kun projektin maturiteetti on kasvanut riittävästi.
Description
Supervisor
Kyrki, Ville
Thesis advisor
Pääkkö, Jari
Keywords
micro service, testing practices, case study, software maturity, software architecture
Other note
Citation