SOAPtest 4.0 si rivolge ai servizi Web

Mentre la maggior parte di noi naviga negli scambi HTTP "visibili" tra browser e server Web, i servizi Web trasportano un carico crescente di traffico altrimenti invisibile. Con l'aiuto di SOAP, i client ei server dei servizi Web conducono conversazioni invisibili, simili ai messaggi che viaggiano su una sottofrequenza.

Possono essere invisibili, ma queste conversazioni sono importanti: sempre più spesso, i servizi Web vengono utilizzati per condurre transazioni commerciali vitali.

SOAPtest di Parasoft è uno dei sempre più numerosi strumenti che testano queste applicazioni sempre più critiche. Sebbene il suo nome implichi che il suo unico compito sia identificare e diagnosticare i problemi nei messaggi SOAP, SOAPtest fornisce test completi di regressione, unità e sicurezza per i servizi Web e le applicazioni client dei servizi Web.

La versione 4.0 aggiunge funzionalità che rendono SOAPtest più facile da usare rispetto alle edizioni precedenti. Aggiunge anche nuove categorie di test: ad esempio, i nuovi test di sicurezza di SOAPtest accertano il livello di protezione del servizio Web dagli attacchi di un utente maligno.

Insaponarsi

SOAPtest ha due usi principali, ma funziona come un generatore di test automatico in entrambi i casi.

Innanzitutto, crea test di verifica WSDL statici per il contenuto del documento WSDL di un servizio Web. I test che SOAPtest compila controllano non solo la corretta sintassi WSDL ma anche la corretta semantica WSDL - ad esempio, verifica la coerenza interna del documento.

In secondo luogo, SOAPtest legge il contenuto del documento WSDL e crea unit test per i metodi del servizio Web. SOAPtest può anche creare i suoi test dalle informazioni UDDI del servizio Web, nonché da un file di registro del traffico HTTP che coinvolge i servizi Web.

Sebbene questi test unitari inizino come semplici chiamate singole a metodi del servizio Web, non rimangono tali. È possibile configurare facilmente un test da eseguire ripetutamente, tracciando la sua successione di parametri di input da una tabella dati, un file delimitato da virgole, un foglio di calcolo Excel o un database. Se è necessario instillare più intelligenza in un determinato test, è possibile aumentare il comportamento del test con script scritti in Jython (Python scritto in Java), Java o JavaScript.

Questo è il vero potere di SOAPtest. Partendo da un piccolo e semplice insieme di test statici e dinamici generati automaticamente da una procedura guidata (una delle nuove funzionalità di SOAPtest 4.0), puoi estendere, duplicare e modificare quei test per costruire - in stile Lego - un suite. I test vengono eseguiti in sequenza; ordinando correttamente i test, è possibile simulare una lunga sessione tra client Web e servizio Web.

Ho eseguito SOAPtest su un paio di servizi Web di esempio che stavo utilizzando per esplorare varie funzionalità di ASP.Net. La caratteristica migliore dello strumento è la sua creazione apparentemente istantanea di test e il modo altrettanto rapido con cui potrei estendere e modificare in modo iterativo quei test. SOAPtest mi ha permesso di assemblare i miei test in modo tale che quella che era iniziata come una raccolta di unit test si trasformasse in una serie di test funzionali. E durante questo processo, non ho mai avuto bisogno di chinarmi nel codice sorgente.

Riflettori sulla sicurezza

Con SOAPtest, i test successivi possono utilizzare i dati dei test precedenti come input e ciò consente di costruire un flusso di lavoro "fittizio" di un utente che esegue una serie complessa di transazioni con il particolare servizio Web. Stratificando gradualmente i test sulle fondamenta di una suite, si produce un progetto completo che, considerato nel suo insieme, finisce per essere maggiore della somma delle sue parti.

Un'altra novità in SOAPtest 4.0 è la sua capacità di lanciare attacchi contro un servizio Web per analizzare le sue vulnerabilità di sicurezza. L'insieme di nuovi test di sicurezza attualmente generati da SOAPtest include, ma non è limitato a, il fuzzing dei parametri, che passa parametri irregolari che potrebbero far sì che il servizio Web generi un'eccezione o rivelare informazioni che non dovrebbe; Bombe XML, fatte esplodere se un'entità XML è definita ricorsivamente in un DTD, facendo sì che un parser XML espanda il documento che lo contiene a una dimensione non gestibile; SQL injection, che inietta stringhe indesiderate nel testo di una query SQL, facendo sì che l'applicazione generi un'eccezione o esegua codice SQL non corretto; e attacchi di entità esterne XML che sfruttano la capacità di un DTD di creare un riferimento esterno.

Come se non bastasse, la versione 4.0 estende anche le prestazioni di SOAPtest e il test di carico. Ora puoi simulare e visualizzare gli effetti di più client che inviano richieste al tuo servizio Web e ottimizzare graficamente l'evoluzione della simulazione. Ad esempio, puoi vedere come funziona il tuo servizio Web se le richieste dei client aumentano con una linearità graduale, raggiungono un picco improvviso o aumentano e diminuiscono in una curva a campana.

Infine, SOAPtest 4.0 non si limita a testare i servizi Web; esercita anche un client di servizi Web. Configurando SOAPtest in modo che agisca come il servizio Web stesso, si fa in modo che imiti il ​​server; in quanto tale, può verificare che i client inviino le richieste corrette. È una funzionalità preziosa perché consente di testare l'intera applicazione del servizio Web - client e servizio / server - anziché solo il servizio.

Perfettamente pulito

La forza di SOAPtest 4.0 risiede nella facilità e nell'agilità con cui è possibile creare e modificare i test. In pochi secondi è possibile creare un test, eseguirlo ed esaminare la risposta. Se il test sembra buono, aggiungilo alla tua suite; in caso contrario, modificalo o estendilo o gettalo via e creane uno nuovo.

SOAPtest 4.0 percorre efficacemente quella linea sottile tra l'essere completamente privi di codice (consentendo alla procedura guidata di creare i test) e personalizzabili (codificare uno script coinvolto a mano). Questo equilibrio lo rende utile per ingegneri e sviluppatori QA. Poiché puoi eseguirlo dalla riga di comando, è facilmente incorporato nelle build automatizzate. Se stai realizzando servizi Web seri, hai bisogno di SOAPtest.

Scorecard Scalabilità (20,0%) Configurazione (10,0%) Documentazione (20,0%) Prestazioni (20,0%) Interoperabilità (20,0%) Valore (10,0%) Punteggio complessivo (100%)
Parasoft SOAPtest 4.0 8.0 9.0 8.0 10.0 8.0 9.0 8.6