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:
- Java JDK maior ou igual a versão 11
- Git
-
Maven
* Configure o Maven no PATH do seu sistema operacional no Windows ou no Mac - Browser Web moderno nas versões mais recentes
* Recomendo o Google Chrome - IDE de Desenvolvimento
* Recomendo utilizar o Intellij IDEA Community Edition - Postman
-
Lombok plugin instalado na sua IDE favorita
1. Configure o plugin
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
- Abra o seu navegador e acesse https://github.com/eliasnogueira/credito-api
- Localize e clique no botão Clone. Ele tem a cor verde e estará localizado a direita
- Selecione o item de menu Download zip
- Descompacte o arquivo
credito-api-main.zipque foi salvo no local de sua escolha - Mova a pasta
credito-api-mainpara um local de sua escolha e de fácil acesso - Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto
cd credito-api-main - Execute o comando
mvn compilee aguarde até o término do build
Clone do projeto
- Abra o Prompt de Comando (Windows) ou o Terminal (Mac ou Linux)
- Navegue até um diretório de sua escolha
- Execute o seguinte comando
git clone https://github.com/eliasnogueira/credito-api.git - Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto
cd credito-api - Execute o comando
mvn compilee aguarde até o término do build
Projeto de Testes
Download do projeto
- Abra o seu navegador e acesse https://github.com/eliasnogueira/projeto-teste-api-livro-v1
- Localize e clique no botão Clone. Ele tem a cor verde e estará localizado a direita
- Selecione o item de menu Download zip
- Descompacte o arquivo
projeto-teste-api-livro-v1-main.zipque foi salvo no local de sua escolha - Mova a pasta
projeto-teste-api-livro-v1-mainpara um local de sua escolha e de fácil acesso - Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto
cd projeto-teste-api-livro-v1-main - Execute o comando
mvn compilee aguarde até o término do build
Clone do projeto
- Abra o Prompt de Comando (Windows) ou o Terminal (Mac ou Linux)
- Navegue até um diretório de sua escolha
- Execute o seguinte comando
git clone https://github.com/eliasnogueira/projeto-teste-api-livro-v1.git - Navegue, via Prompt de Comando ou Terminal, até o diretório do projeto
cd projeto-teste-api-livro-v1 - Execute o comando
mvn compilee aguarde até o término do build - Abra a sua IDE de Desenvolvimento
- Nela, selecione a opção de importação de projetos para o tipo Maven apontando para a pasta projeto-teste-api-livro-v1
- 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 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 sucesso
Uma vez finalizada a simulação o usuário visualiza uma tela 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.
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.