agilidade com ferramentas de automação - como e por quê?
DESCRIPTION
Apresentação no TDC - The Developers Conference 2010 em São Paulo dia 20/08/2010 sobre Agile e Ferramentas apresentada por Jorge Diz e Elias NogueiraTRANSCRIPT
www.testadores.com
Agilidade com Ferramentas de Automação Como e por quê ?
1
Jorge Diz
• Mestre e bacharel pela UNICAMP• Programando desde 1983• Testando desde 1994• Javeiro• Consultor: teste e metodologia• Criador da Academia de Teste da Globalcode• @JorgeDiz
2
Elias Nogueira
• Arquiteto de Teste de Software• Instrutor de Teste na Iterays• Consultor em Automação de Teste• CSTE – Certified Softwate Tester• http://sembugs.blogspot.com• @eliasnogueira
3
Fórmula para automação
• Compre uma ferramenta muito cara para automação e execução dos testes
• Escolha um monte de Casos de Teste do seu sistema
• Abra vagas de automação para montar um time para automatizar cada Caso de Teste
• Construa uma biblioteca e um framework de automação
• Vá corrigindo os bugs da automação
4
Fórmula para automação
• Compre uma ferramenta muito cara para automação e execução dos testes
• Escolha um monte de Casos de Teste do seu sistema
• Abra vagas de automação para montar um time para automatizar cada Caso de Teste
• Construa uma biblioteca e um framework de automação
• Vá corrigindo os bugs da automação
Isso pode ser feito de o seu produto é muito fácil de testar e não possui mudanças com freqüência.
Essa é a descrição do seu produto?
5
O que é Automação de Teste
"O propósito da automação de testes pode ser resumidamente descrito
como a aplicação de estratégias e ferramentas tendo em vista a
redução do envolvimento humano em atividades manuais repetitivas."
Cem Kaner, Autor do livro "Lessons Learned In Software Testing"
6
Automação de Teste é…
• Uso de ferramentas para ajudar/suportar o teste
• Automação em ambiente ágil é aplicação dos princípios ágeis para automatizar o teste
7
Agile Test Automation
• Suporte de ferramentas para todos os aspectos de teste, não somente execução
• Organizado para entregas de curto prazo• Foco em ‘test driven’, não em ‘defect driven’• Torna o teste como parte do ‘done’
8
Falsas expectativas
Uma ferramenta de testes
automatizados é a solução de
todos os problemas de
qualidade.
Testabili-oquê?Você quer dizer que para criar
testes automatizados será
necessário modificar o sistema?
Testes automatizados é
moleza. Basta gravar a digitação
e os cliques do mouse e depois
executar o script.
9
A ferramenta não é a solução de todos os problemas
10
Testes Manuais x Automação de Testes
11
Candidatos a automação
12
Não recomendados para automação
13
Ferramentas Open Source
• Principais PlayersSelenium – Testes Automatizados para Web por meios Funcionais e de Aceitação. http://seleniumhq.org
JMeter – Testes de performance em aplicações de diferentes tipo de servidores (HTTP/HTTPS, SOAP, JMS, etc..).http://jakarta.apache.org/jmeter
Watir – Testes Automatizados para Web escritos na linguagem Ruby. Existem derivações em .Net (WatN) e Java (WatJ)http://watir.com
FitNesse – Web server, Wiki e ferramenta de Teste Automatizado para suportar Testes de Aceitaçãohttp://jakarta.apache.org/jmeter/
14
Testar é difícil
15
Percepção dos teste
16
Finalidade dos Testes
17
Finalidade dos Testes
• Encontrar defeitos• Definir comportamento esperado• Monitoramento em Produção• Conformidade com contratos• Riscos (mitigação/avaliação)• Métricas de Qualidade
18
Isso é um Elefante?
19
Isso é um teste?
20
Comportamento esperado
21
Modelo V
22
Quadrantes de Marick
23
Pirâmide de Cohn
24
Pirâmide alimentar
25
Pirâmide frágil
26
Fluxo de problemas
27
Só vemos a casca
28
… mas não o interior
29
DINÂMICA
30
31
32
Não temos um modelo consensual
para testes
33
Só acreditamos vendo
34
Todos falamos a mesma língua
35
Inspeções subsituem testes
36
Testes substituem inspeções
37
Automatizar tudo
38
Precisamos automatizar tudo
39
A maioria dos defeitos é
encontrado por testes manuais
40
É mais fácil encontrar defeitos que justificativas para corrigí-los
41
Desenvolvedores sempre testam seu
código
42
Nossa responsabilidade para na entrega
43
Desenvolvedores tem malícia para
testes
44
Não consigo testar concorrência
45
Só da pra testar utilizando a interface
do usuário
46
Integração contínua compensa
47