Analisi delle dipendenze architetturali dei servizi di autenticazione SPID
Test Prestazionali di Web Service
1. Universit` degli Studi di Roma Tre
a
Facolt` d’Ingegneria
a
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
2. 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
3. Le domande formulate
Domanda 1
E’ possibile utilizzare software Open Source per implementare ed
eseguire i test prestazionali?
Domanda 2
E’ possibile utilizzare software Open Source per garantire il
funzionamento della gestione documentale?
Daniele Palladino Test Prestazionali di Web Service
4. Le alternative
Software Correnti Software Open Source
Filenet P8 Adam Core
(fornito da IBM) (Apache 2.0)
=⇒
Load Runner JMeter
(fornito da Mercury) (Apache Jacarta Project)
Daniele Palladino Test Prestazionali di Web Service
6. 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
7. Strategia di Test
1 FunctionalTest:
test di funzionalit´ tramite JUnit
a
2 LocalTest:
test di funzionalit´ generali
a
3 AspGeDoc:
utenze, password e costanti varie...
funzioni per l’accesso al servizio
funzioni per la ricerca, per il download e l’upload
4 JmeterTestAspGeDoc:
avvio del test prestazionale tramite JMeter
Daniele Palladino Test Prestazionali di Web Service
8. Test Case
Download:
Ricerca del documento per data e/o per protocollo
Determinazione del link Download del Documento
Esecuzione del download
Upload:
Determinazione del percorso completo per eseguire un upload
di un Documento
Determinazione del percorso completo per eseguire un upload
di un Allegato
Daniele Palladino Test Prestazionali di Web Service
9. 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
10. I Risultati di JMeter 1/3
Daniele Palladino Test Prestazionali di Web Service
11. I Risultati di JMeter 2/3
Daniele Palladino Test Prestazionali di Web Service
12. I Risultati di JMeter 3/3
Daniele Palladino Test Prestazionali di Web Service
13. 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
14. Conclusioni
Domanda 1
E’ possibile utilizzare software Open Source per implementare ed
eseguire i test prestazionali?
Domanda 2
E’ possibile utilizzare software Open Source per garantire il
funzionamento della gestione documentale?
Daniele Palladino Test Prestazionali di Web Service
15. Conclusioni
Domanda 1
E’ possibile utilizzare software Open Source per implementare ed
eseguire i test prestazionali?
Domanda 2
E’ possibile utilizzare software Open Source per garantire il
funzionamento della gestione documentale?
Daniele Palladino Test Prestazionali di Web Service
16. 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 pi` diffuso
u
2 Progetto pi` aggiornato (Rhino v.1.6R7)
u
3 Supportato dal gruppo Apache
4 Metodo di funzionamento differente:
Modella il documento generato dal browser
Lavora con pagine dinamiche
Daniele Palladino Test Prestazionali di Web Service
17. 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