XmlBlackBox
La presentazione
Alexander Crea
15 Giugno 2010
http://code.google.com/p/xmlblackbox/
Che cos’è
E’ un framework Java
per l'implementazione di
test in ambienti eterogenei
XmlBlackBox
http://code.google.com/p/xmlblackbox/
Cosa può fare
Testare applicazioni web (con Selenium)
Testare Web Services
Verificare il contenuto di file XML e effettuarne la
validazione
Verificare il contenuto di un database
Eseguire funzionalità non previste utilizzando i Plugin
Includere uno stesso insieme di passi in test case
diversi
Condividere le variabili create durante il flusso del
test case
Impostare attese condizionate per i processi
asincroni
XmlBlackBox
http://code.google.com/p/xmlblackbox/
I vantaggi…
…nell'implementazione del test
Il tempo di sviluppo di un test case diminuisce all'aumentare del
numero dei casi già sviluppati, attraverso la possibilità di
includere uno stesso insieme di passi già implementato per altri
test.
L'integrazione di nuove operazioni, non contemplate nel
framework di base, attraverso la possibilità di sviluppare plugin ad
hoc.
La gestione del server Selenium è completamente guidata dal
framework.
La verifica di un database viene realizzata semplicemente
attraverso la descrizione (in XML) delle colonne da controllare e
dei dati attesi.
La chiamata ad un Web service si basa sulla generazione delle
classi client (Stub) con Axis2 e sulla creazione del file xml che
deve essere contenuto nel SOAP.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
I vantaggi…
…in caso di test falliti
L’immediata comprensione degli obiettivi del test grazie alla
capacità autodescrittiva data dal linguaggio Xml
La rapida verifica dei problemi di navigazione attraverso
l'impiego di Selenium che rende semplice l'individuazione del
problema emerso
La semplice verica dell'esito delle chiamate ai web services
attraverso il log del file di input spedito e del file di output
ricevuto
I ridotti tempi di verifica/correzione anche per chi non ha
implementato il test case in corso di analisi
XmlBlackBox
http://code.google.com/p/xmlblackbox/
I vantaggi…
… in caso di modifiche all'applicazione
Le modifiche all'applicazione che richiedono interventi su test case
gia sviluppati evidenziano le potenzialità dell'impiego del linguaggio
XML, infatti:
- l'uso degli INCLUDE consente di intervenire in un solo, o comunque
in un limitato numero di file xml, gli unici che si riferiscono alla
funzionalità dell'applicazione oggetto dell'intervento
- l'uso dei tag permette di effettuare modifiche solo su singole parti
del test, attraverso la sostituzione dei soli tag di cui è necessario
modificare il comportamento
XmlBlackBox
http://code.google.com/p/xmlblackbox/
L’uso dei plugin
Che cos'è un plugin
E' un classe java che implementa una specifica
interfaccia
Il plugin ha la funzione di ampliare ed integrare il
framework di base, permettendo di inserire
all'interno del flusso del test nuove operazioni.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
L’uso dei plugin
Un esempio
<RUN-PLUGIN version="1.1" class="org.xbb.plugin.EseguiProcessoAS400" >
<PARAMETERS>
<PARAMETER name="nomeCL" value="getDatiCliente" />
<PARAMETER name="CF" value="PCTRTF83G54H501R" />
</PARAMETERS>
</RUN-PLUGIN>
Nell'esempio viene chiamata un ipotetica
procedura su AS400 che restituisce i dati del
cliente a partire dal codice fiscale.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
L’uso dei plugin
Come usarli
Il frammento Xml può essere copiato in tutti i test
case interessati all'operazione.
Inoltre il plugin può essere sviluppato in modo da
avere comportamenti diversi a seconda dei
parametri in input definiti nel tag.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
L’uso del tag include
A cosa serve
Permette di includere lo stesso insieme di passi
in test case differenti.
In questo modo può essere creata una “libreria”
di operazioni descritte in file xml.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
L’uso del tag include
Un esempio
<INCLUDE-FILE version="1.1"
filename="/org/xbb/test/ConfigConnDerby.xml"/>
L'esempio descrive l'include della
configurazione di una connessione al database
che può essere inserito in tutti i test case che la
devono utilizzare.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
Come collabora con Selenium
La navigazione Selenium deve essere contenuta
in una classe java che implementa una
specifica interfaccia
E' sufficiente generare la navigazione selenium
in codice java attraverso Selenium IDE,
inserirla nella classe e creare il tag xml
SELENIUM.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
Come collabora con Selenium
Configurazioni particolari
Configurazioni di Selenium non previste dal
framework possono essere gestite attraverso lo
sviluppo di un plugin.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
L’impiego dell’XML
Perché
Il test è autoesplicativo.
La descrizione con il linguaggio Xml permette di
capire rapidamente gli obiettivi, anche a
distanza di tempo o da parte di chi non ha
implementato il test case.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
L’impiego dell’XML
Perchè
Le caratteristiche del singolo test sono tutte
contenute e descritte nel file xml e in eventuali
file inclusi.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
Iniziare con XmlBlackBox
XBB non costringe ad un salto nel buio.
E' facilmente integrabile in una architettura di test
JUnit già presente.
Al framework potrebbero essere delegate solo
alcune particolari operazioni per comprenderne
le potenzialità.
XmlBlackBox
http://code.google.com/p/xmlblackbox/
XmlBlackBox
XmlBlackBox
http://code.google.com/p/xmlblackbox/
Email
[email protected]
Scarica

XmlBlackBox