O funil de Teste
Fundamentos de Teste de Software¶
Introduzir os conceitos e a importância dos testes de software no ciclo de desenvolvimento.
Introdução ao Teste de Software¶
- O que é teste de software e sua importância.
- Tipos de defeitos e impacto na qualidade do software.
Principais Conceitos e Termos¶
- Ciclo de vida do teste (Test Life Cycle).
- Definições: teste, bug, erro, falha, casos de teste e cenários de teste.
Níveis de Teste¶
- Testes unitários, de integração, de sistema e de aceitação.
- Aplicação prática em diferentes etapas do desenvolvimento.
Tipos de Teste¶
- Testes funcionais e não funcionais.
- Testes manuais vs. automatizados.
Planejamento e Gestão de Testes¶
Desenvolver habilidades para planejar e organizar atividades de teste.
Planejamento de Testes¶
- Análise de requisitos para identificação de casos de teste.
- Criação do plano de testes: escopo, objetivos e critérios de aceitação.
Estratégias de Teste¶
- Teste exploratório, baseado em riscos e baseado em dados.
- Priorização de casos de teste.
Documentação de Testes¶
- Especificação de casos de teste.
- Registro de evidências e relatórios de execução.
Ferramentas de Gestão de Teste¶
- Jira, TestRail, Zephyr ou outras ferramentas populares.
Teste Manual¶
Capacitar para execução de testes manuais e identificação de defeitos.
Execução de Testes Manuais¶
- Realização de casos de teste.
- Identificação e registro de defeitos (bugs).
Técnicas de Teste¶
- Partição de equivalência.
- Análise de valor limite.
- Tabela de decisão e testes de transição de estado.
Teste de Interface do Usuário (UI)¶
- Verificação da experiência do usuário e design responsivo.
- Inspeção de validações e mensagens de erro.
Teste Automatizado¶
Implementar automações para aumentar a eficiência dos testes.
Introdução à Automação de Testes¶
- Vantagens e desafios.
- Quando e como automatizar testes.
Ferramentas de Automação de Testes¶
- Selenium, Cypress, Playwright, JUnit, TestNG.
- Comparação entre ferramentas e casos de uso.
Automação de Testes Funcionais¶
- Escrita de scripts de teste.
- Execução e validação de resultados.
Automação de Testes de API¶
- Testes de API com Postman, SoapUI ou RestAssured.
- Verificação de endpoints, status HTTP e payloads.
Testes de Performance e Segurança¶
Garantir a estabilidade, escalabilidade e segurança do software.
Teste de Performance¶
- Introdução a testes de carga, estresse e escalabilidade.
- Ferramentas como JMeter, Gatling ou Locust.
Teste de Segurança¶
- Identificação de vulnerabilidades comuns (OWASP Top 10).
- Ferramentas como OWASP ZAP e Burp Suite.
Teste em Ambientes Ágeis e DevOps¶
Integrar práticas de teste em ciclos ágeis e pipelines de CI/CD.
Testes em Metodologias Ágeis¶
- Teste como parte do Scrum e Kanban.
- Participação de testadores no planejamento ágil.
Integração Contínua e Entrega Contínua (CI/CD)¶
- Testes em pipelines automatizados (Azure DevOps, GitHub Actions).
- Automação de regressão em ciclos contínuos.