-
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. -
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.
- 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.
- 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.
- 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.
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
- 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
- Integration:
Para a execução dos teste é necessário instalar as ferramentas abaixo:
- Node > Ultima versão LTS - instalação Node
- Cypress > versão 9.7.0
npm install cypress@9.7.0- Cucumber > Ultima versão
npm install cypress-cucumber-preprocessorApó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"
}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.
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.
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
Para a execução dos teste é necessário instalar o Postman na versão mais recente.
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.

Depois, selecione o arquivo collection.json

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".

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

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

