Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa

End-to-end testing (E2E Testing) of distributed and event-driven FaaS-applications is challenging because real cloud environments cannot be replicated locally and thus the tests need to be executed in the cloud. This thesis aims to investigate how end-to-end tests can be implemented for a distribute...

Täydet tiedot

Bibliografiset tiedot
Päätekijä: Lammi, Mika Joonas
Muut tekijät: Faculty of Information Technology, Informaatioteknologian tiedekunta, University of Jyväskylä, Jyväskylän yliopisto
Aineistotyyppi: Pro gradu
Kieli:fin
Julkaistu: 2024
Aiheet:
Linkit: https://jyx.jyu.fi/handle/123456789/95838
_version_ 1826225725819060224
author Lammi, Mika Joonas
author2 Faculty of Information Technology Informaatioteknologian tiedekunta University of Jyväskylä Jyväskylän yliopisto
author_facet Lammi, Mika Joonas Faculty of Information Technology Informaatioteknologian tiedekunta University of Jyväskylä Jyväskylän yliopisto Lammi, Mika Joonas Faculty of Information Technology Informaatioteknologian tiedekunta University of Jyväskylä Jyväskylän yliopisto
author_sort Lammi, Mika Joonas
datasource_str_mv jyx
description End-to-end testing (E2E Testing) of distributed and event-driven FaaS-applications is challenging because real cloud environments cannot be replicated locally and thus the tests need to be executed in the cloud. This thesis aims to investigate how end-to-end tests can be implemented for a distributed FaaS-application by implementing a working end-to-end testing framework for stakeholder organisation's application. The implementation is evaluated by functional and non-functional requirements set by the organisation and its functionality in practice is tested by using the framework to implement a real use case of the application as a test script. This thesis uses design science as a research method and the design science artifact will be the documentation of technologies and architectural decisions used in the implementation. In the final implementation, end-to-end tests are executed in an AWS CodeBuild-project in a long-term cloud environment. The implementation also supports concurrent test runs and mocking of external APIs. As a further development, a support for deployments of short-term environments could be added to the application, so that the end-to-end tests could be executed directly as a part of CI/CD execution process. Hajautettujen tapahtumaohjattujen FaaS-sovelluksien päästä päähän -testaus (E2E Testing) on haastavaa, koska pilviympäristöjä ei voida replikoida lokaalisti, ja siksi testit pitää suorittaa todellisessa pilviympäristössä. Tässä tutkielmassa tutkitaan, miten hajautetuille FaaS-sovelluksille voidaan toteuttaa päästä päähän -testejä toteuttamalla sidosryhmänä toimivan organisaation sovellukseen toimiva ohjelmistokehys päästä päähän -testausta varten. Toteutettua ohjelmistokehystä arvioidaan organisaation asettamien toiminnallisten ja laadullisten vaatimuksien pohjalta, ja sen toimivuutta käytännössä testataan toteuttamalla sen avulla sovelluksen käyttötapaukselle testiskripti. Tutkimusmenetelmänä käytetään suunnittelutieteellistä tutkimusmenetelmää, jossa luodun ohjelmistokehyksen pohjalta tehty dokumentaatio toteutuksen arkkitehtuurista ja siinä käytetyistä teknologioista toimii artefaktina. Toteutuksessa testit suoritetaan automaattisesti pitkäaikaisessa pilviympäristössä AWS CodeBuild-projektissa. Toteutus tukee rinnakkaisia testiajoja, ja siihen lisättiin tuki ulkoisten rajapintojen korvaamiseen testisijaisten avulla. Jatkokehityksenä sovellukselle voisi lisätä tuen lyhytaikaisten ympäristöjen käyttöönottamiseen, jolloin testejä voitaisiin ajaa automaattisesti suoraan CI/CD-prosessin osana.
first_indexed 2024-09-11T08:50:26Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Mikkonen, Tommi", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Lammi, Mika Joonas", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2024-06-13T07:42:41Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2024-06-13T07:42:41Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2024", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/95838", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "End-to-end testing (E2E Testing) of distributed and event-driven FaaS-applications is challenging because real cloud environments cannot be replicated locally and thus the tests need to be executed in the cloud. This thesis aims to investigate how end-to-end tests can be implemented for a distributed FaaS-application by implementing a working end-to-end testing framework for stakeholder organisation's application. The implementation is evaluated by functional and non-functional requirements set by the organisation and its functionality in practice is tested by using the framework to implement a real use case of the application as a test script. This thesis uses design science as a research method and the design science artifact will be the documentation of technologies and architectural decisions used in the implementation. In the final implementation, end-to-end tests are executed in an AWS CodeBuild-project in a long-term cloud environment. The implementation also supports concurrent test runs and mocking of external APIs. As a further development, a support for deployments of short-term environments could be added to the application, so that the end-to-end tests could be executed directly as a part of CI/CD execution process.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Hajautettujen tapahtumaohjattujen FaaS-sovelluksien p\u00e4\u00e4st\u00e4 p\u00e4\u00e4h\u00e4n -testaus (E2E Testing) on haastavaa, koska pilviymp\u00e4rist\u00f6j\u00e4 ei voida replikoida lokaalisti, ja siksi testit pit\u00e4\u00e4 suorittaa todellisessa pilviymp\u00e4rist\u00f6ss\u00e4. T\u00e4ss\u00e4 tutkielmassa tutkitaan, miten hajautetuille FaaS-sovelluksille voidaan toteuttaa p\u00e4\u00e4st\u00e4 p\u00e4\u00e4h\u00e4n -testej\u00e4 toteuttamalla sidosryhm\u00e4n\u00e4 toimivan organisaation sovellukseen toimiva ohjelmistokehys p\u00e4\u00e4st\u00e4 p\u00e4\u00e4h\u00e4n -testausta varten. Toteutettua ohjelmistokehyst\u00e4 arvioidaan organisaation asettamien toiminnallisten ja laadullisten vaatimuksien pohjalta, ja sen toimivuutta k\u00e4yt\u00e4nn\u00f6ss\u00e4 testataan toteuttamalla sen avulla sovelluksen k\u00e4ytt\u00f6tapaukselle testiskripti. Tutkimusmenetelm\u00e4n\u00e4 k\u00e4ytet\u00e4\u00e4n suunnittelutieteellist\u00e4 tutkimusmenetelm\u00e4\u00e4, jossa luodun ohjelmistokehyksen pohjalta tehty dokumentaatio toteutuksen arkkitehtuurista ja siin\u00e4 k\u00e4ytetyist\u00e4 teknologioista toimii artefaktina. Toteutuksessa testit suoritetaan automaattisesti pitk\u00e4aikaisessa pilviymp\u00e4rist\u00f6ss\u00e4 AWS CodeBuild-projektissa. Toteutus tukee rinnakkaisia testiajoja, ja siihen lis\u00e4ttiin tuki ulkoisten rajapintojen korvaamiseen testisijaisten avulla. Jatkokehityksen\u00e4 sovellukselle voisi lis\u00e4t\u00e4 tuen lyhytaikaisten ymp\u00e4rist\u00f6jen k\u00e4ytt\u00f6\u00f6nottamiseen, jolloin testej\u00e4 voitaisiin ajaa automaattisesti suoraan CI/CD-prosessin osana.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2024-06-13T07:42:41Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2024-06-13T07:42:41Z (GMT). No. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "77", "language": null, "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "CC BY 4.0", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.title", "value": "Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa", "language": null, "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202406134605", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Specialisation in Software Development", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Ohjelmistokehityksen opintosuunta", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://creativecommons.org/licenses/by/4.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}]
id jyx.123456789_95838
language fin
last_indexed 2025-02-18T10:56:28Z
main_date 2024-01-01T00:00:00Z
main_date_str 2024
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/e141a96a-19ce-4c2d-b4a5-7296e4ef44b1\/download","text":"URN:NBN:fi:jyu-202406134605.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2024
record_format qdc
source_str_mv jyx
spellingShingle Lammi, Mika Joonas Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa Specialisation in Software Development Ohjelmistokehityksen opintosuunta
title Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa
title_full Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa
title_fullStr Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa
title_full_unstemmed Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa
title_short Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa
title_sort automaattinen e2e testaus hajautetussa tapahtumaohjatussa faas sovelluksessa
title_txtP Automaattinen E2E-testaus hajautetussa tapahtumaohjatussa FaaS-sovelluksessa
topic Specialisation in Software Development Ohjelmistokehityksen opintosuunta
topic_facet Ohjelmistokehityksen opintosuunta Specialisation in Software Development
url https://jyx.jyu.fi/handle/123456789/95838 http://www.urn.fi/URN:NBN:fi:jyu-202406134605
work_keys_str_mv AT lammimikajoonas automaattinene2etestaushajautetussatapahtumaohjatussafaassovelluksessa