University of Oulu

Improving software quality through non-functional testing

Saved in:
Author: Shushakova, Mariia1
Organizations: 1University of Oulu, Faculty of Information Technology and Electrical Engineering, Computer Science
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 8.6 MB)
Pages: 42
Persistent link: http://urn.fi/URN:NBN:fi:oulu-202305161777
Language: English
Published: Oulu : M. Shushakova, 2023
Publish Date: 2023-05-16
Thesis type: Master's thesis (tech)
Tutor: Turhan, Burak
Celentano, Ulrico
Reviewer: Turhan, Burak
Celentano, Ulrico
Description:

Abstract

As code becomes more complex, new functionalities are added every day, and bugs are fixed, testing gets more time-consuming and composite. In order to maintain high quality of a heavily loaded system, functional testing is not enough anymore. Testing new features involves not only functional, and regression runs, but also resource-intensive non-functional tests. Functional testing verifies a specific piece of functionality, a small business story of the whole product. However, neither full test automation nor even manual testing can guarantee stable work in production. The best approach is a complete testing solution, where non-functional testing follows functional testing inextricably.

Objective: the purpose of research is to create a system that covers non-functional testing from the performance side. It is proposed that only a combination of functional and non-functional testing can provide high quality. There is a bunch of pitfalls and nuances in tools and approaches, thus this work strives to understand them and come up with the best solution in each case.

Method: The thesis covers a comparative analysis of various tools and frameworks for load testing, developing a testing approach for an open application programming interface, which was chosen as the target software, including automated scripted tests and output results.

Results: The most suitable tool was chosen, and based on it load test scripts were implemented, thereby complementing functional testing with non-functional ones, improving the quality of the product on the whole.

Ohjelmiston laadun parantaminen ei-toiminnallisen testauksen avulla

Tiivistelmä

Kun koodi muuttuu monimutkaisemmaksi, uusia toimintoja lisätään joka päivä ja vikoja korjataan, jolloin testaamisesta tulee enemmän aikaa vievää ja monimutkaisempaa. Raskaasti kuormitetun järjestelmän korkean laadun ylläpitämiseksi toimintatestaus ei enää riitä. Uusien ominaisuuksien testaamiseen ei sisälly vain toiminnallisia ja regressio testejä, vaan myös resursseja vaativia ei-toiminnallisia testejä. Toiminnallinen testaus varmistaa tietyn vaatimuksen toimivuuden. Täysi testiautomaatio tai edes manuaalinen testaus eivät kuitenkaan takaa vakaata työtä tuotannossa. Paras lähestymistapa on ratkaisu, jossa ei-toiminnallinen testaus seuraa toiminnallista testausta erottamattomasti.

Tavoite: Tutkimuksen tarkoituksena on luoda järjestelmä, joka kattaa ei-toiminnallisen testauksen suorituskyvyn puolelta. On ehdotettu, että vain toiminnallisen ja eitoiminnallisen testauksen yhdistelmä voi tuottaa korkeaa laatua. Työkaluissa ja lähestymistavoissa on paljon sudenkuoppia ja vivahteita, joten tässä työssä pyritään ymmärtämään niitä ja löytämään kullekin tapaukselle paras ratkaisu.

Menetelmä: Opinnäytetyö kattaa erilaisten kuormitus testauksen työkalujen ja viitekehysten vertailevan analyysin, jossa kehitetään testaustapa testattavaksi ohjelmistoksi valitulle avoimelle sovellusohjelmointi rajapinnalle, mukaan lukien automaattisesti skriptatut testit ja tulosteet.

Tulokset: Paras työkalu valittiin ja sen perusteella toteutettiin kuormitustesti skriptit, jotka täydensivät toiminnallista testausta ei-toiminnallisilla parantaen tuotteen laatua kokonaisuutena.

see all

Subjects:
Copyright information: © Mariia Shushakova, 2023. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.