|
|
In questi anni gli avanzamenti della tecnologia hanno portato ad un enorme diffusione dei dispositivi connessi alla rete, generando un incredibile aumento del traffico e dei dati. Il solo poter gestire ed analizzare questi dati può risultare molto remunerativo per un'azienda, ma costruire in-house questo genere di servizi è estremamente costoso e difficile. Questo ed altri motivi hanno portato alla nascita del cloud computing, un modello per la condivisione on-demand di risorse computazionali. Tra i principali cloud provider va citato Amazon Web Services, uno dei leader di questo mercato e che di recente ha sviluppato una particolare tecnologia, Amazon Elastic GPUs.
Questo progetto permette di collegare, in modo elastico, potenza grafica ad un'istanza che ne sarebbe sprovvista, in modo che l'utente possa scegliere la configurazione a lui più adatta e ottimizzare i costi.
Un servizio così complesso ha bisogno di essere testato in modo estensivo, soprattutto durante la manutenzione, quando bisogna verificare che le modifiche non danneggino il comportamento originale del servizio. Per fare ciò è necessario utilizzare le corrette tecniche di testing per evitare di impiegare troppe risorse. Al giorno d'oggi si stanno diffondendo varie metodologie di verifica del software, molte delle quali hanno come loro punto forte la possibilità di automatizzare, escludendo quasi completamente dal processo l'essere umano.
Nel mio progetto di tesi ho cercato di utilizzare queste metodologie per migliorare il grado di automazione di un'implementazione di OpenGL come Elastic GPUs, cercando anche di rendere i test più veloci possibile e ponendo particolare enfasi sull'espressività in caso di fallimento. Tutto ciò al fine di individuare eventuali errori in modo molto rapido e semplice.
keywords
Testing, Automatizzazione, OpenGL, Amazon Elastic GPUs, Scripting