Teste de Web Services e SOA Faculdade de Engenharia da Universidade do Porto Mário Lopes 5º Ano - LEIC/MIEIC
O que são? Web Services É uma forma de garantir a interoperabilidade entre diversas plataformas usando a internet como meio (W3C)
O que são? Web Services São componentes de software encapsulados acessíveis pela rede através de um protocolo bem definido e standartizado
O que são? Service Oriented Architectures É uma aplicação cuja arquitectura assenta em serviços, geralmente acessíveis pela rede. Não depende de uma tecnologia específica (pode funcionar sob XML-RPC, Java RMI, .NET Remoting, DCOM, CORBA ou mesmo Web Services) (Wikipedia)
Como testar Web Services?
Como testar Web Services? Os Web Services não têm uma GUI. O teste manual é penoso e complexo. São, portanto, candidatos a testes automatizados.
O que testar?
Interoperabilidade Performance Funcionalidades
O que testar? Os requisitos funcionais A aplicação faz o que devia? Como se comporta para valores de fronteira?
O que testar? Os requisitos funcionais Os testes unitários são um precioso auxílio para testar Web Services
O que testar? Os requisitos funcionais Podem-se também aplicar outros testes: testar casos fronteira, cobertura de código, testes de caixa branca e caixa negra, etc..
O que testar? Os requisitos funcionais É necessário garantir que a funcionalidade está assegurada mesmo após alterações. Testes de regressão poderão ser um bom contributo.
O que testar? Para além dos requisitos funcionais, é necessário testar os requisitos não funcionais
O que testar? De que serve um Web Service se não está disponível nas horas de picos (não é escalável)?
O que testar? De que serve um Web Service se for lento? (performance)
O que testar? É também necessário testar a INFRA- ESTRUTURA de um Web Service
O que testar? Infra-estrutura As mensagens SOAP são recebidas e enviadas correctamente? Seguem a gramática e reflectem a funcionalidade pretendida? O ficheiro WSDL descreve correctamente a interface do Web Service? É também necessário simular os clientes que interagem com o Web Service
O que testar? Infra-estrutura Já existem ferramentas que geram o SOAP e o WSDL previamente validados...
O que testar? :-)
O que testar? É necessário testar a publicação, pesquisa e associação a Web Services, parte crítica de uma SOA
O que testar? Actualmente a comunicação via SOAP pode ser assíncrona e possibilita a subscrição de eventos. Também é necessário testar esta faceta.
O que testar? Uma mensagem SOAP poderá ter vários intermediários -- é necessário também simular os Middle Man.
O que testar? Requisitos não-funcionais Load/Stress testing A ideia é submeter o Web Service a múltiplos “clientes” e múltiplos pedidos simultâneos. Esta terá de ser uma tarefa automatizada e simulada (!!)
Apache JMeter
WebInject
SOAPSonar (http://www.codeproject.com/showcase/Crosschecks1.asp)