soa testing tutorial
Tutorial de teste de SOA:
Neste artigo, vamos discutir as técnicas de teste para uma arquitetura SOA.
Os softwares atuais são tão versáteis e propensos a lidar com as mudanças nas expectativas do usuário de vez em quando que um modelo autônomo não é útil.
É aí que SOA se encaixa perfeitamente como solução.
É por isso que muitas empresas estão se adaptando ou tentando adaptar a abordagem SOA por causa de suas vantagens, como; Redução de custos, agilidade de negócios, fácil manutenção, etc. Com o mercado que se aproxima cheio de arquitetura SOA, torna-se necessário que os testadores modernos tenham uma ideia justa sobre os testes SOA.
como abrir arquivo swf no cromo
Neste artigo, cobriremos os fundamentos de SOA com exemplos.
Isso daria aos leitores uma ideia básica sobre SOA. Isso seria seguido pela abordagem de implementação de serviços da web. Finalmente, entraremos no processo de teste que pode ser seguido por um modelo de arquitetura SOA.
O que você aprenderá:
- O que é SOA?
- Exemplos de SOA
- Serviços web
- Processo de Teste SOA
- Desafios em testes de SOA
- Ferramentas de teste SOA
- Leitura recomendada
O que é SOA?
SOA ou Sevice-Oriented-Architecture é um método flexível / ágil / eficiente de integração de vários aplicativos / serviços para atender a certas necessidades de negócios.
- Ao contrário de outros sistemas complicados, SOA compreende componentes / serviços / microsserviços menores unidos para atender às necessidades de negócios.
- Os serviços são as unidades que fazem o sistema inteiro e quando há necessidade de uma mudança, ao invés de mudar todo o sistema, o serviço específico é modificado.
- Um serviço é um componente capaz de realizar uma tarefa.
- Essa arquitetura é mais vendável do que o sistema legado, pois o usuário final obtém apenas os serviços necessários para atender às suas necessidades. Ele não precisa obter todo o sistema.
- Os serviços / micro-serviços são fracamente acoplados, reutilizáveis, sem estado, o que torna o sistema ainda mais robusto.
- Este modelo é altamente econômico em termos de implantação, desenvolvimento e manutenção.
Exemplos de SOA
Necessidade de negócios: Um aplicativo no qual um usuário pode fazer o login e pesquisar por restaurantes com base na geolocalização, baixar os detalhes do restaurante e o menu do servidor assim que a pesquisa for concluída e, finalmente, um pagamento pode ser feito para fazer o pedido.
Essa necessidade de negócios pode ser alcançada com a implementação de SOA.
Pode haver serviços / microsserviços da seguinte forma, para realizar várias tarefas:
- Durante o login, o serviço que seria usado é o 'serviço de autenticação'
- A pesquisa de restaurantes seria feita por 'serviço de localização geográfica'
- O download do menu deve ser feito pelo ‘serviço de downloader do menu’
- Finalmente, o pagamento seria feito por 'serviço de pagamento'
Cada um dos serviços mencionados acima faz algo único para fazer o sistema funcionar e entregar o que deve fazer. Agora, se um cliente precisa apenas ver o restaurante e seu menu, mas não precisa de uma interface de gateway de pagamento, ele compraria / implantaria apenas os três primeiros serviços.
Isso torna o trabalho simples para desenvolvimento, implantação, vendas, manutenção e, afinal, para o cliente / usuário final.
Serviços web
- São APIs (interfaces de programação de aplicativos) que facilitam a interação entre diferentes programas de software.
- Existe um provedor de serviços que hospeda o serviço na web. Como parte da hospedagem, um WSDL é hospedado pelo provedor.
- Quando o Cliente envia uma mensagem de solicitação ao provedor de serviço, a comunicação é estabelecida com o uso da URL / WSDL.
- No exemplo abaixo, o servidor de geolocalização hospeda um serviço da Web que é usado pelo solicitante do serviço.
Processo de Teste SOA
Todo produto, modelo, infraestrutura precisa passar pela fase de Teste para satisfazer o usuário final em termos de um produto de boa qualidade. O teste de SOA não se limita apenas ao teste de uma camada / teste de protocolo de serviço da Web. Este é o teste geral da arquitetura e cada parte dela.
A abordagem de teste pode ser semelhante à do processo de teste normal. ou seja,
- Processo de revisão de requisitos
- Planejamento de Teste
- Design de teste
- Configuração de ambiente
- Fase de execução
- Fase de Relatório
O processo de teste de SOA gira em torno de 3 camadas na arquitetura:
- Consumidores de serviço
- Camadas de Processo
- Camadas de serviço
Seguindo com o mesmo exemplo acima, podemos ter nossas camadas da seguinte forma:
- A camada do consumidor de serviço ajuda na interação do consumidor. Isso ajuda a ler a entrada do usuário final e retornar a resposta apropriada para a solicitação recebida. Em outras palavras, basicamente possui a interface de IU.
- Esta é a camada que se concentra na frente de implementação. Esta camada em nosso exemplo terá métodos de autenticação, a criação de um usuário etc.
- As camadas de serviço são as funções de negócios em termos de serviços. Todos os serviços que são realmente chamados quando uma tarefa específica é executada estão nesta camada.
O teste pode ser dividido basicamente em 4 fases diferentes;
Camada # 1
1) Teste de nível de serviço:
- Cada serviço envolvido no sistema é testado individualmente com base em um método de solicitação e resposta.
- Este teste é obrigatório e muito importante para prosseguir com outros processos de teste.
2) Teste Funcional:
- O teste é conduzido para serviços em suas necessidades de negócios para descobrir se a resposta recebida está correta.
- As necessidades de negócios são primeiro convertidas em casos de teste e as instruções de solicitação são formadas.
- Em seguida, as instruções de solicitação são processadas para ver se as respostas obtidas estão corretas.
- No caso de dados de entrada inválidos, o código de erro adequado deve ser lançado ou a mensagem de erro adequada deve ser acionada.
- Os formatos da resposta, bem como os cenários negativos, devem ser executados.
3) Teste de segurança:
- Sempre que se trata de um serviço da web, o teste de segurança desempenha um papel fundamental no sucesso do processo de teste.
- Gateways de autenticação, gateways de pagamento etc. devem ser criptografados quando os dados são analisados.
- Quando se trata de XML, vulnerabilidades como CSRF e injeção de SQL devem ser verificadas.
4) Teste de desempenho:
- Os serviços usados na arquitetura são hospedados para que muitos outros aplicativos possam fazer uso deles. Os testes de desempenho garantem a credibilidade desses serviços.
- O teste dos serviços deve ser feito para descobrir os seguintes conjuntos de resultados;
- Para determinar a estabilidade dos serviços.
- Para validar a escalabilidade dos serviços.
- Comportamento do serviço em condições de carga de pico
- Para encontrar os tempos de resposta nos serviços
Camada # 2
1) Teste de Processo:
- Esse processo envolve o teste de vários processos de negócios.
- Isso deve incluir os cenários de integração dos serviços da Web e aplicativos cobrindo os requisitos de negócios
- O uso de simuladores deve ser feito para gerar dados de entrada de amostra e a validação deve ser feita para as respectivas saídas.
- O fluxo de dados de diferentes camadas deve ser executado para provar o bom funcionamento do sistema quando ele é integrado.
Nível 3
1) Teste de ponta a ponta:
Perguntas e respostas da entrevista da informatica com 5 anos de experiência
- Esta fase tem como objetivo validar os requisitos de negócios funcionalmente e não funcionalmente.
- IU do aplicativo é validado.
- O processo de negócios envolvido é testado.
- O fluxo de dados ponta a ponta é validado nesta fase.
- Trabalhar com todos os serviços quando os serviços são integrados entre si é validado.
Nível 4
1) Teste de regressão:
- A estabilidade do sistema em versões de construção incrementais é validada por este teste.
- Isso pode ser obtido por meio de Teste manual / Teste de automação.
Desafios em testes de SOA
Alguém disse com razão: “Maior a malha; Maior é a bagunça! ”. SOA pode se tornar uma criança realmente complexa e faminta por atenção.
Em outras palavras, com tantas partes minúsculas constituindo a arquitetura SOA, torna-se uma tarefa realmente difícil certificá-la em Teste.
- Resistente para simular os ambientes de teste para levar adiante o processo de teste.
- Os produtos envolvidos no modelo podem ser da mesma tecnologia / fornecedor. Mas, eles também podem ser diferentes. Mais problemas?
- As combinações de teste aumentam com o número de serviços / componentes envolvidos.
- Complexidade no modelo
- A reprodução / teste de problemas é uma tarefa difícil.
- Ao contrário de outros modelos, o foco principal do teste deve ser o escopo do negócio, e não o serviço e seu recurso.
Ferramentas de teste SOA
Existem vários aplicativos para teste de SOA. As ferramentas de teste de SOA são selecionadas com base em seus resultados precisos e melhor produtividade.
- SoapUI: Esta é uma ferramenta gratuita destinada a testes de serviços da Web. SoapUI é capaz de fazer testes funcionais, testes de desempenho e testes de carga
- Apache Jmeter: Este também é um utilitário OPEN SOURCE que é usado para analisar o desempenho da chamada SOAP.
- JProfiler: Isso é usado para parar ou detectar o vazamento de memória, encontrando gargalos no desempenho, etc.
- Teste de serviço HP: Isso está integrado ao HP QC. Esta é uma ferramenta de teste funcional, que também oferece suporte a testes de IU e serviço compartilhado
Por meio deste artigo, entendemos a singularidade do modelo. Isso é muito diferente do modelo legado e o artigo dá uma boa ideia sobre isso. Este artigo também lança alguma luz sobre o procedimento SOA e as maneiras de prosseguir com o teste.
Sobre o autor: Este é um post convidado de Subhasis. Ele está trabalhando como líder de equipe com mais de 8 anos de experiência corporativa trabalhando para empresas de TI da Fortune 500.
Publique suas dúvidas / comentários relacionados ao teste de SOA abaixo.
Tudo de bom!
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Download do e-book do Testing Primer
- Tutorial de teste destrutivo e teste não destrutivo
- Teste Funcional Vs Teste Não Funcional
- Tutoriais detalhados do Eclipse para iniciantes
- As 15 principais ferramentas de teste de SOA para testadores
- Tutorial de Teste Pairwise ou Teste All-Pairs com ferramentas e exemplos
- Tutorial da ferramenta de teste de acessibilidade WAVE