Como criar conjunto de testes e casos de teste no SoapUI

Compreendendo o protocolo SOAP

Antes de criarmos um caso de teste SOAPUI, vamos entender o bรกsico sobre o protocolo SOAP. Isso o ajudarรก a usar a UI SOAP para testar solicitaรงรตes e respostas SOAP de maneira eficaz.

SOAP significa Protocolo de acesso a objetos simples. Abaixo estรฃo as propriedades de um protocolo SOAP.

  • ร‰ um protocolo baseado em XML para comunicaรงรฃo entre dois sistemas diferentes.
  • ร‰ uma plataforma e linguagem independente. Portanto, um sistema desenvolvido usando Java pode se comunicar com um sistema desenvolvido em .NET.
  • Solicitaรงรตes/respostas SOAP sรฃo transportadas via HTTP.

Aprenda o FORMATO da mensagem SOAP

Uma mensagem SOAP รฉ um documento XML comum que contรฉm os seguintes elementos. A mensagem pode ser uma mensagem de solicitaรงรฃo ou uma mensagem de resposta.

FORMATO DE Mensagem SOAP
FORMATO DE Mensagem SOAP

Apรณs configurar o espaรงo de trabalho que realizamos no รบltimo tutorial, temos que criar a estrutura do projeto SoapUI, suรญtes de testes, casos de teste para testar um determinado serviรงo web. Vamos entender um exemplo do projeto SoapUI para criar um novo projeto SOAP.

Criando um projeto SOAP

Passo 1) Agora, dependendo do projeto, precisamos importar o protocolo SOAP/REST. Criaremos um novo projeto SOAP.

Criando um novo projeto SOAP

Passo 2) Faremos uso seguindo solicitaรงรฃo SOAP http://www.dneonline.com/calculator.asmx?wsdl

  1. Digite o Nome do Projeto
  2. Insira o caminho da solicitaรงรฃo WSDL. Neste caso http://www.dneonline.com/calculator.asmx?wsdl
  3. clique em OK

Criando um projeto SOAP

Observaรงรฃo:

  • Criar solicitaรงรฃo de amostra para todas as operaรงรตes? Ele cria uma solicitaรงรฃo de amostra para todas as operaรงรตes disponรญveis no WSDL fornecido. Assim que vocรช inserir o endereรงo WSDL, esta opรงรฃo serรก marcada automaticamente. Vocรช pode desmarcรก-lo.
  • Crie um conjunto de testes para o WSDL importado: Cria um conjunto de testes SoapUI dentro do projeto para o WSDL importado.
  • Caminhos Relativos: Permite ao usuรกrio salvar todos os arquivos relativos ao arquivo do projeto.

Passo 3) Ao criar o projeto SOAP com o WSDL acima mencionado, poderemos ver que existem duas operaรงรตes que serรฃo importadas para o projeto.

Criando um projeto SOAP

Passo 4) Expanda a primeira solicitaรงรฃo e clique com o botรฃo direito em 'Adicionar'. Em seguida, clique em โ€˜Novo Pedidoโ€™.

Criando um projeto SOAP

Em seguida, clique em 'OK'. Ele exibirรก a solicitaรงรฃo SOAP no formato XML

Criando um projeto SOAP

  1. Digite 'intA' e 'intB'
  2. Clique no botรฃo enviar
  3. O XML de resposta serรก exibido no painel do lado direito.

Criando um projeto SOAP

Vocรช pode se perguntar por que criar casos de teste? Quando vocรช pode testar diretamente o Webservice aquiโ€ฆ

Bem, vocรช pode enviar uma solicitaรงรฃo para uma operaรงรฃo. E os outros? Quantas combinaรงรตes de entradas para Adiรงรตes vocรช pode fazer usando esta operaรงรฃo? Vocรช deve editar a solicitaรงรฃo para cada combinaรงรฃo.

Por exemplo: Se vocรช deseja adicionar 4 e 4 em vez de 5 e 5โ€ฆ Vocรช precisa editar a operaรงรฃo novamente. Portanto, รฉ necessรกrio criar um conjunto/casos de testes para testar todos os cenรกrios possรญveis sem ter que editar diretamente a operaรงรฃo em si.

Como criar um conjunto de testes no SoapUI

Abaixo estรฃo as etapas para criar o Test Suite no SoapUI:

Etapa 1) Clique com o botรฃo direito na raiz do projeto

Dentro do projeto, os testadores podem criar um conjunto de testes clicando com o botรฃo direito na raiz do projeto.

Crie um conjunto de testes no SoapUI

Etapa 2) Insira os detalhes do conjunto de testes

Precisamos inserir o nome do conjunto de testes e pressionar OK.

Crie um conjunto de testes no SoapUI

Etapa 3) Verifique o conjunto de testes criado

O conjunto de testes criado รฉ exibido no painel do navegador conforme mostrado abaixo.

Crie um conjunto de testes no SoapUI

Etapa 4) Abra o conjunto de testes

A janela do conjunto de testes รฉ aberta no painel direito. Como acabamos de criar, NรƒO hรก casos de teste do SoapUI. Portanto, todas as opรงรตes estรฃo desativadas.

Crie um conjunto de testes no SoapUI

Como criar um caso de teste no SoapUI

Aqui estรก um processo passo a passo para criar um caso de teste no SoapUI:

Passo 1) Dentro de um conjunto de testes, podemos criar vรกrios testes clicando com o botรฃo direito do mouse no 'conjunto de testes' e escolhendo 'Novo TestCase'.

Criar caso de teste no SoapUI

Passo 2) Especifique o nome do Caso de teste e clique em 'OK'.

Criar caso de teste no SoapUI

Passo 3) O caso de teste criado possui zero etapas, conforme mostrado abaixo.

Criar caso de teste no SoapUI

Observaรงรฃo: Podemos ver que o caso de teste รฉ adicionado com zero etapas de teste para todos os tipos de testes disponรญveis. Ao adicionar as etapas de teste, os nรบmeros entre colchetes mudariam automaticamente.

A etapa de teste funcional deve ir para 'Etapas de teste', enquanto uma etapa de teste de desempenho deve ir para 'Teste de carga' e uma etapa de teste de seguranรงa deve ir para 'Testes de seguranรงa'.

Passo 4) Podemos inserir uma variedade de etapas de teste clicando com o botรฃo direito nas etapas de teste e selecionando uma etapa de teste apropriada, conforme mostrado abaixo. Portanto, se vocรช fosse testar um Webservice REST, selecionaria a solicitaรงรฃo de teste REST.

Criar caso de teste no SoapUI

Adicionando uma etapa de teste no SoapUI

Agora vamos adicionar uma etapa de teste para validar a solicitaรงรฃo de teste SOAP importada:

Passo 1) Adicione uma nova etapa 'Solicitaรงรฃo SOAP' conforme mostrado abaixo.

Adicionando uma etapa de teste no SoapUI

Passo 2) Insira o nome da etapa e clique em OK.

Adicionando uma etapa de teste no SoapUI

Passo 3) Ao clicar em 'OK', uma caixa de diรกlogo aparece para selecionar a operaรงรฃo a ser invocada. Todas as operaรงรตes sรฃo listadas e o usuรกrio pode selecionar a operaรงรฃo que deseja invocar.

  • Existem muitas operaรงรตes que serรฃo listadas. O OperaAs opรงรตes sรฃo as mesmas, exceto a versรฃo SOAP usada.CalculatorSoap โ€“ usa SOAP versรฃo 1.1, enquanto CalculatorSoap12 โ€“ usa SOAP versรฃo 1.2
  • A Versรฃo nรฃo importa para nรณs neste contexto. Portanto, vocรช pode selecionar aquele de sua preferรชncia.

    Adicionando uma etapa de teste no SoapUI

  • Ao selecionar a operaรงรฃo, clique em 'Ok'

    Adicionando uma etapa de teste no SoapUI

Passo 4) Ao adicionar um caso de teste, podemos adicionar asserรงรตes padrรฃo. Asserรงรตes tambรฉm chamadas de pontos de verificaรงรฃo/pontos de validaรงรฃo, dos quais trataremos em detalhes no prรณximo tutorial.

Podemos adicionar os seguintes pontos de verificaรงรฃo/afirmaรงรตes ao criar o caso de teste. Vamos criar um caso de teste com a opรงรฃo que significa criar uma etapa de teste SEM nenhum dos pontos de validaรงรฃo abaixo

Adicionando uma etapa de teste no SoapUI

  1. Verifica se a mensagem de resposta รฉ SOAP, ao executar o teste.
  2. Verifica se o esquema de resposta รฉ vรกlido.
  3. Verifica se a resposta SOAP contรฉm FAULT.

Passo 5) Ao criar o caso de teste, o XML da solicitaรงรฃo รฉ mostrado abaixo. A estrutura do XML รฉ explicada no instantรขneo abaixo.

Adicionando uma etapa de teste no SoapUI

Passo 6) A contagem de etapas de teste agora รฉ incrementada para um, pois acabamos de adicionar uma etapa de teste. Da mesma forma, ao adicionar a etapa de testes de carga e seguranรงa, o nรบmero correspondente seria incrementado automaticamente com base no nรบmero de etapas adicionadas.

Adicionando uma etapa de teste no SoapUI

Enviando solicitaรงรฃo manualmente e lendo a resposta no SoapUI

Passo 1) Gostarรญamos de adicionar dois nรบmeros inteiros.

  • intA โ€“ 5
  • intB โ€“ 5

Em seguida,

  1. Precisamos inserir essas entradas no lugar do ponto de interrogaรงรฃo que serรก enviado como XML de solicitaรงรฃo.
  2. Apรณs inserir esses valores nas tags XML correspondentes, clique no botรฃo 'enviar solicitaรงรฃo' para verificar a resposta.

Envio de solicitaรงรฃo manualmente e leitura da resposta

Passo 2) Ao enviar uma solicitaรงรฃo, a solicitaรงรฃo de serviรงo da web รฉ processada pelo servidor da web e envia de volta uma resposta conforme mostrado abaixo.

Ao ler a resposta, podemos concluir que 5 mais 5 รฉ 10.

Envio de solicitaรงรฃo manualmente e leitura da resposta

Compreendendo os painรฉis de resposta e registro do Soap

Conforme explicado no inรญcio deste tutorial de teste do SoapUI, as mensagens SOAP sรฃo transportadas via protocolo HTTP. Vamos dar uma olhada nas mensagens RAW. Isso nos ajudarรก a saber como a solicitaรงรฃo e a resposta SOAP foram transportadas por HTTP.

Passo 1) Clique na guia โ€˜RAWโ€™ em ambas as janelas de solicitaรงรฃo SOAP-UI.

  1. A solicitaรงรฃo รฉ postada no servidor da web. Portanto, o mรฉtodo POST de Http รฉ usado.
  2. A solicitaรงรฃo SOAP รฉ transportada no corpo da mensagem HTTP.

Painรฉis de resposta e registro do Soap

Passo 2) AQUI clique na guia 'RAW' na janela de resposta SOAP-UI para entender como a resposta รฉ enviada via HTTP.

  1. Apรณs o processamento da solicitaรงรฃo, o cรณdigo de resposta HTTP (200) รฉ mostrado, o que significa que foi bem-sucedido. O servidor web processou-o com sucesso.
  2. A resposta SOAP รฉ enviada de volta ao cliente como parte do corpo da mensagem HTTP.

Painรฉis de resposta e registro do Soap

Um instantรขneo rรกpido dos cรณdigos de resposta HTTP para fรกcil compreensรฃo e depuraรงรฃo. A tabela abaixo irรก ajudรก-lo a solucionar problemas com base no cรณdigo HTTP recebido do servidor web.

Cรณdigo HTTP Descriรงรฃo
1xx: Informativo - Isso significa uma solicitaรงรฃo recebida e um processo contรญnuo.
2xx: Sucesso - A aรงรฃo foi recebida, compreendida e aceita com sucesso.
3xx: Redirecionar - Isso significa que outras aรงรตes devem ser tomadas para concluir a solicitaรงรฃo.
4xx: Erro do cliente โ€“ Isso significa que a solicitaรงรฃo contรฉm sintaxe incorreta ou nรฃo pode ser atendida
5xx: Erro de servidor - O servidor nรฃo conseguiu atender a uma solicitaรงรฃo aparentemente vรกlida

Passo 3) Vamos entender as demais informaรงรตes que sรฃo exibidas na janela do caso de teste.

Painรฉis de resposta e registro do Soap

  1. Representa NO cabeรงalho na solicitaรงรฃo que estรก sendo enviada
  2. Nรฃo representa nenhum anexo na solicitaรงรฃo que estรก sendo enviada ao servidor web.
  3. Representa 10 informaรงรตes de cabeรงalho e as mesmas sรฃo exibidas ao clicar nele.
  4. Representa que nรฃo hรก anexos na mensagem de resposta.

PAINEL DE REGISTROS:

O painel Logs contรฉm informaรงรตes completas sobre a transaรงรฃo entre o cliente e o servidor. Os usuรกrios poderรฃo ver as guias do painel Log conforme mostrado abaixo. Discutiremos os painรฉis de log mais comumente usados โ€‹โ€‹ao trabalhar com SOAP-UI.

PAINEL DE REGISTROS

Registro do SoapUI โ€“ Exibe as informaรงรตes de resposta do servidor web. As mesmas informaรงรตes sรฃo armazenadas no arquivo soapui.log da pasta instalada do SOAP-UI no diretรณrio 'bin'.

Registro do SoapUI

Registro HTTP โ€“ Exibe toda a transferรชncia de pacotes HTTP. Todas as informaรงรตes em 'RAW' sรฃo mostradas no log HTTP.

Registro HTTP

Registro de erros โ€“ O log de erros exibe todos os erros que encontramos durante toda a sessรฃo do projeto. A mesma informaรงรฃo estรก disponรญvel em 'soapui-errors.log' presente no diretรณrio 'bin' do local de instalaรงรฃo da UI SOAP.

Registro de memรณria โ€“ Esta guia monitora o consumo de memรณria e o exibe na forma de grรกfico conforme mostrado abaixo. ร‰ realmente รบtil quando uma operaรงรฃo que consome muita memรณria รฉ executada.

Registro de memรณria

Agora que criamos um conjunto de testes, um caso de teste, uma etapa de teste e obtivemos uma resposta, a prรณxima etapa รฉ validar a resposta. Trataremos dos tipos de asserรงรตes no prรณximo tutorial.

Resuma esta postagem com: