O básico

Ferramentas necessárias

Para poder executar a aplicação alvo dos testes e também poder criar e executar os scripts de teste você deve ter as seguintes ferramentas instaladas:

Baixar as aplicações necessárias

Para que possamos executar todos os exercícios devemos baixar o projeto de teste e o backend.
O projeto de backend possui a aplicação alvo dos testes que iremos executar a todo momento.
O projeto de teste possui todas as bibliotecas necessárias configuradas e prontas para uso, além do esqueleto inicial do projeto.

Você pode obter os projeto efetuando o download ou clone. Se você não tem conhecimentos em git eu recomendo o download dos projetos.

Projeto Backend

Download do projeto

  1. Abra o seu navegador e acesse https://github.com/eliasnogueira/credito-api
  2. Localize e clique no botão Clone. Ele tem a cor verde e estará localizado a direita
  3. Selecione o item de menu Download zip
  4. Descompacte o arquivo credito-api-main.zip que foi salvo no local de sua escolha
  5. Mova a pasta credito-api-main para um local de sua escolha e de fácil acesso
  6. Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto cd credito-api-main
  7. Execute o comando mvn compile e aguarde até o término do build

Clone do projeto

  1. Abra o Prompt de Comando (Windows) ou o Terminal (Mac ou Linux)
  2. Navegue até um diretório de sua escolha
  3. Execute o seguinte comando git clone https://github.com/eliasnogueira/credito-api.git
  4. Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto cd credito-api
  5. Execute o comando mvn compile e aguarde até o término do build

Projeto de Testes

Download do projeto

  1. Abra o seu navegador e acesse https://github.com/eliasnogueira/projeto-teste-api-livro-v1
  2. Localize e clique no botão Clone. Ele tem a cor verde e estará localizado a direita
  3. Selecione o item de menu Download zip
  4. Descompacte o arquivo projeto-teste-api-livro-v1-main.zip que foi salvo no local de sua escolha
  5. Mova a pasta projeto-teste-api-livro-v1-main para um local de sua escolha e de fácil acesso
  6. Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto cd projeto-teste-api-livro-v1-main
  7. Execute o comando mvn compile e aguarde até o término do build

Clone do projeto

  1. Abra o Prompt de Comando (Windows) ou o Terminal (Mac ou Linux)
  2. Navegue até um diretório de sua escolha
  3. Execute o seguinte comando git clone https://github.com/eliasnogueira/projeto-teste-api-livro-v1.git
  4. Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto cd projeto-teste-api-livro-v1
  5. Execute o comando mvn compile e aguarde até o término do build
  6. Abra a sua IDE de Desenvolvimento
  7. Nela, selecione a opção de importação de projetos para o tipo Maven apontando para a pasta projeto-teste-api-livro-v1
  8. Aguarde sua IDE efetuar todas as configurações necessárias

Observações

Se você tentar efetuar o clone do projeto e obter a mensagem abaixo, efetue os passos a seguir.

Mensagem

SSL certificate problem: self signed certificate in certificate chain

Como solucionar

Execute o comando abaixo:

git config --global http.sslVerify false

Sobre a aplicação de exemplo

A nossa API foi desenvolvida para dar suporte a uma aplicação web de simulação de empréstimo.
O ponto central aqui é explicar como seria uma página web para esta aplicação.

Por favor, não se apegue a detalhes nas imagens, mas sim as próximas explicações. Elas servem apenas para dar a você uma ideia de como seria a aplicação.

Design da aplicação

Página inicial

Nesta página é necessário informar um CPF para efetuar uma simulação de empréstimo.
Se o CPF possuir alguma restrição não será possível efetuar uma simulação, onde é apresentado uma mensagem ao usuário.

Página inicial da aplicação

Página de simulação

Se o usuário informou um CPF que não possui restrição ele é redirecionado para a página de simulação de crédito.
Aqui ele informa seus dados, bem como o valor que será tomado como empréstimo, parcelas e se ele deseja ter um seguro.

Há validações (regras de negócio) em algumas dos campos.

Página de cadastro

Página de sucesso

Uma vez finalizada a simulação o usuário visualiza uma tela de sucesso.

Página de sucesso

Página de visualização de simulações

Nesta página o avaliador visualizará a simulação de crédito, podendo efetuar algumas operações como pesquisar, atualizar e remover.

Página contendo a lista de simulações

Regras de Negócio da aplicação

Diversas aplicações possuem regras de negócio, e com esta não é diferente. Elas foram inseridas para que você possa estar o mais próximo possível da automação de uma aplicação real.
As regras de negócio estão escritas usando a abordagem de especificação por exemplo.

Consulta de CPF

Funcionalidade: Simulação de Crédito

Como uma pessoa que precisa de um empréstimo
Eu desejo efetuar uma simulação de crédito
Para que eu possa pagar as minhas dívidas

Cenário: Não possuo restrições
   Dado que eu não possuo nenhum tipo de restrição no meu CPF
   Quando eu efetuar uma solicitação
   Então eu visualizo que minha solicitação está em análise

Cenário: Simulador possui uma restrição
   Dado que eu possuo uma restrição no meu CPF
   Quando eu efetuar uma solicitação
   Então eu não consigo efetuar a solicitação de empréstimo
   
   Exemplos:
   | CPF para teste de restrição | Tipo de Restrição |
   |-----------------------------|-------------------|
   | 97093236014                 | Bloqueio Judicial |
   | 60094146012                 | Cartão de Crédito |
   | 84809766080                 | Bancária          |
   | 62648716050                 | SPC               |
   | 26276298085                 | SPC               |
   | 01317496094                 | Cartão de Crédito |
   | 55856777050                 | Bancária          |
   | 19626829001                 | Bancária          |
   | 24094592008                 | Bancária          |
   | 58063164083                 | Bancária          |

   
Cenário: Simulador de empréstimo não preenche informações necessárias
   Dado que eu não possuo nenhum tipo de restrição no meu CPF
   Quando eu deixo de informar algo importante
   Então eu não consigo efetuar a solicitação de empréstimo
   
   Exemplos:
   | Campo não informado    | Mensagem                       |
   |------------------------|--------------------------------|
   | Nome                   | Nome não pode ser vazio        |
   | E-mail                 | CPF não pode ser vazio         |
   | Valor solicitado.      | E-mail não deve ser vazio      |
   | Quantidade de parcelas | Parcelas não pode ser vazio    |
   

Cenário: Simulador de empréstimo solicita um valor menor ou maior do que o permitido
   Dado que eu não possuo nenhum tipo de restrição no meu CPF
   Quando eu informo um valor maior ou menor que o permitido
   Então eu não consigo efetuar a solicitação de empréstimo

   Exemplos:
   | Valor    | Mensagem                                  |
   |----------|-------------------------------------------|
   | R$ 900   | valor deve ser igual ou maior a R$ 1.000  | 
   | R$ 50.000| Valor deve ser menor ou igual a R$ 40.000 |
   
   
Cenário: Simulador de empréstimo informa uma parcela menor ou maior do que o permiti\
do
   Dado que eu não possuo nenhum tipo de restrição no meu CPF
   Quando eu informo uma parcela maior ou menor que o permitido
   Então eu não consigo efetuar a solicitação de empréstimo

   Exemplos:
   | Parcela | Mensagem                                  |
   |---------|-------------------------------------------|
   | 1       | Parcelas deve ser igual ou maior que 2    | 
   | 60      | Parcelas deve ser menor ou igual a 48     |   

Fora do escopo

Os seguintes itens estão fora do escopo para restringir um pouco nosso escopo de teste e dar mais foco na lógica de testes para API:

  • CPF válido
  • CPF formatado ###.###.###-##

Resumo

Neste capítulo você aprendeu a como instalar as ferramentas necessárias para iniciar os testes e automação de uma API.
Em seguida você aprendeu como seria a aplicação web desta API para te dar uma ideia de como ela seria.
Por fim você aprendeu as regras de negócio da aplicação.

Uma dica: sempre revisita as regras de negócio. Você as utilizará para desenvolver alguns testes na API.