Test Prestazionali di Web Service

17
Universit` a degli Studi di Roma Tre Facolt` a d’Ingegneria Corso di Laurea in Ingegneria Informatica Test Prestazionali di Web Service: valutazione delle alternative architetturali per la realizzazione di una piattaforma di gestione documentale Relatore Laureando Prof. G. Di Battista Daniele Palladino Daniele Palladino Test Prestazionali di Web Service

Transcript of Test Prestazionali di Web Service

Page 1: Test Prestazionali di Web Service

Universita degli Studi di Roma Tre

Facolta d’IngegneriaCorso di Laurea in Ingegneria Informatica

Test Prestazionali di Web Service:valutazione delle alternative architetturali per la realizzazione

di una piattaforma di gestione documentale

Relatore LaureandoProf. G. Di Battista Daniele Palladino

Daniele Palladino Test Prestazionali di Web Service

Page 2: Test Prestazionali di Web Service

Il servizio del C.N.I.P.A.

La gestione documentale

AspGeDoc (Application Service Provider Gestione Documentale)

La piattaforma utilizzata

FileNet P8 (fornito da IBM)

Primi test prestazionali

Load Runner (fornito da Mercury)

Daniele Palladino Test Prestazionali di Web Service

Page 3: Test Prestazionali di Web Service

Le domande formulate

Domanda 1

E’ possibile utilizzare software Open Source per implementare edeseguire i test prestazionali?

Domanda 2

E’ possibile utilizzare software Open Source per garantire ilfunzionamento della gestione documentale?

Daniele Palladino Test Prestazionali di Web Service

Page 4: Test Prestazionali di Web Service

Le alternative

Software Correnti

Filenet P8(fornito da IBM)

Load Runner(fornito da Mercury)

=⇒

Software Open Source

Adam Core(Apache 2.0)

JMeter(Apache Jacarta Project)

Daniele Palladino Test Prestazionali di Web Service

Page 5: Test Prestazionali di Web Service

Il Laboratorio Sperimentale

Daniele Palladino Test Prestazionali di Web Service

Page 6: Test Prestazionali di Web Service

Test Plan

Plugin per il controllo di versioni e gestione del progetto

Subversion (noto come SVN)

Maven

IDE (Integrated development environment)

Eclipse 3.3.0 Europa

Tool Utilizzati

HttpUnit v.1.6.2 (interagire con i siti web)

Rhino v.1.6R7 (sfruttare il codice JavaScript)

JUnit v.3.8 (framework per lo sviluppo dei test)

JMeter v.2.2 (sfruttare i test tramite il software omonimo)

Daniele Palladino Test Prestazionali di Web Service

Page 7: Test Prestazionali di Web Service

Strategia di Test

1 FunctionalTest:

test di funzionalita tramite JUnit

2 LocalTest:

test di funzionalita generali

3 AspGeDoc:

utenze, password e costanti varie...funzioni per l’accesso al serviziofunzioni per la ricerca, per il download e l’upload

4 JmeterTestAspGeDoc:

avvio del test prestazionale tramite JMeter

Daniele Palladino Test Prestazionali di Web Service

Page 8: Test Prestazionali di Web Service

Test Case

Download:

Ricerca del documento per data e/o per protocolloDeterminazione del link Download del DocumentoEsecuzione del download

Upload:

Determinazione del percorso completo per eseguire un uploaddi un DocumentoDeterminazione del percorso completo per eseguire un uploaddi un Allegato

Daniele Palladino Test Prestazionali di Web Service

Page 9: Test Prestazionali di Web Service

I principali Test eseguiti

1 Un tente scarica un file che non esiste

2 Un utente scarica un file

3 Due utenti scaricano il medesimo file

4 Due utenti scaricano file distinti

5 Tre utenti scaricano file distinti

Daniele Palladino Test Prestazionali di Web Service

Page 10: Test Prestazionali di Web Service

I Risultati di JMeter 1/3

Daniele Palladino Test Prestazionali di Web Service

Page 11: Test Prestazionali di Web Service

I Risultati di JMeter 2/3

Daniele Palladino Test Prestazionali di Web Service

Page 12: Test Prestazionali di Web Service

I Risultati di JMeter 3/3

Daniele Palladino Test Prestazionali di Web Service

Page 13: Test Prestazionali di Web Service

Problematiche riscontrate

1 Problemi relativi alla rete:

Malfunzionamenti del Laboratorio Sperimentale

2 Problemi relativi alle librerie:

Versione obsoleta di Rhino

3 Problemi relativi all’html:

Utilizzo impropri dei tag Html (tag form presente ma non

utilizzato)

Daniele Palladino Test Prestazionali di Web Service

Page 14: Test Prestazionali di Web Service

Conclusioni

Domanda 1

E’ possibile utilizzare software Open Source per implementare edeseguire i test prestazionali?

Domanda 2

E’ possibile utilizzare software Open Source per garantire ilfunzionamento della gestione documentale?

Daniele Palladino Test Prestazionali di Web Service

Page 15: Test Prestazionali di Web Service

Conclusioni

Domanda 1

E’ possibile utilizzare software Open Source per implementare edeseguire i test prestazionali?

Domanda 2

E’ possibile utilizzare software Open Source per garantire ilfunzionamento della gestione documentale?

Daniele Palladino Test Prestazionali di Web Service

Page 16: Test Prestazionali di Web Service

Sviluppi futuri

Completare i test per l’upload dei file

Implementare i test per verificare le ulteriori azioni possibili

Ricercare alternative valide all’utilizzo di HttpUnit:HtmlUnit (htmlunit.sourceforge.net)

1 Utilizzo piu diffuso

2 Progetto piu aggiornato (Rhino v.1.6R7)

3 Supportato dal gruppo Apache

4 Metodo di funzionamento differente:

Modella il documento generato dal browserLavora con pagine dinamiche

Daniele Palladino Test Prestazionali di Web Service

Page 17: Test Prestazionali di Web Service

Riferimenti

1 Articoli forniti dall’ente C.N.I.P.A.

Gestione Documentale AspGeDoc

2 Articoli forniti dagli sviluppatori di test prestazionali

How to use HttpUnit

3 Articoli forniti dagli sviluppatori di software Open Source

How to use JMeter

4 Tutorial per integrare i propri test con JMeter

http://www.danielepalladino.it/

Daniele Palladino Test Prestazionali di Web Service