L’obiettivo del seguente elaborato è quello di fornire le principali linee guida necessarie all’implementazione di una soluzione, sempre più rilevante, nell’ambito dello sviluppo e del rilascio di software di elevata qualità, ovvero il Continuous Testing, focalizzando l’attenzione sull’automazione dei test, in particolar modo sui test funzionali e prestazionali delle APIs. Riuscire a offrire costantemente applicativi sempre più affidabili ed efficienti, in modo da poter tenere il passo con un mercato sempre più dinamico, richiede uno sforzo non indifferente da parte delle innumerevoli organizzazioni che competono in questo ambito. Questo spinge tali organizzazioni ad eseguire notevoli modifiche relativamente alla propria struttura, la quale storicamente si è quasi sempre basata su metodologie di sviluppo monolitiche e su logiche di business statiche. Uno dei requisiti fondamentali necessari a questo tipo di cambiamento consiste nel definire e predisporre una struttura che consenta di implementare lo sviluppo del software in maniera continuativa ed automatizzata, riducendo al minimo l’intervento manuale, il quale solitamente porta ai cosiddetti bottleneck nei processi di rilascio e distribuzione del software. L’implementazione di una struttura che permetta di introdurre tutto ciò richiede di adottare strumenti e filosofie mirate a ottimizzare la collaborazione. Per questo motivo, nei seguenti capitoli, verranno introdotte differenti linee di pensiero, alcune delle quali molto legate tra loro, che vanno a definire quelli che dovrebbero rappresentare gli approcci principali da seguire al fine di implementare una struttura organizzativa tale da massimizzare l’efficienza riducendo i costi. Nel primo capitolo verrà introdotto e illustrato un nuovo approccio alla manutenzione del ciclo di sviluppo denominato DevOps, definendo il metodo con cui questo debba essere attuato e i principali benefici derivanti dal suo impiego. Dopo aver trattato i principi basilari verranno introdotte e definite 3 ulteriori metodologie, estremamente collegate tra loro, che vanno a definire i principi fondamentali da implementare al fine di elevare la qualità relativa al software. Tali principi sono noti come Continuous Integration, Continuous Delivery e Continuous Testing. Infine, nell’ultimo capitolo, verrà approfondita una particolare tipologia di test, ovvero i test funzionali e prestazionali automatizzati delle APIs. La focalizzazione su questa particolare tipologia di test nasce e viene influenzata non solo da un desiderio personale di approfondire e conoscere al meglio tale argomento ma anche da un'esperienza lavorativa di due anni nell’ambito relativo al controllo qualità di un applicativo web di tipo gestionale.

Integrazione, delivery e test del software nell'ambito della metodologia di sviluppo DevOps

NADEJDE, MADALIN ANDREI
2024/2025

Abstract

L’obiettivo del seguente elaborato è quello di fornire le principali linee guida necessarie all’implementazione di una soluzione, sempre più rilevante, nell’ambito dello sviluppo e del rilascio di software di elevata qualità, ovvero il Continuous Testing, focalizzando l’attenzione sull’automazione dei test, in particolar modo sui test funzionali e prestazionali delle APIs. Riuscire a offrire costantemente applicativi sempre più affidabili ed efficienti, in modo da poter tenere il passo con un mercato sempre più dinamico, richiede uno sforzo non indifferente da parte delle innumerevoli organizzazioni che competono in questo ambito. Questo spinge tali organizzazioni ad eseguire notevoli modifiche relativamente alla propria struttura, la quale storicamente si è quasi sempre basata su metodologie di sviluppo monolitiche e su logiche di business statiche. Uno dei requisiti fondamentali necessari a questo tipo di cambiamento consiste nel definire e predisporre una struttura che consenta di implementare lo sviluppo del software in maniera continuativa ed automatizzata, riducendo al minimo l’intervento manuale, il quale solitamente porta ai cosiddetti bottleneck nei processi di rilascio e distribuzione del software. L’implementazione di una struttura che permetta di introdurre tutto ciò richiede di adottare strumenti e filosofie mirate a ottimizzare la collaborazione. Per questo motivo, nei seguenti capitoli, verranno introdotte differenti linee di pensiero, alcune delle quali molto legate tra loro, che vanno a definire quelli che dovrebbero rappresentare gli approcci principali da seguire al fine di implementare una struttura organizzativa tale da massimizzare l’efficienza riducendo i costi. Nel primo capitolo verrà introdotto e illustrato un nuovo approccio alla manutenzione del ciclo di sviluppo denominato DevOps, definendo il metodo con cui questo debba essere attuato e i principali benefici derivanti dal suo impiego. Dopo aver trattato i principi basilari verranno introdotte e definite 3 ulteriori metodologie, estremamente collegate tra loro, che vanno a definire i principi fondamentali da implementare al fine di elevare la qualità relativa al software. Tali principi sono noti come Continuous Integration, Continuous Delivery e Continuous Testing. Infine, nell’ultimo capitolo, verrà approfondita una particolare tipologia di test, ovvero i test funzionali e prestazionali automatizzati delle APIs. La focalizzazione su questa particolare tipologia di test nasce e viene influenzata non solo da un desiderio personale di approfondire e conoscere al meglio tale argomento ma anche da un'esperienza lavorativa di due anni nell’ambito relativo al controllo qualità di un applicativo web di tipo gestionale.
2024
Integration, Delivery and Testing of Software in the Context of the DevOps Development Methodology
DevOps
Test
Prestazioni
API
File in questo prodotto:
File Dimensione Formato  
Nadejde_Madalin_Andrei.pdf

Accesso riservato

Dimensione 1.57 MB
Formato Adobe PDF
1.57 MB Adobe PDF

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/97706