tesi di laurea Strumenti per il testing di applicazioni in ambiente Android Anno Accademico 2010\2011 relatore Ch.mo prof. Marcello Cinque candidato Nome Domenico Paone Matr. 534\003571
Android Testing -Le applicazioni Android essendo costituite in maniera eterogenea da componenti interattivi e componenti che lavorano spesso in background necessitano di strumenti adeguati per poter essere controllate efficacemente nel loro funzionamento.
Obiettivi della Tesi -Descrivere i principali componenti del sistema Android focalizzando l attenzione su quali sono gli aspetti più importanti e interessanti da esaminare alla luce del testing -Enunciare e descrivere le classi utilizzate per il testing dei componenti Android -Mostrare come si può,grazie al testing framework di Android,, creare un progetto di test specifico per una applicazione, e come si possa realizzare una test case che esamini,con metodi opportuni, uno specifico componente della applicazione
Principali componenti del sistema Android 1) Attività: : Componente applicativo che fornisce una schermata che permette agli utenti di interagire con essa 2) Servizi: : Componente applicativo che viene eseguito solitamente in background per effettuare elaborazioni su dei dati o per servire dei processi remoti 3) Content Provider: : Componente che gestisce uno o più insiemi di dati per le applicazioni. 4) Broadcast Receiver: : Componente che risponde a livello di sistema agli annunci trasmessi in broadcast Un aspetto innovativo:gli Intent
Strumenti per il Testing -Le test suite realizzate in Android sono basate sull uso della libreria JUnit -Le estensioni JUnit di Android forniscono classi specifiche per testare determinati componenti Android,, permettendo: 1) Controllo del ciclo di vita di un componente 2) Isolamento dell ambiente di testing dal sistema operativo 3) Interazione con l interfaccia l del componente (ottimo per le Attività)
Un esempio di testing di attività :Spinner L attività è composta da un widget per la selezione di un pianeta tra un insieme di scelte possibili, con conseguente visualizazzione in fondo allo schermo mediante una TextView
Test Project dell Attività Un Test Project è organizzato come un Application Project Invece di componenti applicativi,un Test Project è composto da una o più test case, ciascuno dei quali costituisce una classe a sés stante Possibili classi base per il testing delle attività estendibili 1)ActivityInstrumentationTestCase2 2)ActivityUnitTestCase 3)SingleLaunchActivityTestCase
Setup del Test Project in Eclipse Parametri Settati Test Project -Test Project Name -Test Target -Build Target -Application Name -Package Name -Min SDK Version Parametri Settati Test Case Class -Name -Superclass:: Classe base da cui discende la classe creata
Metodi della Test Case -Costruttore -setup() : Preparazione ambiente per l l esecuzione dei test -testpreconditions(): Testing delle condizioni iniziali UI test -testspinnerui() Testing State Management -teststatedestroy() -teststatepause()
Conclusioni I test sviluppati,una volta eseguiti hanno tutti quanti successo (anche se questo non indica che l l applicazione non sia esente da errori!!) Per verificare il funzionamento corretto dei metodi di test si può p provare a modificare il codice dell attività per inserire dei difetti da riscontrare con i metodi sviluppati. Altri test possono essere scritti per testare i seguenti aspetti -Gestione degli Intent -RunTime Configuration Changes -Screen Size and Resolution
Grazie