AGILE TESTING
Ivan Ferraz
Agile Coach
Facilitador do Descomplicando Agilidade
Redes Sociais: @ivanferraz1105
MANIFESTO
ÁGIL
MANIFESTO
ÁGIL
INDIVÍDUOS E
INTERAÇÕES
MAIS QUE PROCESSOS E FERRAMENTAS
SOFTWARE
FUNCIONANDO
MAIS QUE DOCUMENTAÇÃO ABRANGENTE
COLABORAÇÃO
COM CLIENTE
MAIS QUE NEGOCIAÇÃO DE CONTRATOS
RESPONDER A
MUDANÇAS
MAIS QUE SEGUIR UM PLANO
Qualidade é responsabilidade do
time
Testar durante mais que Testar no final
Evitar os erros mais que Encontrar os erros
Entender os testes mais que Verificar as funcionalidades
Construir o sistema mais que Quebrar o sistema
Responsabilidade da equipe pela
qualidade mais que Responsabilidade do testador
O manifesto do teste
1. Testes resulta em um produto melhor;
2. Teste não é uma fase;
3. Todos testam;
4. Ciclos curto de feedback, história pronta com teste realizado;
5. Testes representam expectativas do usuário (cliente);
6. Manter o código limpo;
7. Testes descobrem requisitos não explicitados;
8. Reduzir a documentação de testes;
9. Sempre que possível adotar TDD.
Agile Testing segue os princípios do
Manifesto ágil, e adiciona 9 princípios de
testes
1. Prover feedback contínuo – Comunicação, Impedimentos;
2. Entregar valor para o cliente;
3. Habilitar comunicação face-to-face – Facilitar a comunicação;
4. Ter coragem para experimentar o novo;
5. Manter simples;
6. Praticar melhoria contínua;
7. Responder a mudança;
8. Auto-organizar;
9. Focar em pessoas;
10. Divertir;
Existem também outros 10 princípios de
testes
Usamos os Quadrantes de Teste Ágil como
um guia para nos ajudar a cobrir todos os
tipos de testes
Diferença entre teste tradicional e teste
ágil
Níveis de teste ágeis
Teste unitário
Teste de Aceite
da Feature
Verificação da
Feature
(Automação)
Teste de
Regressão
Testes
Funcionais
Teste de
Integração
Release
Feature
Story
Task
Automação de testes
“Segundo Cohn, uma estratégia eficiente de testes automatizados deve contemplar testes em três níveis:
Unidade, Serviço (Integração) e UI.”
Ajuda a gerenciar o risco de regressão devido as
mudanças constantes.
Redução de trabalhos manuais e repetitivos
Melhora a precisão dos testes, evitando falhas
Humanas, por exemplo, esquece de executar algum
teste
Aumenta a cobertura de testes
Feedback rápido
Redução de débito técnico
Métricas de Testes
Testes Aprovados e Reprovados;
Taxas de descoberta de defeitos
Testes de Regressão
Densidade de Defeitos
Defeitos encontrados e corrigidos
Cobertura de testes
TDD Test-Driven Development
Guiar o desenvolvimento por escritas de testes
Gerar aprendizado e boas práticas de desenvolvimento
Automatizar os testes
Reduzir a quantidade de defeitos
Ajudar no entendimento das User Stories
Melhorar a produtividade
Manter código com qualidade
Simplificar o Design
Padrões TDD
Testar software com testes automatizados
Testar de forma unitária
Manter a lista de testes
Escrever o teste antes do que escrever a produção
código
Feedback dos testes
“O objetivo do TDD é escrever
código limpo que funciona.”
─ Ron Jeffries
CODING DOJO

Agile testing

  • 1.
  • 2.
    Ivan Ferraz Agile Coach Facilitadordo Descomplicando Agilidade Redes Sociais: @ivanferraz1105
  • 3.
  • 4.
    INDIVÍDUOS E INTERAÇÕES MAIS QUEPROCESSOS E FERRAMENTAS SOFTWARE FUNCIONANDO MAIS QUE DOCUMENTAÇÃO ABRANGENTE COLABORAÇÃO COM CLIENTE MAIS QUE NEGOCIAÇÃO DE CONTRATOS RESPONDER A MUDANÇAS MAIS QUE SEGUIR UM PLANO
  • 6.
  • 7.
    Testar durante maisque Testar no final Evitar os erros mais que Encontrar os erros Entender os testes mais que Verificar as funcionalidades Construir o sistema mais que Quebrar o sistema Responsabilidade da equipe pela qualidade mais que Responsabilidade do testador O manifesto do teste
  • 8.
    1. Testes resultaem um produto melhor; 2. Teste não é uma fase; 3. Todos testam; 4. Ciclos curto de feedback, história pronta com teste realizado; 5. Testes representam expectativas do usuário (cliente); 6. Manter o código limpo; 7. Testes descobrem requisitos não explicitados; 8. Reduzir a documentação de testes; 9. Sempre que possível adotar TDD. Agile Testing segue os princípios do Manifesto ágil, e adiciona 9 princípios de testes
  • 9.
    1. Prover feedbackcontínuo – Comunicação, Impedimentos; 2. Entregar valor para o cliente; 3. Habilitar comunicação face-to-face – Facilitar a comunicação; 4. Ter coragem para experimentar o novo; 5. Manter simples; 6. Praticar melhoria contínua; 7. Responder a mudança; 8. Auto-organizar; 9. Focar em pessoas; 10. Divertir; Existem também outros 10 princípios de testes
  • 10.
    Usamos os Quadrantesde Teste Ágil como um guia para nos ajudar a cobrir todos os tipos de testes
  • 11.
    Diferença entre testetradicional e teste ágil
  • 12.
    Níveis de testeágeis Teste unitário Teste de Aceite da Feature Verificação da Feature (Automação) Teste de Regressão Testes Funcionais Teste de Integração Release Feature Story Task
  • 13.
    Automação de testes “SegundoCohn, uma estratégia eficiente de testes automatizados deve contemplar testes em três níveis: Unidade, Serviço (Integração) e UI.” Ajuda a gerenciar o risco de regressão devido as mudanças constantes. Redução de trabalhos manuais e repetitivos Melhora a precisão dos testes, evitando falhas Humanas, por exemplo, esquece de executar algum teste Aumenta a cobertura de testes Feedback rápido Redução de débito técnico
  • 14.
    Métricas de Testes TestesAprovados e Reprovados; Taxas de descoberta de defeitos Testes de Regressão Densidade de Defeitos Defeitos encontrados e corrigidos Cobertura de testes
  • 15.
    TDD Test-Driven Development Guiaro desenvolvimento por escritas de testes Gerar aprendizado e boas práticas de desenvolvimento Automatizar os testes Reduzir a quantidade de defeitos Ajudar no entendimento das User Stories Melhorar a produtividade Manter código com qualidade Simplificar o Design
  • 16.
    Padrões TDD Testar softwarecom testes automatizados Testar de forma unitária Manter a lista de testes Escrever o teste antes do que escrever a produção código Feedback dos testes
  • 17.
    “O objetivo doTDD é escrever código limpo que funciona.” ─ Ron Jeffries
  • 18.