Confronto sperimentale tra tecniche di testing automatico per applicazioni Android



Похожие документы
Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB:

Tesi di laurea specialistica SPERIMENTAZIONI DI TECNICHE DI TESTING STATICO PER APPLICAZIONI ANDROID

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Test in automatico di programmi Android

Strumenti per la gestione della configurazione del software

Strategie per il miglioramento dei log applicativi basate su Software Fault Injection

Definizione di metodi e tecniche per il testing di applicazioni Android Sensor Based

Valutazione sperimentale di middleware pub/sub per reti wireless!

Un approccio innovativo alla tecnica di robustness testing del sistema operativo Linux

Strumenti per il testing di applicazioni in ambiente Android

Il sistema operativo TinyOS

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

Confronto tra strumenti e tecniche per il Reverse Engineering in Macromedia Flash e Microsoft Silverlight

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato

Uno strumento per la valutazione automatica dell accessibilità delle

tesi di laurea Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana candidato Pasquale Ludi Matr. 534\000438

Sviluppo e integrazione di strumenti a supporto del reverse engineering di applicazioni flash

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Strumento per l iniezione di guasti software nel sistema operativo GNU/Linux

Generazione Automatica di Asserzioni da Modelli di Specifica

CONVERTITORE SERIALE ASINCRONO RS485 / USB

02 L Informatica oggi. Dott.ssa Ramona Congiu

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Una metodologia per la definizione dei livelli di criticità dei componenti di un sistema software complesso

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Analisi della dependability di un middleware per la

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Analisi di prestazioni di applicazioni web in ambiente virtualizzato

CONVERTITORE SERIALE ASINCRONO RS232/USB, TTL/USB e RS485/USB CONFIG BOX PLUS

Realizzazione di un applicazione per la stesura di un Business Plan

IRSplit. Istruzioni d uso 07/10-01 PC

Reingegnerizzazione del processo di test nel contesto Exprivia

Il sistema C.R.M. / E.R.M.

con ANTLR tesi di laurea Anno Accademico Relatore Ch.mo prof. Porfirio Tramontana Candidato Fabio Canova Matr

Valutazione della Didattica On-Line

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

e-dva - eni-depth Velocity Analysis

Configuration Management

Realizzazione di un tool di instrumentazione automatica a supporto della failure analysis

Progetto e sviluppo di un applicazione per il pilotaggio remoto di reti

automazione impianti produzione calcestruzzo per alimentazione vibropresse e tubiere

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

MoniThor di IDC-Informatica Centralizzazione di controlli per apparati eterogenei

Implementazione di un servizio VoIP in ambienti SOA per mobile computing

il servizio web per le comunicazioni scuola famiglia Descrizione generale del prodotto

WBT Authoring. Web Based Training STUDIO

Modulo PCT Redattore atti per il Processo Telematico. Versione speciale per gli iscritti al Consiglio dell Ordine degli Avvocati di Roma

Organizzazione dell'interfaccia utente su Android

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

Università degli Studi di Genova Facoltà di Ingegneria. Tesi di Laurea in Ingegneria Elettronica

INSTALLAZIONE DEL NUOVO SERVIZIO VPN VIRTUAL PRIVATE NETWORK (sistemi Windows e Android)

Analisi e sviluppo di un portale di e-commerce

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Calcolo Focale. Ing. Vincenzo Falanga

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Progettazione e sviluppo di uno strumento di monitoraggio dei componenti software di un sistema per il controllo del traffico aereo

FIRMA DIGITALE RETAIL

Manuale d'uso del Connection Manager

FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA. Presentazione

FORYOU Passione per la comunicazione. Direct Marketing Concorsi via Sms

Kartè VISION Il Digital signage cambia volto

ZFIDELITY - ZSE Software & Engineering Pag.1 / 11

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Posta elettronica, Internet e controlli sui dipendenti Relatore Avv. Giampiero Falasca

Progettazione di un tool a supporto di un metodo per la selezione delle tecniche di test

Tecniche di progettazione e sviluppo di applicazioni mobile

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

SISTEMI MULTIAGENTE. Esercizio

11. Evoluzione del Software

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Convegno 6 giugno 2013 Federlazio Frosinone

Analisi e sviluppo di un componente per un ESB open source

2.1 Configurare il Firewall di Windows

Metodologia di monitoraggio Impianti fotovoltaici

La memoria centrale (RAM)

SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI

Progetto e sviluppo di unʼapplicazione iphone per lʼaccesso a reti di sensori senza fili."

VISUALFLEET Software Overview

Analisi e sperimentazione della piattaforma Web Service Notification nell ambito del controllo del traffico aereo

UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II

Si applica a: Windows Server 2008

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006

Dispensa di Informatica I.1

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Транскрипт:

Tesi di laurea in Ingegneria del Software Confronto sperimentale tra tecniche di testing automatico per applicazioni Anno Accademico 2011/2012 Relatore Ch.mo prof. Porfirio Tramontana Correlatore Ing. Domenico Amalfitano Candidato Danilo Lapegna Matr. 534/002295

Scopo Comparare l'efficacia e l'efficienza di tre differenti approcci al Testing automatico per Il Testing automatico è quella pratica attraverso cui si testa un software con l'utilizzo di tecniche, strumenti, tool in grado di generare e/o scatenare in maniera automatica eventi sulla relativa interfaccia utente Metriche valutate Linee di codice sorgente coperto Crash scatenati Difetti rilevati Tempo di esecuzione dei casi di test a parità di risorse hardware

Possibili approcci al Testing Automatico Random testing Nessuna conoscenza pregressa dell'interfaccia, che viene esercitata attraverso un insieme di eventi casuali o pseudo-casuali -based Nessuna conoscenza pregressa dell'interfaccia, che viene esplorata secondo precise strategie di navigazione Model-based Casi di test generati a partire da un modello astratto dell'interfaccia ricavato per reverse engineering

Sistema operativo per dispositivi mobili sviluppato dalla Google Inc. Basato su un kernel derivato da quello di Linux Installato su dispositivi dotati di un insieme eterogeneo di sensori e dispositivi di comunicazione ma di ridotte risorse hardware Installato su oltre il 59% dei dispositivi mobili attualmente in uso Le applicazioni sono costituite da schermate dette Activity, a loro volta formate da widget (bottoni, caselle di testo, checkbox) che compongono l'interfaccia utente oggetto di testing

UI/Application Exerciser Tool di random testing integrato nel sistema operativo Permette di scatenare sull'interfaccia utente un numero definibile dall'utente di eventi pseudo-casuali Oltre al numero di eventi, consente di regolarne la frequenza in base alla tipologia (tasti di navigazione, di sistema, etc.) nonché il tempo tra due eventi consecutivi Si è cercato di inserire frequenze eventi che potessero massimizzare la percentuale di linee di codice coperte nonché la quantità di bug e crash rilevati

Necessita di parametri preliminari, come il criterio di terminazione dell'esplorazione, il tipo di eventi da fornire ed il tempo tra due eventi consecutivi Simile ai web crawler, esplora metodicamente la di un'applicazione in maniera da raccoglierne informazioni, generarvi eccezioni non gestite e dedurne un modello a stati Il modello generato, in formato xml, è il punto di partenza per la generazione dei casi di test TAR

TAR Test Case Generator Sviluppato dal Department of Computer Science dell'university of Maryland negli U.S.A Genera un insieme di casi di test a partire da un modello dell'interfaccia dell'applicazione I casi di test possono essere convertiti ed eseguiti in formato JUnit

Le applicazioni utilizzate Sono state selezionate applicazioni: OpenSource, in maniera da potere individuare le linee di codice coperte durante l'esecuzione dei casi di test Cui sia possibile segnalare i bug rilevati al relativo sviluppatore Aard Dictionary 1.4.1 Tomdroid 0.5.0 Andbible 1.3.0 BookCatalogue 3.8.1 Mileage 3.1.0 Wordpress 2.0, release 394

Aard Dictionary 1.4.1 - risultati Tomdroid 0.5.0 - risultati Bug Crash Tempo esecuzione test Linee di codice coperte Bug Crash Tempo esecuzione test Linee di codice coperte - 50.000 eventi scatenati - 50% eventi touch - 30% system keys - 5% motion - 5% trackball - 5% navigation - 5% major navigation 2 25 6 ore 63% - 50.000 eventi scatenati - 50% eventi touch - 30% system keys - 5% motion - 5% trackball - 5% navigation - 5% major navigation 0 0 5 ore, 30 minuti 42% - 83 tracce - Criterio di equivalenza attivato 1 1 3 ore, 20 minuti 66% - 75 tracce - Criterio di equivalenza attivato 1 1 2 ore, 30 minuti 39% TAR -678 tracce 1 4 19 ore 70% TAR -711 tracce 1 13 18 ore 39%

Bug Crash Tempo Coverage Altri risultati AndBible 1.3.0 Book Catalogue 3.8.1 Bug Crash Tempo Coverage (50.000 0 0 7 ore, 22min 23% (90.000 2 3 33 ore 37% eventi) eventi) (253 tracce) 1 1 26 ore, 36 min 40% 2 6 8 ore 46% Mileage 3.1.0 (548 tracce) Wordpress 2.0 release 394 Bug Crash Tempo Coverage Bug Crash Tempo Coverage 2 2 4 ore 53% 1 5 22 ore, 28% (50.000 eventi) (250.000 eventi) 12 min (556 tracce) 0 0 4 ore, 12 min 54% (193 tracce) 5 9 4 ore, 42 min 37%

Conclusioni L'approccio con è generalmente dotato di una buona efficacia ed una buona efficienza L'approccio model-based di TAR è tendenzialmente il più efficace ma temporalmente molto dispendioso L'approccio random con spesso pecca sia in efficacia che in efficienza, ma può essere utile per trovare difetti non individuabili con gli altri metodi Sviluppi futuri Un ripper dotato della possibilità di simulare sensori esterni nonché la ricezione di chiamate e messaggi SMS. Un ripper in grado di effettuare random testing