KEYWORD |
Repair automatico di test per applicazioni Android sviluppati con il framework Appium
Parole chiave ANDROID, INTERFACCIA GRAFICA, TEST DEL SOFTWARE
Riferimenti LUCA ARDITO, MAURIZIO MORISIO
Riferimenti esterni COPPOLA RICCARDO
Gruppi di ricerca DAUIN - GR-16 - SOFTWARE ENGINEERING GROUP - SOFTENG
Tipo tesi SPERIMENTALE
Descrizione Nell'ambito dello sviluppo di applicazioni mobile, la pratica del testing può risultare non gestibile dal punto di vista del tempo e dei costi necessari, specialmente in contesti industriali. Una delle cause principali di questo elevato costo è l'evoluzione molto frequente delle interfacce grafiche delle applicazioni, che possono invalidare i test case che identificano le operazioni da compiere utilizzando le proprietà delle componenti delle interfacce.
Il Repair automatico dei test è un ambito di ricerca, affermatosi recentemente, il cui obiettivo principale è modificare automaticamente i test case quando l'applicazione evolve. Tali modifiche permettono di rendere i test case nuovamente funzionanti, anche nel caso in cui gli elementi della GUI che utilizzano sono stati modificati nel progetto dell'applicazione.
Gli obiettivi del lavoro di tesi proposto sono i seguenti:
- effettuare un'analisi delle tecniche esistenti per il repair di test cases non funzionanti, e identificare le loro caratteristiche, i vantaggi principali, e gli ambiti in cui sono applicabili;
- analizzare le cause principali per l'invalidazione dei test case. Il lavoro di tesi si focalizzerà su test case realizzati con il framework Appium;
- validare un Widget Similarity Index (indice di similitudine delle componenti GUI) che permetta di tenere traccia dell'evoluzione dell'interfaccia grafica dell'applicazione, e identificare widget equivalenti in release diverse della stessa;
- sviluppare un framework che aggiorni e ripari automaticamente i test case quando i widget coinvolti all'interno di essi sono modificati;
- validare empiricamente il framework su un set di applicazioni esistenti.
Conoscenze richieste Sviluppo Java
Conoscenze nell'ambito del software testing
Conoscenze nell'ambito dello sviluppo di applicazioni Android
Scadenza validita proposta 04/05/2022
PROPONI LA TUA CANDIDATURA