SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
Test First, TDD
e outros Bichos
BDD, ATDD at all
KLEITOR Lean SS Black Belt certified
Kanban Coach certified
Scrum Coach certified
Lean expert and QA
specialist
kleitor.franklint@gmail.com
br.linkedin.com/in/kfranklint
Relaxe um pouco...
O Porquê da apresentação
-Visão geral de ATDD: treinamentos
-Não indica que serão jogados no Ágil
-Movimento dentro FAP
Sobre a apresentação
-Não é sobre livros ou Internet
-Não é sobre blá, blá, blá
-Nem lavagem cerebral sobre o Agil ou Teste
-É sobre chão de fábrica
-É sobre trabalhar com mais qualidade
-É sobre cliente satisfeito
-É sobre pontos de vista
3
Um Road Map
1 Ágil no mundo real...
Testes de Aceitação
3
4
Orientação a
Valor
O Universo “D”
2
5
4
Agile ALM - Jurgen Appelo
Repensando o saber.
Essencialmente todos os modelos estão errados,
mas alguns são úteis
George E. P. Box
Ágil no mundo real
Um pouco de contexto
Não é sobre um novo “big bang”
Ágil no mundo real
É só sobre uma forma simples e
prática de criar produtos
orientada a testes.
Que perguntas queremos responder?
Como reduzir custos da incerteza?
Porque projetos “orientados a plano” falham?
É possível testar primeiro se o produto não foi construído?
Que valores sustentam o Test First?
Que práticas sustentam Test First?
Boas ferramentas bastam para criar bons produtos?
É possível aprender sobre o produto sem ter manuais?
Como trabalhar com menos stress e respostas mais rápidas?
O que há de errado com a gestão de Falhas?
Como saber se estou fazendo certo?
Como saber se há valor no que estou fazendo?
O que eu ganho com Ágil e Test First?
Que perguntas
queremos responder?
Usar Scrum leva
a empresa ao sucesso?
"...estamos surpreendidos quando, por exemplo, a complexidade
reafirma-se, e fazendo toda a nossa organização a adotar o
Scrum, na verdade não nos permite fornecer software como nós
pensávamos que seria“
Liz Keogh, lunivore
http://lizkeogh.com/
10
Agile!
Agile!!
Agile!!!
Orientado a Test First
11
Pouco tempo, demanda maior que a capacidade
de atendimento, dentre outros. 
O Ágil pode ajudar a lidar ou eliminar esses cenários?
12
O que é “Ágil”, Afinal?
 Agil não é metodologia, mas práticas
úteis, principalmente comportamentais
Rapid Testing
13
O que é “Ágil”, Afinal?
 O Rápido atrasa o ágil: é sobre fazer
melhor! Velocidade como consequência
da qualidade no fluxo de
desenvolvimento.
Valor:
KAIZEN
14
O que é “Ágil”, Afinal?
 É sobre design proativo: paradigmas do
modelo reativo.
 Em que parte do código está
ocorrendo o erro?
 Existe vida além de debug e
breakpoints?
http://www.deltamatrix.com/why-are-agile-teams-25-more-productive
The BUG is on the table!!!
15
O que é “Ágil”, Afinal?
É sobre Produtividade
 Entrega e integração contínua
 Código fácil de manter
 Aprendizagem...
Mais de 8 mil projetos
http://www.deltamatrix.com/why-are-agile-teams-25-more-productive
Produtividade x velocidade
16
O que é “Ágil”, Afinal?
 É sobre práticas para reduzir
incertezas:
 Qual o custo do desconhecido?
Ciclo de vida de projeto orientado a Alice
Ciclo de vida orientado à incerteza
Requisitos de
negócios
Requisitos
funcionais
desenvolvimento Entrega
Suposições Hipóteses Experimentos Validação
17
É sobre Modelagem Orientada a teste
O que é “Ágil”, Afinal?
18
O que é Ágil, Afinal?
 É sobre feedback: para gerar ROI e
produzir melhor
Lean Software Testing, Bárbara Cabral, at: http://pt.slideshare.net/barbaracabral/lean-software-testing
 Qual o custo da falta de comunicação?
Times, artefatos, código
19
É sobre qualidade: técnicas
preventivas
Garantia da qualidade: prevenção
x
Controle da qualidade: detecção
Kentô: planeje com cuidado
execute com precisão
http://www.slideshare.net/barbaracabral/lean-software-testing
O que é “Ágil”, Afinal?
20
-É sobre Ritmo
sustentável
O que é “Ágil”, Afinal?
Não é sobre o “quanto
produz”, mas a qualidade
da produção: vida e
produto.
21
Cliente puxa a produção
O que é “Ágil”, Afinal?
MVP
Entregar o
Mínimo produto viável
Não empurrar o produto
que o cliente não quer
Orientado a valor.
22
KISS - Keep It Simple, Stupid
-Fazer a coisa mais simples possível no planejamento e
design
-Se quiser inventar que seja pra simplificar.
DRY: “Don’t Repeat Yourself”:
-Não repita pedaços de código.
- AntiPattern = WET
Write Everything Twice ou We Enjoy Typing.
YAGNI(XP)
E se no futuro... “You Aren’t Gonna Need It”
O que é “Ágil”, Afinal?
É sobre simplicidade.
Menos é mais!!!
23
https://www.onlineexambuilder.com/universo-agil/exam-61863
Hora do Quiz.
24
Insanidade é fazer a mesma coisa repetidamente e
esperar resultados diferentes.
Definição de insanidade por Albert Einstein
Repensando o fazer.
“D” de design, “D” desenvolvimento
BDD
TDD
ATDD
E os outros “D”?
AMDD
DDT
TDDD
TDDWD
O Universo “D”
BDD
TDD
ATDD
E os outros “D”?
AMDD
DDT
TDDD
TDDWD
O Universo “D”
Melhora o Ágil Anêmico
Universo “D”: duas abordagens
Automatizada x Manual: qual a melhor?
Alguns conceitos
Qualquer técnica de construir
produtos onde o teste vem primeiro:
-Testar antes de escrever os casos de uso,
estórias, diagramas, etc.
-Testar antes de codificar.
ATDD (Acceptance Test Driven Development)
O núcleo de todas as
práticas
Teste de
Aceitação
30
Alguns pontos de vista
-Aceitação do cliente como base;
-Só como pré-entrega do produto é subutilizar a
inteligência produtiva da empresa: muito gasto pouco ROI
-No Ágil é executado em todo o ciclo de vida do produto
ATDD: teste.. Design orientado
31
Alguns pontos de vista
-Aproxima o produto da necessidade do cliente no teste
de aceitação final ( UAT ). Reduz incertezas
-Agrega muito valor ao produto
-Gera padrão pra desenvolvedores
ATDD: teste..
Design orientado
32
ATDD: Técnicas de design
BDD
TDD
CARD e Exploratórios
Desenhando testes de aceitação
Test Driven Development (TDD)
33Figura: Acceptance Test Driven Development, Naresh Jain
 O que é?
-Neste nível é sobre automação de teste. Criar
(mas não só) testes unitários seguidos do código.
Seu ciclo:
-Criar um teste que reprove, escrever o código
para aprovar, refatorar o código.
34
Então não é a mesma coisa que um teste unitário?
Não, “testes unitários” focam na lógica do código, TDD foca
no negócio.
Test Driven Development (TDD)
TDD
35
Um pouco de demonstração
prática ...
Bem por cima
 Manutenibilidade
-Mais fácil manutenção: menor injeção de dependências
-Melhoria continua do design
 Orientado a valor
-Valida o código do ponto de vista do negócio
 Facilita a aprendizagem
-Auxilia time a entender o código e aprender mais rapidamente;
-Minimiza intermediários
36
TDD
37
 Debug x Test First: reativo x proativo
-Localização do bug mais rápida pela execução da suite de teste
 Entrega e integração contínua
-Produz teste de aceitação, integração e regressão
 Documentação viva
-Mantem a documentação sobre o código atualizada
-Agente estratégico na engenharia de conhecimento
-Basta rodar e aprender
TDD
38
 Melhora produtividade
-Agente colaborador de produtividade
-Auxilia a promover ritmo sustentável
-Integra o time
 Ferramenta de apoio a comunicação
-Experimentar e ganhar feedback
-Risk First
 Gestão de Falha x TDD
-Modelo proativo, dinâmico e vivo de gerir falhas
TDD
TDD: Frameworks
39
Natural: NUnit
PHP: PHP Unit
Java: Junit, Test NG
40
Teste de aceitação com
Fonte da imagem: http://istqbexamcertification.com/what-are-the-different-agile-testing-methodology-test-driven-development-behavior-driven-development/
BDD
-Behavior Driven Development
-Behavior Driven Design
É sobre automação… mas é só?
Não… logo conversamos mais
41
E no começo só havia desenvolvedores
… e então surgiram analistas, testadores, cliente e stakeholders
Quem precisa
de BDD?
42
Como modelar a necessidade do cliente?
Dois universos…
“dos dados e informações” e “bug zero”
Quem precisa de BDD?
43
Quem precisa de BDD?
É sobre modelar a árvore de diferentes
pontos de vista
Não é mais sobre desenvolver sistemas…
é sobre o sistema que o cliente quer
é sobre ser produtivo na produção
44
Quem precisa de BDD?
Como modelar a árvore de diferentes
pontos de vista?
-Usando Exemplos
-Usando Linguaguem Universal
45
BDD critério de aceitação
Desafio: expressões individualizadas do critério
Specification-By-Example with Gherkin, CHRISTIAN HASSA
46
O que é
BDD (Behavior driven design)
• Prática onde a comunicação se faz por um vocabulário comum
encorajando a colaboração entre todo o time.
• Forma de escrever teste de aceitação ( ATDD ) com exemplos DBE (
design by example).
 Foca nas razões pelas quais o código deve ser criado, e não em detalhes
técnicos
 Em vez do termo "testes" , preferimos “cenário" e "especificação“
BDD em nível de implementação tem
duas partes Visão
viva do
cliente
BDD
48
Um pouco de demonstração
prática ...
Bem por cima
BDD: Frameworks
49
Ruby: Cucumber
Java: JBehave, at all
PHP: Behat, at all.
50
 Melhora a captura da necessidade do cliente
- Ilustra comportamento com exemplos vivos
- Usar exemplos concretos quando se discute requisitos;
- Útil para finanças porque não intrínseco;
- Valida e roda o produto ao mesmo tempo:
Responde: Como modelar a aceitação em tempo de demonstração?
 Melhora a comunicação
- Promove linguagem universal entre times e envolvidos
- Permite Experimentar e ganhar feedback
BDD
51
 Entrega e integração contínua
 Produz teste de aceitação, integração e testes de regressão
 Gestão de Falha x BDD: mais proativo
 Melhora produtividade:
- quando o processo está maduro
- Produz colaboração: negócio x técnico
 Pode ser orientado a Riscos
 Facilita a aprendizagem ( engenharia do conhecimento)
 Documentação viva (Basta rodar e aprender)
BDD
BDD, TDD, ATDD
O que faz
valer à pena?
52
Orientando a Valor…
53
10 anos fazendo BDD
totalmente errado
Liz Keogh
https://www.youtube.com/watch?v=2EM4itu7j7I
O que faz valer à pena?
54
BDD e TDD, (também) são sobre
automação.
Mas… Qual o valor da automação?
“I made a lipstick robot”
https://www.youtube.com/watch?v=WcW70-6eQcY
55
Qual o valor
da automação se…
-Não atende a necessidade do cliente?
-Não torna o time mais produtivo?
56
Desenvolvimento orientado a valor como proposta.
Mas… o que é valor?
-Necessidade gera valor!
-Cliente puxa a produção
Plan driven x client driven
57
 Como modelar necessidade?
-Como você quiser! Casos de uso, diagramas,
estórias, Design Thinking…at all
 Como descobrir e validar necessidades?
Hum!!! Eis a grande pergunta!
Test First
Teste continuo+entregas frequentes +
Restropectivas+ muito feedback+
envolva o time+ valores ágeis
58
Como descobrir e validar necessidades?
Ou Ágil , BDD e TDD anêmicos
59
Use Testes exploratórios
-Orientado a valor
-Testar: um olhar profundo sobre o produto
sobre amplas perspectivas
Automação
-Só checa: olha a superfície rasa
-Depende do Exploratório para ter valor
Como descobrir e validar necessidades?
SÃO COMPLEMENTARES
Universo “D”: duas abordagens
Automatizada x Manual:
qual a melhor?
61
Quem precisa de
Exploratórios?
62
Quem precisa de
Exploratórios?
63
Técnicas Exploratórias- Como explorar
Jogos de
catástrofes
Modelos de estado,
Técnica de relações,
CRUD, QQC,
Comportamento
padrão
Técnica
de turismo
Session Based e
de Reconhecimento
Persona
Não são
sequenciais
64
Como escrever casos de uso, estórias,
diagramas, etc usando test first?
UC, Estórias,
etc BDD
TDD
Card
Teste do
requisito
Exploratórios
ATDD
65
Driving Development with Tests:ATDD and TDD, Elisabeth Hendrickson
Todo o
time
explora e
modelaTime
explora e
remodela
testes de
aceitação
Time apoia
e modela
testes de
aceitação
Teste de aceitação: ATDD
Testers, Dev,
Analistas
modelam
testes de
aceitação
POSSO COLABORAR COM
MAIS RESPOSTAS?
66
kleitor.franklint@gmail.com
br.linkedin.com/in/kfranklint
92-99416-0873
67
Figuras
Parque: http://sweetclipart.com/cute-colorful-amusement-park-53
Zoo: http://ohlsd.org/blogs/elearning/2012/02/14/columbus-zoo-distance-learning/
Menino foto: http://agoraaquiamanhanaosesabe.blogspot.com.br/2010/05/coisas-simples.html
Capoeira: http://cncapoeira.info/
Benficios: http://www.vph-institute.org/news/vphi-benefit-package-find-out-what-we-have-for-you.html
http://www.ebpwb.co.uk/business-benefits/
Evolução: http://ovnihoje.com/2015/08/10/espaco-do-leitor-caminhos-da-evolucao-tecnologica/
Perguntas imagens: http://www.encontresuafranquia.com.br/franquias/perguntas-para-fazer-ao-franqueador-antes-
de-fechar-
Melhoria: http://caetanodeoliveira.com.br/category/melhoria_continua/
Tdd: http://singlepageappbook.com/single-page.html
Programador: http://pleasantprogrammer.com/archive.html

Más contenido relacionado

La actualidad más candente

Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitosGlauber Aquino
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane FidelixCris Fidelix
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
[ServiceNow] Governança das Instâncias (4ª edição)
[ServiceNow] Governança das Instâncias (4ª edição)[ServiceNow] Governança das Instâncias (4ª edição)
[ServiceNow] Governança das Instâncias (4ª edição)Alessandro Almeida
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 

La actualidad más candente (20)

Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dados
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitos
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
[ServiceNow] Governança das Instâncias (4ª edição)
[ServiceNow] Governança das Instâncias (4ª edição)[ServiceNow] Governança das Instâncias (4ª edição)
[ServiceNow] Governança das Instâncias (4ª edição)
 
Governança de TI - Aula01 Apresentação da disciplina
Governança de TI - Aula01 Apresentação da disciplinaGovernança de TI - Aula01 Apresentação da disciplina
Governança de TI - Aula01 Apresentação da disciplina
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 

Destacado

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalAdriano Petrich
 
O que é o ruby on rails?
O que é o ruby on rails?O que é o ruby on rails?
O que é o ruby on rails?Leonardo Costa
 
Responsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos VillelaResponsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos VillelaThoughtworks
 
Treinamento Six Sigma LG Electronics
Treinamento Six Sigma LG ElectronicsTreinamento Six Sigma LG Electronics
Treinamento Six Sigma LG Electronicsejedelmal
 
Aula questões dissertativas
Aula   questões dissertativasAula   questões dissertativas
Aula questões dissertativasEduardo Lopes
 
Usability Ergebnisse Umfrage
Usability  Ergebnisse UmfrageUsability  Ergebnisse Umfrage
Usability Ergebnisse UmfrageNina Rebele
 
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Axel Bruns
 
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesComment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesHubert Maisonneuve
 
Test de estereopsis
Test de estereopsisTest de estereopsis
Test de estereopsisnikitaht21
 
Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.4003
 
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Mónica Márquez
 
Nuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateNuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateDirectio
 

Destacado (20)

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
 
Test link
Test linkTest link
Test link
 
O que é o ruby on rails?
O que é o ruby on rails?O que é o ruby on rails?
O que é o ruby on rails?
 
Responsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos VillelaResponsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos Villela
 
Treinamento Six Sigma LG Electronics
Treinamento Six Sigma LG ElectronicsTreinamento Six Sigma LG Electronics
Treinamento Six Sigma LG Electronics
 
Aula questões dissertativas
Aula   questões dissertativasAula   questões dissertativas
Aula questões dissertativas
 
Usability Ergebnisse Umfrage
Usability  Ergebnisse UmfrageUsability  Ergebnisse Umfrage
Usability Ergebnisse Umfrage
 
09 IBH E Assessment
09 IBH E Assessment09 IBH E Assessment
09 IBH E Assessment
 
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
 
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesComment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
 
Test de estereopsis
Test de estereopsisTest de estereopsis
Test de estereopsis
 
Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.
 
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
 
ALGA
ALGAALGA
ALGA
 
Nuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateNuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificate
 
2014 ncae nvb presentation
2014 ncae  nvb presentation2014 ncae  nvb presentation
2014 ncae nvb presentation
 
3e jaars
3e jaars3e jaars
3e jaars
 
Advertising Quiz
Advertising QuizAdvertising Quiz
Advertising Quiz
 

Similar a Test First, TDD e outros Bichos

Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTiago Link
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012Igor Abade
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atechcesarcneto
 
Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Softwareguest2f8cba
 
Clean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de SoftwareClean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de SoftwareGabriel Felipe Soares
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendiVinta Software
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDDWebgoal
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreDionatan default
 
Scrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de SoftwareScrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de SoftwareRodrigo Yoshima
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Raphael Paiva
 
BDD em Testes de Serviço
BDD em Testes de ServiçoBDD em Testes de Serviço
BDD em Testes de ServiçoRafael Lima
 
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...Andrelise Rafael Gonçalves
 

Similar a Test First, TDD e outros Bichos (20)

Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Teste Ágeis para todo o time
Teste Ágeis para todo o timeTeste Ágeis para todo o time
Teste Ágeis para todo o time
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste você
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
 
Engenharia Ágil
Engenharia ÁgilEngenharia Ágil
Engenharia Ágil
 
Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Software
 
Clean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de SoftwareClean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de Software
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendi
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDD
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software Livre
 
Scrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de SoftwareScrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de Software
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 
BDD em Testes de Serviço
BDD em Testes de ServiçoBDD em Testes de Serviço
BDD em Testes de Serviço
 
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
[GDG Quality Fest 2017] BDD - Como quebrar as barreiras de negócio dentro do ...
 

Más de Kleitor Franklint Correa Araujo

Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentosGestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentosKleitor Franklint Correa Araujo
 

Más de Kleitor Franklint Correa Araujo (20)

Metricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projetoMetricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projeto
 
Modelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitosModelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitos
 
Engenharia de software Lean Kanban
Engenharia de software  Lean KanbanEngenharia de software  Lean Kanban
Engenharia de software Lean Kanban
 
Fundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e QualidadeFundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e Qualidade
 
MBA em projetos - Gestao Ágil
MBA em projetos - Gestao ÁgilMBA em projetos - Gestao Ágil
MBA em projetos - Gestao Ágil
 
Papeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional ScrumPapeis Ágeis - uma proposta operacional Scrum
Papeis Ágeis - uma proposta operacional Scrum
 
Teste de software gestao e kaizen
Teste de software gestao e kaizenTeste de software gestao e kaizen
Teste de software gestao e kaizen
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Gestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndownGestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndown
 
Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1
 
Introdução de teste de segurança app web
Introdução de teste de segurança app webIntrodução de teste de segurança app web
Introdução de teste de segurança app web
 
Gestão Agil de tudo - Retrospectivas
Gestão Agil de tudo - RetrospectivasGestão Agil de tudo - Retrospectivas
Gestão Agil de tudo - Retrospectivas
 
Gestao Ágil do Backlog - Taskboards
Gestao Ágil do Backlog - TaskboardsGestao Ágil do Backlog - Taskboards
Gestao Ágil do Backlog - Taskboards
 
Gestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlogGestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlog
 
Gestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião DiáriaGestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião Diária
 
Agil - coisas essenciais de sempre
Agil - coisas essenciais de sempreAgil - coisas essenciais de sempre
Agil - coisas essenciais de sempre
 
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentosGestão de projeto PMBOK 5 com um Toque Agil -  praticas de fundamentos
Gestão de projeto PMBOK 5 com um Toque Agil - praticas de fundamentos
 
Gestão de projeto- conceitos essenciais
Gestão de projeto- conceitos essenciaisGestão de projeto- conceitos essenciais
Gestão de projeto- conceitos essenciais
 
Estrategias Ágeis para testes sob pressão
Estrategias Ágeis para testes sob pressãoEstrategias Ágeis para testes sob pressão
Estrategias Ágeis para testes sob pressão
 
Teste de Segurança orientado a valor
Teste de Segurança orientado a valorTeste de Segurança orientado a valor
Teste de Segurança orientado a valor
 

Test First, TDD e outros Bichos

  • 1. Test First, TDD e outros Bichos BDD, ATDD at all KLEITOR Lean SS Black Belt certified Kanban Coach certified Scrum Coach certified Lean expert and QA specialist kleitor.franklint@gmail.com br.linkedin.com/in/kfranklint
  • 2. Relaxe um pouco... O Porquê da apresentação -Visão geral de ATDD: treinamentos -Não indica que serão jogados no Ágil -Movimento dentro FAP Sobre a apresentação -Não é sobre livros ou Internet -Não é sobre blá, blá, blá -Nem lavagem cerebral sobre o Agil ou Teste -É sobre chão de fábrica -É sobre trabalhar com mais qualidade -É sobre cliente satisfeito -É sobre pontos de vista
  • 3. 3 Um Road Map 1 Ágil no mundo real... Testes de Aceitação 3 4 Orientação a Valor O Universo “D” 2 5
  • 4. 4 Agile ALM - Jurgen Appelo Repensando o saber. Essencialmente todos os modelos estão errados, mas alguns são úteis George E. P. Box
  • 5. Ágil no mundo real Um pouco de contexto
  • 6. Não é sobre um novo “big bang” Ágil no mundo real É só sobre uma forma simples e prática de criar produtos orientada a testes.
  • 7. Que perguntas queremos responder? Como reduzir custos da incerteza? Porque projetos “orientados a plano” falham? É possível testar primeiro se o produto não foi construído? Que valores sustentam o Test First? Que práticas sustentam Test First? Boas ferramentas bastam para criar bons produtos?
  • 8. É possível aprender sobre o produto sem ter manuais? Como trabalhar com menos stress e respostas mais rápidas? O que há de errado com a gestão de Falhas? Como saber se estou fazendo certo? Como saber se há valor no que estou fazendo? O que eu ganho com Ágil e Test First? Que perguntas queremos responder?
  • 9. Usar Scrum leva a empresa ao sucesso? "...estamos surpreendidos quando, por exemplo, a complexidade reafirma-se, e fazendo toda a nossa organização a adotar o Scrum, na verdade não nos permite fornecer software como nós pensávamos que seria“ Liz Keogh, lunivore http://lizkeogh.com/
  • 11. 11 Pouco tempo, demanda maior que a capacidade de atendimento, dentre outros.  O Ágil pode ajudar a lidar ou eliminar esses cenários?
  • 12. 12 O que é “Ágil”, Afinal?  Agil não é metodologia, mas práticas úteis, principalmente comportamentais Rapid Testing
  • 13. 13 O que é “Ágil”, Afinal?  O Rápido atrasa o ágil: é sobre fazer melhor! Velocidade como consequência da qualidade no fluxo de desenvolvimento. Valor: KAIZEN
  • 14. 14 O que é “Ágil”, Afinal?  É sobre design proativo: paradigmas do modelo reativo.  Em que parte do código está ocorrendo o erro?  Existe vida além de debug e breakpoints? http://www.deltamatrix.com/why-are-agile-teams-25-more-productive The BUG is on the table!!!
  • 15. 15 O que é “Ágil”, Afinal? É sobre Produtividade  Entrega e integração contínua  Código fácil de manter  Aprendizagem... Mais de 8 mil projetos http://www.deltamatrix.com/why-are-agile-teams-25-more-productive Produtividade x velocidade
  • 16. 16 O que é “Ágil”, Afinal?  É sobre práticas para reduzir incertezas:  Qual o custo do desconhecido?
  • 17. Ciclo de vida de projeto orientado a Alice Ciclo de vida orientado à incerteza Requisitos de negócios Requisitos funcionais desenvolvimento Entrega Suposições Hipóteses Experimentos Validação 17 É sobre Modelagem Orientada a teste O que é “Ágil”, Afinal?
  • 18. 18 O que é Ágil, Afinal?  É sobre feedback: para gerar ROI e produzir melhor Lean Software Testing, Bárbara Cabral, at: http://pt.slideshare.net/barbaracabral/lean-software-testing  Qual o custo da falta de comunicação? Times, artefatos, código
  • 19. 19 É sobre qualidade: técnicas preventivas Garantia da qualidade: prevenção x Controle da qualidade: detecção Kentô: planeje com cuidado execute com precisão http://www.slideshare.net/barbaracabral/lean-software-testing O que é “Ágil”, Afinal?
  • 20. 20 -É sobre Ritmo sustentável O que é “Ágil”, Afinal? Não é sobre o “quanto produz”, mas a qualidade da produção: vida e produto.
  • 21. 21 Cliente puxa a produção O que é “Ágil”, Afinal? MVP Entregar o Mínimo produto viável Não empurrar o produto que o cliente não quer Orientado a valor.
  • 22. 22 KISS - Keep It Simple, Stupid -Fazer a coisa mais simples possível no planejamento e design -Se quiser inventar que seja pra simplificar. DRY: “Don’t Repeat Yourself”: -Não repita pedaços de código. - AntiPattern = WET Write Everything Twice ou We Enjoy Typing. YAGNI(XP) E se no futuro... “You Aren’t Gonna Need It” O que é “Ágil”, Afinal? É sobre simplicidade. Menos é mais!!!
  • 24. 24 Insanidade é fazer a mesma coisa repetidamente e esperar resultados diferentes. Definição de insanidade por Albert Einstein Repensando o fazer.
  • 25. “D” de design, “D” desenvolvimento BDD TDD ATDD E os outros “D”? AMDD DDT TDDD TDDWD O Universo “D”
  • 26. BDD TDD ATDD E os outros “D”? AMDD DDT TDDD TDDWD O Universo “D” Melhora o Ágil Anêmico
  • 27. Universo “D”: duas abordagens Automatizada x Manual: qual a melhor?
  • 28. Alguns conceitos Qualquer técnica de construir produtos onde o teste vem primeiro: -Testar antes de escrever os casos de uso, estórias, diagramas, etc. -Testar antes de codificar.
  • 29. ATDD (Acceptance Test Driven Development) O núcleo de todas as práticas Teste de Aceitação
  • 30. 30 Alguns pontos de vista -Aceitação do cliente como base; -Só como pré-entrega do produto é subutilizar a inteligência produtiva da empresa: muito gasto pouco ROI -No Ágil é executado em todo o ciclo de vida do produto ATDD: teste.. Design orientado
  • 31. 31 Alguns pontos de vista -Aproxima o produto da necessidade do cliente no teste de aceitação final ( UAT ). Reduz incertezas -Agrega muito valor ao produto -Gera padrão pra desenvolvedores ATDD: teste.. Design orientado
  • 32. 32 ATDD: Técnicas de design BDD TDD CARD e Exploratórios Desenhando testes de aceitação
  • 33. Test Driven Development (TDD) 33Figura: Acceptance Test Driven Development, Naresh Jain  O que é? -Neste nível é sobre automação de teste. Criar (mas não só) testes unitários seguidos do código. Seu ciclo: -Criar um teste que reprove, escrever o código para aprovar, refatorar o código.
  • 34. 34 Então não é a mesma coisa que um teste unitário? Não, “testes unitários” focam na lógica do código, TDD foca no negócio. Test Driven Development (TDD)
  • 35. TDD 35 Um pouco de demonstração prática ... Bem por cima
  • 36.  Manutenibilidade -Mais fácil manutenção: menor injeção de dependências -Melhoria continua do design  Orientado a valor -Valida o código do ponto de vista do negócio  Facilita a aprendizagem -Auxilia time a entender o código e aprender mais rapidamente; -Minimiza intermediários 36 TDD
  • 37. 37  Debug x Test First: reativo x proativo -Localização do bug mais rápida pela execução da suite de teste  Entrega e integração contínua -Produz teste de aceitação, integração e regressão  Documentação viva -Mantem a documentação sobre o código atualizada -Agente estratégico na engenharia de conhecimento -Basta rodar e aprender TDD
  • 38. 38  Melhora produtividade -Agente colaborador de produtividade -Auxilia a promover ritmo sustentável -Integra o time  Ferramenta de apoio a comunicação -Experimentar e ganhar feedback -Risk First  Gestão de Falha x TDD -Modelo proativo, dinâmico e vivo de gerir falhas TDD
  • 39. TDD: Frameworks 39 Natural: NUnit PHP: PHP Unit Java: Junit, Test NG
  • 40. 40 Teste de aceitação com Fonte da imagem: http://istqbexamcertification.com/what-are-the-different-agile-testing-methodology-test-driven-development-behavior-driven-development/ BDD -Behavior Driven Development -Behavior Driven Design É sobre automação… mas é só? Não… logo conversamos mais
  • 41. 41 E no começo só havia desenvolvedores … e então surgiram analistas, testadores, cliente e stakeholders Quem precisa de BDD?
  • 42. 42 Como modelar a necessidade do cliente? Dois universos… “dos dados e informações” e “bug zero” Quem precisa de BDD?
  • 43. 43 Quem precisa de BDD? É sobre modelar a árvore de diferentes pontos de vista Não é mais sobre desenvolver sistemas… é sobre o sistema que o cliente quer é sobre ser produtivo na produção
  • 44. 44 Quem precisa de BDD? Como modelar a árvore de diferentes pontos de vista? -Usando Exemplos -Usando Linguaguem Universal
  • 45. 45 BDD critério de aceitação Desafio: expressões individualizadas do critério Specification-By-Example with Gherkin, CHRISTIAN HASSA
  • 46. 46 O que é BDD (Behavior driven design) • Prática onde a comunicação se faz por um vocabulário comum encorajando a colaboração entre todo o time. • Forma de escrever teste de aceitação ( ATDD ) com exemplos DBE ( design by example).  Foca nas razões pelas quais o código deve ser criado, e não em detalhes técnicos  Em vez do termo "testes" , preferimos “cenário" e "especificação“
  • 47. BDD em nível de implementação tem duas partes Visão viva do cliente
  • 48. BDD 48 Um pouco de demonstração prática ... Bem por cima
  • 49. BDD: Frameworks 49 Ruby: Cucumber Java: JBehave, at all PHP: Behat, at all.
  • 50. 50  Melhora a captura da necessidade do cliente - Ilustra comportamento com exemplos vivos - Usar exemplos concretos quando se discute requisitos; - Útil para finanças porque não intrínseco; - Valida e roda o produto ao mesmo tempo: Responde: Como modelar a aceitação em tempo de demonstração?  Melhora a comunicação - Promove linguagem universal entre times e envolvidos - Permite Experimentar e ganhar feedback BDD
  • 51. 51  Entrega e integração contínua  Produz teste de aceitação, integração e testes de regressão  Gestão de Falha x BDD: mais proativo  Melhora produtividade: - quando o processo está maduro - Produz colaboração: negócio x técnico  Pode ser orientado a Riscos  Facilita a aprendizagem ( engenharia do conhecimento)  Documentação viva (Basta rodar e aprender) BDD
  • 52. BDD, TDD, ATDD O que faz valer à pena? 52 Orientando a Valor…
  • 53. 53 10 anos fazendo BDD totalmente errado Liz Keogh https://www.youtube.com/watch?v=2EM4itu7j7I O que faz valer à pena?
  • 54. 54 BDD e TDD, (também) são sobre automação. Mas… Qual o valor da automação? “I made a lipstick robot” https://www.youtube.com/watch?v=WcW70-6eQcY
  • 55. 55 Qual o valor da automação se… -Não atende a necessidade do cliente? -Não torna o time mais produtivo?
  • 56. 56 Desenvolvimento orientado a valor como proposta. Mas… o que é valor? -Necessidade gera valor! -Cliente puxa a produção Plan driven x client driven
  • 57. 57  Como modelar necessidade? -Como você quiser! Casos de uso, diagramas, estórias, Design Thinking…at all  Como descobrir e validar necessidades? Hum!!! Eis a grande pergunta! Test First
  • 58. Teste continuo+entregas frequentes + Restropectivas+ muito feedback+ envolva o time+ valores ágeis 58 Como descobrir e validar necessidades? Ou Ágil , BDD e TDD anêmicos
  • 59. 59 Use Testes exploratórios -Orientado a valor -Testar: um olhar profundo sobre o produto sobre amplas perspectivas Automação -Só checa: olha a superfície rasa -Depende do Exploratório para ter valor Como descobrir e validar necessidades? SÃO COMPLEMENTARES
  • 60. Universo “D”: duas abordagens Automatizada x Manual: qual a melhor?
  • 63. 63 Técnicas Exploratórias- Como explorar Jogos de catástrofes Modelos de estado, Técnica de relações, CRUD, QQC, Comportamento padrão Técnica de turismo Session Based e de Reconhecimento Persona Não são sequenciais
  • 64. 64 Como escrever casos de uso, estórias, diagramas, etc usando test first? UC, Estórias, etc BDD TDD Card Teste do requisito Exploratórios ATDD
  • 65. 65 Driving Development with Tests:ATDD and TDD, Elisabeth Hendrickson Todo o time explora e modelaTime explora e remodela testes de aceitação Time apoia e modela testes de aceitação Teste de aceitação: ATDD Testers, Dev, Analistas modelam testes de aceitação
  • 66. POSSO COLABORAR COM MAIS RESPOSTAS? 66 kleitor.franklint@gmail.com br.linkedin.com/in/kfranklint 92-99416-0873
  • 67. 67 Figuras Parque: http://sweetclipart.com/cute-colorful-amusement-park-53 Zoo: http://ohlsd.org/blogs/elearning/2012/02/14/columbus-zoo-distance-learning/ Menino foto: http://agoraaquiamanhanaosesabe.blogspot.com.br/2010/05/coisas-simples.html Capoeira: http://cncapoeira.info/ Benficios: http://www.vph-institute.org/news/vphi-benefit-package-find-out-what-we-have-for-you.html http://www.ebpwb.co.uk/business-benefits/ Evolução: http://ovnihoje.com/2015/08/10/espaco-do-leitor-caminhos-da-evolucao-tecnologica/ Perguntas imagens: http://www.encontresuafranquia.com.br/franquias/perguntas-para-fazer-ao-franqueador-antes- de-fechar- Melhoria: http://caetanodeoliveira.com.br/category/melhoria_continua/ Tdd: http://singlepageappbook.com/single-page.html Programador: http://pleasantprogrammer.com/archive.html