polito.it
Politecnico di Torino (logo)

Testing integrato di architetture micro front-end = Integrated testing of micro front-end architectures

Isabella Romita

Testing integrato di architetture micro front-end = Integrated testing of micro front-end architectures.

Rel. Luca Ardito. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2020

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (2MB) | Preview
Abstract:

Contesto Nell’ambito dell’ingegneria del software, il testing ricopre un ruolo fondamentale. E’ un’attività costosa e che richiede anche molto tempo, a prescindere dal fatto che venga svolta in un contesto aziendale o meno. Nel corso degli anni infatti, il software testing è diventato sempre più complicato, a causa della vasta gamma di linguaggi di programmazione, sistemi operativi e piattaforme hardware che si sono evolute rapidamente. Praticamente tutto ciò che ci circonda possiede una componente software, ed è proprio per questa ragione che diventa essenziale il ruolo del testing. Obiettivo Lo scopo di questa tesi è analizzare le varie tecniche di testing a livello front-end, focalizzando l’attenzione su test unitari e su test integrati, con l’obiettivo finale di capire come tali tecniche si sposino con un contesto DevOps. Metodo Partendo dallo sviluppo di un’applicazione Angular, la tesi realizza una Continuous Integration/Continuous Delivery pipeline tramite le GitHub Actions messe a disposizione da GitHub stesso. Il flusso di lavoro parte dal testing statico, per poi focalizzare l’attenzione su test unitari, effettuati tramite il framework Jest, e test end-to-end, realizzati tramite Cypress, e infine terminare con il deploy su Firebase, una piattaforma di hosting online, solo in seguito al superamento di tutti i test. Risultati La pipeline realizzata è in grado di separare perfettamente l’ambiente di testing da quello di sviluppo, con processi di testing che riescono a raggiungere una code coverage totale superiore al 90%. Inoltre tutta la reportistica in merito ai risultati ottenuti è disponibile online. Conclusioni Gli strumenti utilizzati, nonostante il loro recente ingresso nel mercato, si sono rivelati adatti alla realizzazione di una CI/CD pipeline. Per quanto riguarda la fase finale di Deploy, potrebbe essere anche utilizzata una piattaforma diversa, o anche la versione a pagamento di quella presa qui in esame, per permettere l’hosting di applicazioni più grandi.

Relatori: Luca Ardito
Anno accademico: 2020/21
Tipo di pubblicazione: Elettronica
Numero di pagine: 69
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: ALTEN ITALIA SPA
URI: http://webthesis.biblio.polito.it/id/eprint/16645
Modifica (riservato agli operatori) Modifica (riservato agli operatori)