Testing black box di web service: sperimentazione su di un servizio senza stato

Documenti analoghi
Un architettura per la cooperazione di applicazioni: un approccio basato sulla migrazione di applicazioni Legacy

Realizzazione di uno strumento software per la compilazione assistita di piani di qualità (richiesta ed offerta) per un Servizio Web

Realizzazione di un software per la gestione di apparecchiature biomedicali Anno Accademico 2010/2011

Strumento e tecnica a supporto del crash testing automatico di applicazioni mobili basato sul sistema operativo Android Anno Accademico 2010/2011

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

Gui testing automatico di applicazioni Android tramite emulazione di input ed eventi provenienti da sensori

Metodi e Tecniche per il Riuso di componenti in Applicazioni Android

Testing di applicazioni flex: uso dello strumento FlexUnit

Testing automatico di applicazioni Android

Realizzazione di un sistema a supporto del testing automatico di Rich Internet Applications

Stato dell arte sulle tecniche di testing di Sistemi Embedded

Impiego della concept analisys nella classificazione di pagine web ai fini del reverse engineering

Uno Strumento per la ricerca di campi Output e Etichetta in pagine Client

Prerequisiti didattici

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Valutazione sperimentale di algoritmi per la rilevazione di fallimenti temporali nel sistema operativo Minix3

Strumenti per l automazione del testing di applicazioni web Javascript-based

Tesi di laurea: Realizzazione di Strumenti per la valutazione di accessibilità di pagine Web

Realizzazione di un applicazione per la stesura di un Business Plan

Un processo a supporto della classificazione di pagine client Anno Accademico 2006/2007

Ingegneria del software

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

Sviluppo di un'interfaccia grafica per l'automatizzazione di campagne di software fault injection. relatore Ch.mo prof.

Esercizi di Programmazione Lineare - Dualità

Servizi di verifica runtime di Ambienti Intelligenti

1.4 Si risolva mediante gli scarti complementari il duale del problema dato.

COMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.

Tecniche e strumenti per la validazione di codice Java: un esempio applicativo

Specifiche di interfaccia applicativa per l invio delle pratiche protesti

Il Paradigma REST per lo sviluppo di applicazioni Web 2.0

Esperimenti di migrazione di funzionalità di Web Application verso Web Service

Web 2.0 e Web Services nell'era dei Social Network. Snal: un caso di studio

Valutazione Comparativa Sperimentale di Tecniche di Testing di Applicazioni Android

Università degli studi di Genova

Realizzazione di un software a supporto della Classificazione guidata di Pagine Web

ITI M. FARADAY. Programmazione a. s

Studio e implementazione di un Profilo SAML per Trait based Identity Management System nel Session Initiation Protocol

Si consideri il seguente tableau ottimo di un problema di programmazione lineare

Progetto e sviluppo di un prototipo per la migrazione di applicazioni Web di tipo Legacy

Un architettura orientata ai servizi per la localizzazione di dispositivi mobili

Ingegneria del Software

Ski Ways Piano di Testing

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

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

Corso di RICERCA OPERATIVA 1 (Fischetti) Simulazione scritto del 31 Gennaio Tempo consentito: due ore. Cognome studente:... Nome:... Matr.:...

Realizzazione di interazioni sincrone e asincrone tra applicazioni Web 2.0

RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)

Strutture lineari in Java

Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO

Università degli Studi di Roma La Sapienza

LABORATORIO DI PROGRAMMAZIONE E CALCOLO Docente E. Carlini A.A. 2012/13 Foglio di esercizi N.8 con la collaborazione di Andrea Pugliese

LABORATORIO DI INFORMATICA

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome

Realizzazione di strumenti per il testing di accessibilità di applicazioni web

Prof. Marco Masseroli

Progetto e realizzazione di una libreria per la comunicazione sicura di. dati sui fallimenti in ambiente Android. Anno Accademico 2011/2012

RICERCA OPERATIVA GRUPPO A prova scritta del 06 Luglio 2005 FOGLIO 1

Appalto concorso sistema GAWS

Esame di Ricerca Operativa del 11/1/19

Algoritmo del simplesso

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2

Realizzazione di un processo a supporto dell interoperabilità semantica nel Web

Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati

Tesi di Laurea: Uno strumento per l estrazione di sessioni utente per applicazioni web JavaScript-based Anno Accademico: 2005/2006

Lezioni di Ricerca Operativa

Metodi e modelli per le decisioni

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

IL METODO DEL SIMPLESSO

ESAME di OTTIMIZZAZIONE Corso di Laurea Magistrale in Ingegneria Gestionale 1 o anno

Collaudo del software

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

Università degli Studi della Calabria Facoltà di Ingegneria. Corso di Diploma in Ingegneria Informatica TESI DI DIPLOMA

Test in automatico di programmi Android

Algoritmo. Calcolabilità

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

COMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2

Sviluppo di programmi

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE

Corso di Matematica Applicata A.A

Corso di Ingegneria del Software. Modelli di produzione del software

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009

Fasi di creazione di un programma

Analisi e sviluppo di un client per l accesso a dati su server remoto da dispositivi embedded

Verifica e Validazione del Software

COMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2

La dualità nella Programmazione Lineare

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

Introduzione ai casi d uso

Introduzione ai Problemi di Flusso su Reti

L ANALISI POST-OTTIMALE

Constraint Satisfaction Problems

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework

Ingegneria dei requisiti di sistema e dei requisiti software della piattaforma MLA con il tool DOORS

PROGRAMMAZIONE DIDATTICA DISCIPLINARE CORSO SERALE. Sistemi automatici

TESI DI LAUREA SPECIALISTICA

Progetti aa Andrea Bei

Sintesi e sperimentazione di un modello di propagazione sonora per l analisi di reti di sensori sottomarine

TEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Transcript:

tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Alfredo Monaco Matr. 534/001519

Obiettivi Risulta importante poter valutare se un web service abbia o non abbia uno stato, per poterne dedurre il comportamento e poter scegliere tra le varie alternative di servizi offerti quello che meglio soddisfa le nostre esigenze. Si vuole vedere se è possibile risolvere questo problema tramite lo studio delle classi di equivalenza (CE) e l analisi delle d tracce di esecuzione, ottenute dopo aver effettuato un testing black box su di un servizio.

Web services e loro importanza "Un servizio Web è un sistema software identificato da una URI le cui interfacce pubbliche e i binding sono descritti da XML. La sua definizione può essere rintracciata da altri sistemi software. Questi sistemi software possono interagire secondo quanto scritto nella definizione, usando messaggi XML veicolati da protocolli internet. (W3C) Consentono accesso a software in rete Pay per use Transazioni automatiche economiche Strumenti utilizzati Tomcat - funge da web server Axis - motore SOAP JWSDP - tecnologie di supporto WSDD - deployment del servizio

Testing black box di web services Le tecniche di testing black box non richiedono la conoscenza dei dettagli di implementazione del servizio da testare ma progettano test cases sulla base di funzionalità specifiche o output attesi. I testers devono avere una discreta conoscenza dei meccanismi di programmazione perche i web service sono UI-less less. La suddivisione in classi di equivalenza è un metodo di collaudo black-box box che suddivide il dominio dei dati di un servizio in classi di dati, dalle quali derivare casi di prova.

Esperimento E stato considerato un servizio del quale si conoscono bene le specifiche. Da esse sono state ricavate le classi di equivalenza, grazie alle quali è stato possibile derivare casi di test significativi. Infine analizzando le tracce di esecuzione si sono formulate le opportune deduzioni Contesto Come tecnica di collaudo è stata scelta la suddivisione in classi di equivalenza. Per effettuare un testing black box corretto,, è necessario sapere se il servizio è con o perchè il suo comportamento potrebbe dipendere in maniera significativa dallo stato dei dati gestiti e dall' input fornito dall'utente. Nel nostro caso è stato considerato il web service Simplesso, senza stato.

Web service Simplesso Risolve problemi di programmazione lineare usando l algoritmo del simplesso Input: numero vincoli, numero variabili (max( 10), matrice dei vincoli, funzione obiettivo Output: numero righe, numero colonne, matrice ottima, valore ottimo della funzione obiettivo 17 CE di input 3 CE di output Se il problema è inconsistente restituisce una matrice vuota Se ci sono errori nel passaggio dei dati di input restituisce una matrice di zeri

Classi di equivalenza Le classi di equivalenza (CE) sono state ricavate a partire da un attento studio delle specifiche del problema e da una buona conoscenza della teoria del simplesso. Partendo dalle CE ricavate sono stati creati ed eseguiti gli opportuni ortuni test (in ognuno dei quali sono indicate le CE di input e di output coperte). e). Le tracce di esecuzione sono state raccolte per poterne effettuare un attenta analisi. Siccome Simplesso è stateless ci si aspetta che dati appartenenti alle stesse CE restituiscano sempre output appartenenti alla stessa CE. C Esempio di CE: Input = n variabili Valida [1,2,3,4,5,6,7,8,9,10] Non valida [1,2,3,4,5,6,7,8,9,10] Output = Errore nei valori di input

Esempio di esecuzione e test In questi due test i dati di input sono coperti dalle medesime classi c (C1, C2, C5, C7, C11, C13) e si nota che in output entrambi hanno dei dati coperti dalla classe C1. Proprio come ci si aspettava Ma

Test e deduzioni Qui si vede che le stesse CE di input danno due CE di output differenti ferenti (C1 e C2). Conoscendo la programmazione lineare si sa che un problema inconsistente (coperto dalla classe C2) dipende dal dominio (e quindi q dai vincoli). Nel test 12 infatti si vede che i vincoli hanno tutti e 3 l operatore = ; ciò fa sì che le CE di input possano essere uguali a quelle del test 2, ma restituiscano, tuttavia, un problema inconsistente.

Conclusioni E stato testato, tramite la suddivisione in classi di equivalenza, a, il web service stateless Simplesso. Grazie alla conoscenza delle sue specifiche si può affermare che è deterministico. Osservando i risultati, però, ci siamo resi conto che alcuni dati i di input appartenenti alle stesse classi di equivalenza hanno dato in output dati appartenenti a classi di equivalenza diverse. Da ciò, dunque, dovremmo dedurre che Simplesso è un servizio stateful Quindi con questo studio non siamo in grado di dedurre che Simplesso è un web service stateless.