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
|
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. |
---|---|
Relators: | Luca Ardito |
Academic year: | 2020/21 |
Publication type: | Electronic |
Number of Pages: | 69 |
Subjects: | |
Corso di laurea: | Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering) |
Classe di laurea: | New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING |
Aziende collaboratrici: | ALTEN ITALIA SPA |
URI: | http://webthesis.biblio.polito.it/id/eprint/16645 |
Modify record (reserved for operators) |