Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

28
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

description

Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

Transcript of Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

Page 1: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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

Page 2: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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.

Page 3: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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).

Page 4: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Twitter

twitter.com/c_caetano

Page 5: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Tópico

•  Introdução

Page 6: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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/

Page 7: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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).

Page 8: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

•  Cultura: A qualidade é responsabilidade de todos

Testes ágeis

www.motivatedphotos.com

Page 9: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Testes ágeis

Desenvolvimento   Testes  

Desenvolvimento   Testes  

TRADICIONAL

ÁGIL – TESTE CONTÍNUO E AUTOMATIZADO

Page 10: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Testes ágeis

Unidade e integração entre componentes

Integração de sistema

UI

Baseado em: Mike Cohn - Test Automation Pyramid

Page 11: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Testes ágeis

- Cus

to +

Unidade e integração entre componentes

Integração de sistema

UI

Page 12: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Testes ágeis

- Man

uten

ção

+

Unidade e integração entre componentes

Integração de sistema

UI

Page 13: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Testes ágeis

+ Ve

loci

dade

-

Unidade e integração entre componentes

Integração de sistema

UI

Page 14: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Tópico

•  Métodos de testes ágeis

Page 15: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Métodos de testes ágeis

•  Estilos de teste de unidade: –  TAD (Test After Development) –  TDD (Test Driven Development)

Page 16: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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

Page 17: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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);

}

Page 18: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Métodos de testes ágeis

•  TDD (Test Driven Development) –  Alta coesão –  Baixo acomplamento –  Menor complexidade –  Maior testabilidade

Page 19: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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.

Page 20: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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

Page 21: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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

Page 22: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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  

Page 23: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Métodos de testes ágeis

http://blog.dannorth.net/introducing-bdd/

http://jbehave.org/

jBehave •  Behavior-Driven

Page 24: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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  

Page 25: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Métodos de testes ágeis

http://jbehave.org/

Page 26: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

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)

Page 27: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Métodos de testes ágeis

http://fitnesse.org/ http://www.spinsp.org.br/apresentacao/57_fitnesse.pdf

Page 28: Mini curso Testes de software ágil leves enxutos Computer on the Beach 2013

www.qualister.com.br

Dúvidas?

•  Contato: –  Email: [email protected] –  Telefone: (48) 3285 5615