SlideShare a Scribd company logo
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
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
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
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
Il Laboratorio Sperimentale




                   Daniele Palladino   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
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
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
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
I Risultati di JMeter 1/3




                   Daniele Palladino   Test Prestazionali di Web Service
I Risultati di JMeter 2/3




                   Daniele Palladino   Test Prestazionali di Web Service
I Risultati di JMeter 3/3




                   Daniele Palladino   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
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
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
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
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

More Related Content

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
  • 5. Il Laboratorio Sperimentale 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