Automated regression testing in SaaS environment upgrades
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Master's thesis
Authors
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, ValeriyThesis advisor
Pitkäranta, TapioKeywords
customer data, responsibilities, Software as a Service, software quality