mini curso testes de software ágil leves enxutos computer on the beach 2013
DESCRIPTION
Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013TRANSCRIPT
www.qualister.com.br
(48) 3285 5615 / 9645 5506 [email protected]
Testes ágeis: rápido, frequente e automa5zado
• Terceirização de profissionais • Consultoria de teste • Avaliação de usabilidade • Automação de testes • Testes de performance • Treinamentos
www.qualister.com.br
Direitos autorais
Importante – É proibida a cópia e reprodução de qualquer parte
do conteúdo desta apresentação incluindo, mas
não limitado a, textos, imagens, gráficos e tabelas.
Esta apresentação é protegida pelas leis de
Copyright e são propriedade de Cristiano Caetano
e Qualister Consultoria e Treinamento LTDA.
– Não é permitido modificar, copiar, guardar em
banco de dados público, alugar, vender ou
republicar qualquer parte desta apresentação,
sem prévia permissão explícita do autor.
– Quando houver permissão de uso deste material,
é obrigatória a referência bibliográfica conforme as
normas vigentes.
www.qualister.com.br
Instrutor
Cristiano Caetano Email: [email protected] Apresentações: slideshare.net/cristianocaetano
É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software (www.testexpert.com.br).
www.qualister.com.br
twitter.com/c_caetano
www.qualister.com.br
Tópico
• Introdução
www.qualister.com.br
Manifesto Ágil: Valores
• Indivíduos e interação entre eles ao invés de processos e ferramentas;
• Software em funcionamento ao invés de documentação abrangente;
• Colaboração com o cliente ao invés de negociação de contratos;
• Responder a mudanças ao invés de seguir estritamente um plano.
http://agilemanifesto.org/
www.qualister.com.br
Testes ágeis
• O teste ágil é caracterizado por ser uma atividade: – desempenhada por todos os membros do time; – que ocorre em todas etapas do ciclo de vida de desenvolvimento; – e que o ocorre frequentemente em ciclos contínuos; – através de mecanismos automatizados (sempre quando possível).
www.qualister.com.br
• Cultura: A qualidade é responsabilidade de todos
Testes ágeis
www.motivatedphotos.com
www.qualister.com.br
Testes ágeis
Desenvolvimento Testes
Desenvolvimento Testes
TRADICIONAL
ÁGIL – TESTE CONTÍNUO E AUTOMATIZADO
www.qualister.com.br
Testes ágeis
Unidade e integração entre componentes
Integração de sistema
UI
Baseado em: Mike Cohn - Test Automation Pyramid
www.qualister.com.br
Testes ágeis
- Cus
to +
Unidade e integração entre componentes
Integração de sistema
UI
www.qualister.com.br
Testes ágeis
- Man
uten
ção
+
Unidade e integração entre componentes
Integração de sistema
UI
www.qualister.com.br
Testes ágeis
+ Ve
loci
dade
-
Unidade e integração entre componentes
Integração de sistema
UI
www.qualister.com.br
Tópico
• Métodos de testes ágeis
www.qualister.com.br
Métodos de testes ágeis
• Estilos de teste de unidade: – TAD (Test After Development) – TDD (Test Driven Development)
www.qualister.com.br
Métodos de testes ágeis
• TAD (Test After Development)
Conversor de temperatura
Conversor deverá converter graus Celcius para graus Fahrenheit de acordo com a seguinte fórmula: °C = (°F − 32) / 1,8 °F = °C × 1,8 + 32
www.qualister.com.br
Métodos de testes ágeis
• TAD (Test After Development) @Test public void testConverter30GrausCelciusParaFahrenheit() {
Conversor c = new Conversor(); assertEquals(c.celciusToFahrenheit(30), 86, 00);
}
www.qualister.com.br
Métodos de testes ágeis
• TDD (Test Driven Development) – Alta coesão – Baixo acomplamento – Menor complexidade – Maior testabilidade
www.qualister.com.br
Métodos de testes ágeis
• O BDD é uma técnica de desenvolvimento de software, onde os programadores desenvolvem o software guiados por comportamentos (testes de aceitação)
• Os comportamentos são descritos em uma linguagem natural similar a linguagem do negócio e deve ser facilmente entendida pelo cliente e demais membros do time.
www.qualister.com.br
Métodos de testes ágeis
• Um comportamento é descrito por uma estória e por testes de aceitação conforme o modelo propoposto por Dan North
www.qualister.com.br
Métodos de testes ágeis
Cenários de uso
Exemplos de uso
Limitações
Restrições Premissas
Assunções
Expecta5vas
Linguagem Ubíqua
www.qualister.com.br
Métodos de testes ágeis
• Várias ferramentas auxiliam o programador a transformar os comportamentos em verificações automatizadas
Código
API
Interface gráfica
Etc... Comportamento em linguagem
natural
Codigo de suporte “fixture” que encapsula a
implementação da ação descrita em linguagem natural
www.qualister.com.br
Métodos de testes ágeis
http://blog.dannorth.net/introducing-bdd/
http://jbehave.org/
jBehave • Behavior-Driven
www.qualister.com.br
Métodos de testes ágeis
Testes de aceitação em linguagem
natural na filosofia BDD
Codigo de suporte “fixture” que encapsula a
implementação da ação descrita em linguagem natural
Código/API do sistema sendo exercitado para
validar um comportamento
1
2
3
www.qualister.com.br
Métodos de testes ágeis
http://jbehave.org/
www.qualister.com.br
Métodos de testes ágeis
http://fitnesse.org/ http://www.spinsp.org.br/apresentacao/57_fitnesse.pdf
Fitnesse • Data-driven (tabela de decisão)
www.qualister.com.br
Métodos de testes ágeis
http://fitnesse.org/ http://www.spinsp.org.br/apresentacao/57_fitnesse.pdf