Skip to content

NevesFelipe/DesafioPB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CASE TÉCNICO | QUALITY ASSURANCE

Estratégia e ferramentas de teste

Resposta ao cenário proposto:

  1. Análise e Planejamento:
    Primeiro, revisaria os requisitos do projeto em detalhes para compreender todas as funcionalidades, integrações e fluxos de trabalho envolvidos. Identificaria os casos de uso críticos e os principais fluxos de usuário para priorizar os testes. Criaria um plano de teste que descreve abordagens, objetivos, escopo, recursos e cronograma.

  2. Abordagens de Teste:

  • Testes Unitários: Garantiria que cada microsserviço seja testado isoladamente, verificando a lógica de negócios e a funcionalidade interna.
  • Testes de Integração: Verificaria as interações entre os microsserviços, sistemas externos e bancos de dados para garantir que a comunicação seja adequada.
  • Testes de API: Validaria as APIs utilizadas para a comunicação entre os componentes do sistema.
  • Testes Funcionais: Realizaria testes de ponta a ponta para validar os fluxos de usuário completos.
  • Testes de Desempenho e Escalabilidade: Avaliaria o sistema sob diferentes cargas de trabalho para garantir que ele possa lidar com o alto volume de operações esperado.
  1. Tipos/Níveis de Teste:
  • Teste de Unidade: Para garantir que cada componente individual funcione corretamente.
  • Teste de Integração: Para verificar as interações entre os componentes.
  • Teste de Sistema: Para validar todo o sistema em relação aos requisitos.
  • Teste de Aceitação: Para garantir que o sistema atenda aos requisitos do cliente.
  • Teste de Desempenho: Para avaliar o desempenho e a capacidade de escalabilidade do sistema.
  1. Ferramentas:
  • JUnit, xUnit ou outros frameworks para testes unitários.
  • Postman, Insomnia ou ferramentas semelhantes para testes de API.
  • Selenium, Cypress ou ferramentas similares para testes funcionais.
  • JMeter, K6 ou ferramentas equivalentes para testes de desempenho.
  1. Atuação na Equipe:
    Como membro da equipe, eu seria responsável por liderar a estratégia de teste, coordenando os esforços de teste em todas as fases do projeto. Trabalharia em estreita colaboração com desenvolvedores, analistas de negócios e analistas de negócio para garantir que os requisitos sejam compreendidos e atendidos. Realizaria revisões de código, participaria de reuniões de planejamento e relataria regularmente o progresso e os resultados dos testes à equipe. À medida que o projeto avança, a estratégia de teste pode evoluir com base nos resultados e nas mudanças nas necessidades do projeto. É fundamental manter uma abordagem flexível e adaptável para garantir o sucesso do projeto.

Automação de testes

Primeira parte - Automação de testes funcionais

Projeto de automação de testes funcionais na interface The Internet para os seguintes requisitos:
Efetuar um clique em todos os 3 botões apresentados em tela;
Clicar em todos os botões edit e delete da grid apresentada.

Esses testes foram desenvolvidos em JS com Cypress e Cucumber

Arquitetura do Projeto

  • Cypress: Pasta Raiz do projeto
    • Integration:
      • Arquivos .feature com os cenários de testes
      • Steps: Passo-a-passo dos testes de acordo com as features
    • Support:
      • Elements: Elementos da página
      • Pages: Implementações das funções de cada feature

Pré-Requisitos

Para a execução dos teste é necessário instalar as ferramentas abaixo:

npm install cypress@9.7.0
  • Cucumber > Ultima versão
npm install cypress-cucumber-preprocessor

Após instalação do cucumber, é necessário configurar o cypress para aceitar os arquivos .feature como padrão.
Adicione ao arquivo cypress/plugins/index.js:

const cucumber = require('cypress-cucumber-preprocessor').default

module.exports = (on, config) => {
  on('file:preprocessor', cucumber())
}

Por fim, adicione no arquivo cypress.json:

{
  "testFiles": "**/*.feature"
}

Execução dos testes

Para realizar a execução dos testes, basta roda o comando abaixo:

npx cypress run

Os resultados serão apresentados no terminal ao fim da execução e um vídeo será disponibilidado para maiores detalhes.

Resultados

Resultado

Observações

O ideal para identificação dos elementos da página seria utilização de ids de testes, porém não haviam no site fornecido.

Segunda Parte - Automação de testes de API

Projeto de testes de API desenvolvidos na ferramenta Postman para validar os 4 verbos HTTP (GET, POST, PUT, DELETE) da api disponibilizada no end-point JsonPlaceHolder

Pré-Requisitos

Para a execução dos teste é necessário instalar o Postman na versão mais recente.

Execução dos testes

Para realizar a execução dos testes, basta importar a collection e environment disponiveis na pasta Teste de API - Postman desse mesmo projeto. Para importar, clique no botão "Import" no canto superior esquerdo.
botaoImport

Depois, selecione o arquivo collection.json
selecionarArquivo

Repita os mesmos passos para importar o environment.
Após realizar as importações, clique nas ações da coleção e selecione "Run collection".
acoesColecao

E então no botão "Run Testes de API - DesafioPB".
runTestes

Resultados

Os resultados dos testes também podem ser observados a cada execução dentro da ferramenta.

resultados

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published