Key Performance Indicators for Automated Testing and Continuous Software Integration

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2018-06-18

Department

Major/Subject

Computer Science

Mcode

T-110

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

70

Series

Abstract

Evolving software development practices and automation are accelerating the modern software development process. Automation in both software integration and software testing can deliver several widely acknowledged benefits to organizations that invest in it. But in order to reach the full potential of the automation, the process needs to be managed and understood. Managing any system requires feedback from the managed system and the feedback from software development process is the software development metrics. Traditional software development metrics are concentrating around processes involving people rather than automation. In order to understand the new automated processes, new metrics are needed. These practices of continuous integration and automated testing, along with the agile development model, no longer produce the artifacts traditionally used to measure and understand the development process. This thesis explores and presents some new software development artifacts and performance indicators derived from them. These artifacts and measures are selected using a top-down goal-oriented process with continuous integration and automatic testing specifically in mind. These metrics and indicators are developed in a context of embedded systems development at KONE software development. In that context, complex integration flows, tens of thousands of regression test cases and laborious regression analysis involve poorly understood and often informal subprocesses. Nevertheless, these subprocesses offer new measurable software development artifacts that can bring new insight to managing these systems.

Kehittyvät ohjelmistokehitystavat ja automaatio kiihdyttävät modernia ohjelmistonkehitysprosessia. Automaatio sekä integraatiossa että ohjelmistotestauksessa tarjoaa monia laajasti tunnustettuja hyötyjä organisaatioille, jotka panostavat siihen. Jotta automaation täysi potentiaali voidaan hyödyntää, sen prosessia pitää hallita ja ymmärtää. Minkä tahansa järjestelmän hallinta vaatii palautetta hallittavasta järjestelmästä ja ohjelmistokehitys mittarit ovat ohjelmistokehityksen antamaa palautetta. Perinteiset ohjelmistokehitysmittarit keskittyvät prosesseihin ihmisten ympärillä automaatioprosessien sijaan. Ymmärtääksemme uusia automatisoituja prosesseja tarvitsemme uusia mittareita. Jatkuva integraatio ja testiautomaatio yhdessä ketterien kehitysmallien kanssa eivät enää tuota artefakteja, joita on perinteisesti käytetty kehitysprosessin mittaamiseen ja ymmärtämiseen. Tämä diplomityö tutkii ja esittelee uusia ohjelmistokehityksen artefakteja ja niistä johdettuja suorituskykymittareita käyttäen tavoitelähtöistä top-down prosessia erityisesti jatkuvaa integraatioita ja testiautomaatioita silmällä pitäen. Näitä mittareita ja indikaattoreita kehitetään sulautettujen järjestelmien kehityksessä KONEen ohjelmistokehitysosastolla. Siinä kontekstissa kompleksit integraatiovirrat, kymmenet tuhannet regressio-testitapaukset ja työläs regressioanalyysi sisältävät huonosti ymmärrettyjä ja usein epäformaaleja aliprosesseja. Kuitenkin nämä aliprosessit tarjoavat uusia mitattavia ohjelmistokehityksen artefakteja, jotka voivat tuoda uutta ymmärrystä näiden järjestelmien hallintaan.

Description

Supervisor

Tripakis, Stavros

Thesis advisor

Karjalainen, Antti

Keywords

key performance indicator, test automation, continuous integration, software automation

Other note

Citation