Histórias definem funcionalidades; Cliente residente – feedback contínuo e testes de aceitação; Programação em pares e propriedade coletiva do código; Introdução
Características que influenciam os testes:
Scripts de testes devem ser escritos antes do código; Testes de integração devem ser executados várias vezes ao dia; Solução mais simples deve ser sempre implementada; Testes tradicionais x ágeis
Crispin, Lisa. Agile Testing
Testes em projetos ágeis
Todas as iterações demandam testes.
Desenvolvedores escrevem todos os casos de testes e os automatizam. Todo novo código é testado no nível de componente e depois integrado. Testes em projetos ágeis
Integração contínua: mudanças incorporadas
continuamente. Todos os casos de testes escritos e automatizados devem executar com sucesso (100% passam). Princípios dos testes ágeis
Abordagem da equipe única
Codificação e testes são um único processo Feedback é chave para colaboração Práticas de TDD (Test Driven Development) Desenvolvedores conscientizados pelos testes produzem ferramentas melhores e testes mais bem projetados. Princípios dos testadores ágeis
Crispin, Lisa. Agile Testing
Quadrantes dos testes
Propostos por Lisa Crispin (Agile Testing)
Não se aplica somente a testes ágeis, já que ele também inclui conceitos e tipos de testes que podem ser realizados também em metodologias tradicionais. Quadrantes dos testes
O quadrante dos testes divide os testes em 4 tipos
Q1: Testes de teor tecnológico que apoiam a equipe. Q2: Testes de teor de negócio que apoiam a equipe. Q3: Testes de teor de negócio que avaliam o produto. Q4: Testes de teor tecnológico que avaliam o produto. Quadrantes dos testes
Crispin, Lisa. Agile Testing
Quadrantes dos testes – Quadrante 1
Se preocupa em testar de forma em camadas ou
componentizada. Podem ser utilizadas APIs específicas. São testados acessos a bancos de dados. Testes são realizados de maneira isolada. É analisada a qualidade interna do produto. Quadrantes dos testes – Quadrante 2
Se preocupa com os testes que procuram garantir a
qualidade externa do produto. Os testes podem ser capturados através de exemplos. Testes deste quadrante ajudam os clientes a enxergar melhor os requisitos com clareza Quadrantes dos testes – Quadrante 3
Se preocupa em recriar experiências de usuário reais.
Trata-se de um teste realista. São testados aspectos de usabilidade. O produto deve ser usável pelos clientes. Podem ser feitas demonstrações aos clientes. Podem ser realizados testes com usuários e observação do uso do produto por eles. Quadrantes dos testes – Quadrante 4
Se preocupa em realizar os testes não funcionais
como testes de desempenho, estabilidade, escalabilidade, entre outros. Podem ser ainda verificados aspectos como conversão de dados e ambientes de testes (proximidade com ambientes reais). Testes de Aceitação
História - Um cliente pode pagar uma compra com um cartão de
crédito
Teste de Aceitação (lembretes)
Testar com Visa, Mastercard, American Express (passa)
Testar com Diners (falha)
Testar com números de cartões bons, maus ou incompletos
Testar com cartões cuja data de validade expirou.
Testar com diferentes valores de compra (incluindo um acima do limite)
Papel do cliente
Como o software deve atender a uma visão e requisitos dados
pelo cliente, testes de aceitação devem ser especificados pelo cliente.
Cliente pode trabalhar com um desenvolvedor ou testador para
escrever os testes, mas no mínimo o cliente precisa identificar as condições que serão usadas para o teste quando o software estiver pronto. Até quando testar?
Como o software deve atender a uma visão e
requisitos dados pelo cliente, testes de aceitação devem ser especificados pelo cliente. Cliente escreve os testes enquanto eles acrescentarem valor e esclarecerem a história. Até quando testar?
Um bom time de desenvolvedores terá testes de
unidade para os casos mais baixo nível. Cliente não é responsável por identificar cada teste possível, mas sim deve focar os esforços em escrever testes para esclarecer a intenção da história. Registro dos Testes de Aceitação
Pode-se expressar os testes de aceitação como
tabelas de dados de entrada e de saída esperados. Um exemplo para uma aplicação de uma calculadora pode ser mostrado na tabela a seguir.
numerator denominator quotient?
10 2 5 12.6 3 4.2 100 4 25 Conclusões
Testes em ciclos de vida ágeis possuem
características específicas que refletem na capacidade da equipe e nas rotinas de trabalho.