Sviluppo di un progetto di automation testing con approccio BDD e gestione delle CI/CD pipelines
Nei moderni ambienti di sviluppo software, come quelli che applicano paradigmi Agile e DevOps, cresce l’attenzione e l’investimento verso tecniche e tecnologie per il Testing e la loro automazione, strumenti e cicli di collaudo oggi indispensabili per il miglioramento della qualità del prodotto da portare in produzione e per fare la differenza rispetto ai competitor.
L’azienda multinazionale Travelport Digital Ltd è una software house americana focalizzata sulle travel agencies che ha come obiettivo principale quello di semplificare la complessa industria dei trasporti e del turismo, fornendo servizi dedicati ai viaggiatori e ad organizzazioni terze.
Il tirocinio di sei mesi presso la filiale di Dublino è stato speso lavorando in un Agile team e rivestendo il ruolo di Quality Assurance Engineer della componente Web frontend di un applicativo che aiuta le aziende a trovare le migliori opzioni di viaggio facendo scraping di voli, hotel, treni ed auto a noleggio. TripSource è un sistema di pianificazione e prenotazione unificata rivolto a business travellers che vogliono avere un itinerario dettagliato dei propri viaggi con update in tempo reale sullo stato dei mezzi prenotati.
In particolare, mi sono occupato di svariate attività di sviluppo della test suite per l’applicativo TripSource: ho sviluppato test case per un progetto di User Interface Test Automation, migliorando la coverage della test suite end-to-end sulla componente grafica dell’applicativo Web; ho svolto attività di Manual Exploratory Testing sulle features appena terminate; ho contribuito alla scrittura di script per l’efficientamento della pipeline Continuous Integration e Continuous Delivery aziendale e per l’integrazione dei test automatici sviluppati.
Per tutti i team di Travelport il testing e l’attenzione per la qualità sono componenti fondamentali del processo di sviluppo, ingredienti senza i quali il delivery non può avvenire. Il presente lavoro di tesi consiste quindi nello studio dell’attività di testing effettuata durante il periodo di tirocinio. In particolare si vuole approfondire design ed implementazione del progetto di Test Automation realizzato, fornendo anche una panoramica su come avviene l’integrazione del testing all’interno del complesso ciclo di sviluppo caratterizzante una realtà di business di dimensioni medio grandi.