Strumenti per l automazione del testing di applicazioni web Javascript-based
|
|
|
- Flaviana Rosi
- 9 anni fa
- Visualizzazioni
Transcript
1 tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612
2 Sommario Introduzione. Problematiche. Obiettivi. Tecnologie utilizzate. Passi del processo. Programma interfaccia Esempio. 2
3 Introduzione (1). Applicazioni web. Possono essere definite come l insieme di servizi ed applicazioni che vengono utilizzate sul web. Gli utenti accedono tramite un browser. l'interazione con una applicazione web è indistinguibile dall'accesso a un sito Web statico. Le pagine visualizzate dal browser, in questo caso, saranno però generate dinamicamente dall'applicazione. 3
4 Introduzione (2). Applicazioni web. Si pongono come valida alternativa dalle tradizionali applicazioni Client - Server per vari motivi: facilità di distribuzione e aggiornamento. accesso multipiattaforma. riduzione del costo di gestione. scalabilità. 4
5 Introduzione (3). Testing per applicazioni web. L attività di testing di una applicazione web è molto più complessa di quella tradizionale; Piccoli cambiamenti alla infrastruttura Web, possono influire drasticamente sulle sue funzionalità; Testing per applicazioni web Javascript-based. Per effettuare questa operazione si deve tener presente: La struttura base di una odierna applicazione web è basata sul concetto di: dinamicità dell applicazione ; Insieme di tecnologie che permettono di cambiare in modo dinamico la rappresentazione e il contenuto di un documento ed aumentare l'interattività dell'utente con l applicazione. Tali meccanismi sono realizzabili tramite Javascript. 5
6 Problematiche. Problematiche associate al testing di applicazioni web: Diverse tipologie di rete; Perdita di informazioni; Diverse versioni del browser; Diverse tipologie di postazioni per l accesso ai servizi. 6
7 Obiettivi Realizzare uno strumento con le seguenti caratteristiche: Unicità, deve essere uno strumento di tipo generale, che sia in grado di effettuare il testing di una qualsiasi applicazione web Javascript. Parametrizzazione, prelevare da fonte esterna tutte le informazioni necessarie per eseguire il testing sull applicazione web. Automaticità, Tutte queste operazioni devono essere svolte in modo del tutto automatico, lasciando allo sviluppatore il solo onere di decidere che tipo di operazioni compiere. 7
8 Tecnologie utilizzate (1): Selenium Sviluppato dal team ThoughtWorks, ha le seguenti caratteristiche: Tool open source capace di eseguire test per web application; I test vengono eseguiti direttamente in un browser, proprio come se ci fosse un utente ad eseguire tali operazioni; Utilizzabile su di un gran numero di piattaforme. 8
9 Tecnologie utilizzate (2). Selenium si suddivide in tre parti,ognuna delle quali mette a disposizione dello sviluppatore strumenti e metodi per eseguire dei test automatici. Selenium CORE, Selenium IDE, Selenium RC (Remote Control). 9
10 Tecnologie utilizzate: Selenium CORE Installazione all interno di una delle cartelle del web server; Utilizzo del TestRunner.html, struttura usata per eseguire i test. 10
11 Tecnologie utilizzate: Selenium IDE Ambiente integrato di sviluppo implementato come estensione per FireFox, le caratteristiche principali sono: Semplicità di registrazione e playback; Selezione intelligente dei campi atti a contenere ID, nomi o XPath; Debug; Possibilità di settare i Breakpoint; Salvataggio dei test in diversi formati: HTML, Java, C#, Ruby, Perl, PHP, Python, ecc ; Supporto per file.js ; Possibilità di importare anche tabelle scritte in Excel; 11
12 Tecnologie utilizzate: Selenium RC Le caratteristiche principali del Remote Control: Permette di scrivere test in diversi linguaggi di programmazione,; Fornisce il cosiddetto Selenium Server, per avviare/fermare/controllare i browser oggi disponibili; La versione RC lavora anch essa utilizzando il CORE. Le modalità di utilizzo di questa versione sono: Interactive Mode: generare test direttamente dalla linea di comando; Programming Mode: utilizzo di metodi per eseguire il testing automatico. 12
13 Soluzione proposta. Realizzazione di una classe Java con la seguente struttura: 13
14 Passi del processo (1). Passi che il tester deve seguire: 1. Ricerca dell applicazione web da testare; 2. Identificazione delle azioni, riconoscere quelle che sono le azioni compiute dall utente nel corso di un normale utilizzo dell applicazione; 3. Caricamento della base dati, nella quale mettere tutte le informazioni del punto precedente; 4. Esecuzione della classe, la quale sia in grado di eseguire in automatico il testing, basandosi sulle informazioni precedenti. 14
15 15 Passi del processo (2).
16 Interfaccia (1). Connessione a Selenium Server, dalla riga di comando: java jar selenium-server.jar 16 Connessione avvenuta correttamente e con la configurazione sopra indicata.
17 Interfaccia (2). Finestra di comunicazione nella quale verranno visualizzate tutte le richieste al server. 17
18 Interfaccia (3): DefaultSelenium Appartiene ai Costructor forniti dal tool, attraverso di esso che i metodi definiti nella classe possono essere inoltrate come richieste al server. La sua sintassi è: 18 Nella classe: selenium = new DefaultSelenium("localhost", 4444,"*firefox",target[m]" );...
19 Esempio (2): L applicazione JS. L applicazione presa in esame è quella relativa ad un gioco completamente scritto in Javascript, Squares, Verranno testate anche tutte le funzionalità di contorno a tale applicazione 19
20 Esempio (2): Il database. Rappresenta tutte le operazioni che sono state svolte sull applicazione Web durante la fase di testing: 20
21 Esempio (3): Esecuzione del test. La classe esegue il testing sull applicazione attraverso l interfaccia del CORE: 21
22 Esempio (3): Report degli esperimenti. Visualizzazione del file log, attraverso una pagina html,al termine della fase di testing: 22
23 Conclusioni. Lo strumento realizzato risulta essere molto efficiente, semplice da utilizzare in quanto richiede solo di caricare il database, versatile in quanto può essere utilizzato su piattaforme diverse e utilizzare i browser più comuni per il testing automatico. I miglioramenti che possono essere apportati a tale strumento riguardano per lo più l aggiunta di nuovi metodi di comparazione al fine di aumentare le sue potenzialità. 23
Tecnologie dei Sistemi di Automazione
Facoltà di Ingegneria Tecnologie dei Sistemi di Automazione Prof. Gianmaria De Tommasi Sistemi di Supervisione Controllo ed Acquisizione Dati SCADA Corso di Laurea Codice insegnamento Email docente Anno
TESI DI LAUREA IN INFORMATICA
UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II TESI DI LAUREA IN INFORMATICA UNA WEB APPLICATION SU INFRASTRUTTURA PER IL PROGETTO DAME Tutor Accademico: Dott.ssa Anna Corazza Tutor Aziendale: Dott. Massimo
Installazione. Eclipse. Workspace. Primo Avvio. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Integrated Development Environment (IDE)
Sviluppo di un'interfaccia grafica per l'automatizzazione di campagne di software fault injection. relatore Ch.mo prof.
tesi di laurea triennale Sviluppo di un'interfaccia grafica per l'automatizzazione di campagne Anno Accademico 2010/2011 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Roberto Natella candidato
Firma Digitale Remota
Firma Digitale Remota Versione: 01 Aggiornata al: 09.06.2011 Sommario 1. Attivazione Firma Remota... 3 1.1 Attivazione Firma Remota con Token YUBICO... 4 1.2 Attivazione Firma Remota con Token VASCO...
XAMPP - Cos'è e installazione in locale
XAMPP - Cos'è e installazione in locale XAMPP è un acronimo che sta per X - Cross-Platform A Apache M MySQL P PHP P Perl E' una semplice e leggera distribuzione Apache che rende estremamente semplice a
SETA Selection Tool del Sistema ARTIST
Selection Tool del Sistema ARTIST L incarico è stato affidato al RTI composta da: Kayser Italia S.r.l. Daxo con capogruppo Kayser Italia s.r.l. SETA () Espandibilità e flessibilità Delocalizzazione istallazione
Open Database Connectivity (ODBC)
Open Database Connectivity (ODBC) Open Database Connectivity (ODBC), proposto dalla Microsoft nel 1991, fornisce un interfaccia applicativa standard che permette ad una generica applicazione di accedere
Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori
Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori Per impostazione predefinita, i risultati dei moduli vengono salvati
Guida introduttiva su Eclipse. Ing. Marco Dell'Unto [email protected]
Guida introduttiva su Eclipse Ing. Marco Dell'Unto [email protected] Introduzione Eclipse è un ambiente di sviluppo (IDE) multilinguaggio e multipiattaforma scritto in Java. E Open Source. Può
BlueJ: un ambiente per imparare Java
BlueJ: un ambiente per imparare Java La storia L installazione La configurazione L ambiente Creazione di BlueJ 1. Basato su l ambiente Blue 2. Usa ANTLR (ANother Tool for Language Recognition) Perché BlueJ
Dal sito web all applicazione mobile
Dal sito web all applicazione mobile Paolo Milazzo Dipartimento di Informatica Università di Pisa Metodologie Informatiche Applicate al Turismo A.A. 2017/2018 Premessa Queste slides includono molti link
04/04/2016 MANUALE DI ISTRUZIONI DELL APPLICAZIONE ENTRATEL-MULTIFILE VERSIONE 1.0.0
04/04/2016 MANUALE DI ISTRUZIONI DELL APPLICAZIONE ENTRATEL-MULTIFILE VERSIONE 1.0.0 PAG. 2 DI 24 INDICE 1. PREMESSA 3 2. INSTALLAZIONE 4 3. STRUTTURA DELLE CARTELLE 8 4. CONFIGURAZIONE DELL APPLICAZIONE
Linguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
Plugin di integrazione con il CMS Joomla
Plugin di integrazione con il CMS Joomla Requisiti: Joomla Un account valido sulla piattaforma 4Dem Accesso al pannello di amministrazione di Joomla 4Dem.it - INTEGRAZIONE CON IL CMS JOOMLA 2 Note: l integrazione
Dipartimento Affari Interni e Territoriali Direzione Centrale per i Servizi Demografici INA-SAIA. SSLProxy. Manuale Utente. versione 1.
SSLProxy Manuale Utente versione 1.0 Indice 1 Panoramica... 3 2 Installazione...4 2.1 Prerequisiti... 4 2.2 Acquisizione del pacchetto... 4 2.3 Copia dei file sulla postazione client... 4 2.4 Esecuzione
Horizone Server IN00B02WEB. Horizone PDK
Horizone Server IN00B02WEB Horizone PDK Prodotto: -- Descrizione: Horizone PDK - Manuale Utente Data: 10/07/2017 Eelectron Spa IN00B02WEBFI00080102_PDK_MANUAL.DOCX 1/12 Qualsiasi informazione all interno
SISTEMI OPERATIVI, RETI, INTERNET
Competenze e Unità didattica formativa capitalizzabile 4.1 SISTEMI OPERATIVI, RETI, INTERNET Comprendere il significato dell'evoluzione dei sistemi operativi. Comprendere che cosa fa un sistema operativo
Uno strumento per la valutazione automatica dell accessibilità delle
tesi di laurea Uno strumento per la valutazione automatica dell accessibilità delle Anno Accademico 2010/2011 relatore Ch.mo prof. Porfirio Tramontana candidato Barbara Marrone Matr. 534/1581 e Accessibilità
Importazione ed esportazione anagrafiche cliente
MANUALE Importazione ed esportazione anagrafiche cliente Descrizione generale La funzionalità consente di importare ed esportare anagrafiche da/a gestionali aziendali, utilizzando i tasti importa ed esporta
Tesi di Laurea Triennale in Ingegneria Informatica REALIZZAZIONE DI UN APPLICATIVO PER LA GESTIONE DI FOGLI DI LAVORO INTEGRATO IN OUTLOOK 2010
UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA Corso di laurea in Ingegneria Informatica Tesi di Laurea Triennale in Ingegneria Informatica REALIZZAZIONE DI UN APPLICATIVO PER LA GESTIONE DI FOGLI
EcoManager Web. EcoManager SERVER
Sistema centrale per la raccolta e l elaborazione dei dati provenienti da una rete di monitoraggio della qualità dell aria sviluppato da Project Automation S.p.A. Il sistema svolge le funzionalità tipiche
Base. Come realizzare applicazioni di web mapping
www.terrelogiche.com Corso webgis Base Come realizzare applicazioni di web mapping >> 15% di sconto per chi iscrive con almeno 30 giorni di anticipo >> 10% di sconto per iscritti a Ordini ed Associazioni
Installare Apache, PHP, MySQL sul Raspberry PI Zero
Installare Apache, PHP, MySQL sul Raspberry PI Zero In questo articolo vedremo come installare sul Raspberry PI Zero i principali programmi che vengono usati nei progetti domotici e non solo. Ecco la lista
Registro nazionale delle persone che non hanno fissa dimora - Istruzioni Operative funzionalità INA WEB
Registro nazionale delle persone che non hanno fissa dimora - Istruzioni Operative funzionalità INA WEB Le presenti istruzioni operative sono finalizzate all utilizzo da parte del Comune delle seguenti
Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC
Programma didattico Sviluppare Applicazioni Distribuite in ambiente Spring MVC Programma del corso 1.Progettazione e Sviluppo Database Relazionali Questa competenza permette di Progettare e Sviluppare
