Improving software quality with continuous integration

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

Mcode

T-76

Degree programme

Language

en

Pages

63

Series

Abstract

When building large software systems from several modules, integrating them into a working product is difficult and time consuming. Continuous Integration aims to help with this problem by automating the integration phase and thus enabling it to be done in several small integrations. The goal is to integrate software so often and in such small steps, to the extent that over time, it becomes smooth and in effect, the process becomes a "non-event". In this master's thesis, the idea of Continuous Integration is presented. It uses test automation, static code analysis, automatic documentation and automatic deployment in a continuous manner in order to provide just in time information about possible problems in software code. It also improves the visibility regarding current problems by notifying Software Developers as soon as a problem is identified. A qualitative study, primarily using interviews, has been conducted in an agile software development team to discover whether Continuous Integration helps the team to build working software. An additional goal is to identify how Continuous Integration helps and which specific features of Continuous Integration are the most useful.

Laajoja ohjelmistojärjestelmiä rakennettaessa useista eri komponenteista niiden integrointi toimivaksi tuotteeksi on vaikeaa ja hidasta. Jatkuvan integroinnin menetelmän tarkoituksena on auttaa automatisoimalla ohjelmiston integrointivaihe siten, että se voidaan tehdä useissa pienissä osissa. Menetelmän tavoitteena on tehdä integrointi niin pienissä osissa ja niin usein, että ajan kuluessa se sulautuu niin hyvin ohjelmistokehitysprosessiin, ettei erillistä integrointivaihetta enää tarvita. Tässä diplomityössä esitellään jatkuvan integroinnin menetelmä. Menetelmä käyttää testausautomaatio-, ohjelmakoodin analysointi- ja dokumentointityökaluja sekä automaattista asennusta, jotta ohjelmakoodista saadaan ajan tasalla olevaa tietoa siinä olevista ongelmista. Ongelmista yritetään tehdä myös näkyvämpiä lähettämällä ohjelmistokehittäjille ilmoitus heti, kun jokin ongelma havaitaan. Haastattelemalla ohjelmistokehittäjiä, jotka käyttävät ketteriä menetelmiä, tässä työssä tehdään kvalitatiivinen tutkimus, jonka tavoitteena on selvittää, auttaako jatkuvan integraation menetelmä toimivan ohjelmiston kehittämisessä. Toisena tavoitteena on selvittää miten menetelmä auttaa ja mitkä sen ominaisuuksista ovat kaikkein hyödyllisimpiä.

Description

Supervisor

Männistö, Tomi

Thesis advisor

Plaza, Juan Gutiérrez

Other note

Citation