Automated regression testing in SaaS environment upgrades

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Master's thesis

Date

2018-12-17

Department

Major/Subject

Control, robotics and autonomous systems

Mcode

ELEC3025

Degree programme

AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)

Language

en

Pages

123 + 20

Series

Abstract

Customers expect SaaS to be a reliable and highly available service. Thus, any maintenance done in the service should not affect daily use of the software. This study was done for a Finnish SaaS company that had faced challenges with version upgrades where customers had suffered from defects in production environments. Version upgrade testing was also done manually, which was not considered a viable option with a rapidly increasing amount of customers. Thus, a hypothesis was made that automated regression testing would help to improve the upgrading process and a research problem was determined as how the existing upgrade process could be automated. Responsibilities in version upgrades were also studied. The research followed the Information systems research method. First, the challenges and responsibilities in the existing upgrading process were studied by interviewing case company employees. The biggest challenges in the process were coordination, validation and unreliable upgrades. Thereafter, solutions for found challenges as well as benefits of regression testing were researched. Concurrently, defect reports and existing documentation in the case company were gathered and analyzed. Finally, the findings from literature and the case company were combined to suggest a new upgrading process that was tested in the environment upgrade of a customer. The study confirmed the hypothesis and that regression testing can be used in SaaS version upgrades. Automated regression testing helps to find differences between two versions, shifts work from repetitive manual validation to checking and evaluating automated validation results as well as likely improves software quality. However, the upgrading process was not fully automated in the study and the regression testing process was only tested with a single customer. Thus, there is a need for further testing and improving to take the process into full use. In addition, some product development is likely needed to automate the rest of the process.

Asiakasodotusten mukaan SaaS on luotettava ja hyvin saatavilla oleva palvelu. Mitkään palvelussa suoritettavat huoltotoimenpiteet eivät saisi vaikuttaa ohjelmiston päivittäiseen käyttöön. Tutkimus tehtiin suomalaiselle SaaS-yritykselle, jonka asiakkaat olivat kärsineet ongelmista tuotantoympäristöjen päivityksissä. Myös versiopäivitystestaus tehtiin manuaalisesti, mitä ei pidetty kannattavana vaihtoehtona asiakasmäärän nopean kasvun vuoksi. Tutkimuksen hypoteesi oli, että automaattinen regressiotestaus auttaisi parantamaan päivitysprosessia. Tutkimusongelmaksi määriteltiin, miten nykyistä päivitysprosessia voitaisiin automatisoida. Lisäksi tutkittiin vastuujakoa versiopäivityksissä. Tutkimus noudatti Information systems -tutkimusmenetelmää. Ensiksi nykyisen päivitysprosessin haasteet ja vastuut selvitettiin haastattelemalla yrityksen työntekijöitä. Suurimmat haasteet olivat koordinoinnissa, validoinnissa ja epäluotettavissa päivityksissä. Ratkaisuja näihin haasteisiin sekä regressiotestauksen hyötyjä etsittiin kirjallisuudesta. Samalla koottiin ja analysoitiin virheilmoitukset sekä olemassa oleva dokumentaatio. Lopuksi, esitettiin kirjallisuuteen ja analysoituun materiaaliin perustuva uusi päivitysprosessi, jota testattiin asiakasympäristön päivityksessä. Tutkimus vahvisti hypoteesin oikeaksi. Regressiotestausta voidaan hyödyntää SaaS-versiopäivityksissä. Automaattinen regressiotestaus mahdollistaa erojen löytämisen kahden version välillä, siirtymisen manuaalisesta toistuvasta validoinnista tarkistamaan automaattisia validointituloksia sekä todennäköisesti ohjelmiston laadun paranemisen. Päivitysprosessia ei kuitenkaan täysin automatisoitu tutkimuksen aikana, ja regressiotestausprosessia testattiin vain yhdellä asiakkaalla. On siis tarpeen jatkaa prosessin testaamista ja parantamista. Todennäköisesti tarvitaan myös jonkin verran tuotekehitystä, jotta koko päivitysprosessi saataisiin automatisoitua.

Description

Supervisor

Vyatkin, Valeriy

Thesis advisor

Pitkäranta, Tapio

Keywords

customer data, responsibilities, Software as a Service, software quality

Other note

Citation