Anda di halaman 1dari 21

Testes em métodos ágeis

Marcelo Werneck
Introdução

Características que influenciam os testes:


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.

Anda mungkin juga menyukai