PORTALE DELLA DIDATTICA

Ricerca CERCA
  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