palestra tdd-completa

62
[ TDD | ATDD ] Test Driven‐Development Acceptance Test Driven‐Development Paulo Igor @pigodinho [email protected]

Upload: paulo-igor-alves-godinho

Post on 28-May-2015

1.788 views

Category:

Technology


0 download

DESCRIPTION

Slides utilizados no Webinar da Scrum Amazônia.

TRANSCRIPT

Page 1: Palestra tdd-completa

[ TDD | ATDD ] Test Driven‐Development 

Acceptance Test Driven‐Development 

Paulo Igor @pigodinho 

[email protected] 

Page 2: Palestra tdd-completa

Quem eu sou...

Page 3: Palestra tdd-completa

http://blog.pigor.net

Page 4: Palestra tdd-completa

Apresentar a essência das técnicas TDD e ATDD 

Page 5: Palestra tdd-completa

Você testa seu soAware? 

Page 6: Palestra tdd-completa

Você constrói testes automaEzados? 

Page 7: Palestra tdd-completa

Você constrói seus testes automaEzados antes de codificar? 

Page 8: Palestra tdd-completa

Se você respondeu SIM apenas uma vez… 

Page 9: Palestra tdd-completa

Você precisa rever seus conceitos 

Page 10: Palestra tdd-completa

Se você disse NÃO… 

Page 11: Palestra tdd-completa
Page 12: Palestra tdd-completa

Testar é importante!!! 

Page 13: Palestra tdd-completa

Testar é… 

•  Experimentação. 

•  Pôr a prova. •  Submeter a avaliação / avaliar. 

Page 14: Palestra tdd-completa
Page 15: Palestra tdd-completa
Page 16: Palestra tdd-completa

TESTE

Page 17: Palestra tdd-completa
Page 18: Palestra tdd-completa

80% de DESPERDÍCIO 

Page 19: Palestra tdd-completa

O que isso tem a ver com Teste? 

Page 20: Palestra tdd-completa

O Teste cerEfica se as NECESSIDADES foram atendidas! 

Page 21: Palestra tdd-completa

…se as necessidades SERÃO atendidas! 

Page 22: Palestra tdd-completa

Conhecer melhor as expectaEvas 

Page 23: Palestra tdd-completa

“ATDD/TDD são formas de conhecer melhor as necessidades…” 

Page 24: Palestra tdd-completa

“ATDD/TDD são formas de antecipar as expectaEvas…” 

Page 25: Palestra tdd-completa

“TDD antecipa o comportamento do código” 

≠ “ATDD antecipa o 

comportamento do soAware” 

Page 26: Palestra tdd-completa

Como funciona??? 

Page 27: Palestra tdd-completa
Page 28: Palestra tdd-completa

Princípios e a Essência do TDD  

Page 29: Palestra tdd-completa

User Story 

•  Como usuário eu gostaria de me cadastrar fornecendo: nome, email, senha, confirmação. 

•  Condição: – O usuário deve possuir uma senha válida 

•  Ação: – Verificar se a confirmação da senha é válida, senão enviar mensagem de erro adequada 

Page 30: Palestra tdd-completa

Criando o Teste 

Page 31: Palestra tdd-completa

Adicionando a Falha 

Page 32: Palestra tdd-completa

Código Novo! 

Page 33: Palestra tdd-completa

Compilou! Passou? 

Page 34: Palestra tdd-completa

Hora da Faxina!!! 

Page 35: Palestra tdd-completa

Adicionando Falha 

Page 36: Palestra tdd-completa

+ Código Novo \o/ 

Page 37: Palestra tdd-completa
Page 38: Palestra tdd-completa

Compilou? Passou? 

Page 39: Palestra tdd-completa

Hora da Faxina novamente!!! 

Page 40: Palestra tdd-completa

User Story – OK!? 

•  Como usuário eu gostaria de me cadastrar fornecendo: nome, email, senha, confirmação. 

•  Condição: – O usuário deve possuir uma senha válida 

•  Ação: – Verificar se a confirmação da senha é válida, senão enviar mensagem de erro adequada 

Page 41: Palestra tdd-completa

Adicionando Falha 

Page 42: Palestra tdd-completa

+ Código Novo \o/ 

Page 43: Palestra tdd-completa

Compilou? Passou? 

Page 44: Palestra tdd-completa

Compilou? Passou? 

Page 45: Palestra tdd-completa

Hora da faxina... 

Hum...!!!

Page 46: Palestra tdd-completa

Hora da faxina... 

Melhor agora!

Page 47: Palestra tdd-completa

Refactoring no Código... 

Page 48: Palestra tdd-completa
Page 49: Palestra tdd-completa
Page 50: Palestra tdd-completa

User Story, OK? [Yeap!] 

•  Como usuário eu gostaria de me cadastrar fornecendo: nome, email, senha, confirmação. 

•  Condição: – O usuário deve possuir uma senha válida 

•  Ação: – Verificar se a confirmação da senha é válida, senão enviar mensagem de erro adequada 

Page 51: Palestra tdd-completa

Fitnesse e Concordion 

Ferramentas ATDD 

Page 52: Palestra tdd-completa

TDD e ATDD ajudam… 

Page 53: Palestra tdd-completa

…a atender melhor os requisitos  

Page 54: Palestra tdd-completa

…combater a síndrome de Nostradamus 

Page 55: Palestra tdd-completa

Keep It Simple, Stupid! 

Page 56: Palestra tdd-completa

…a manter a casa arrumada 

Page 57: Palestra tdd-completa

…promove o Design EvoluEvo 

Page 58: Palestra tdd-completa

Blindagem do código 

Page 59: Palestra tdd-completa

Outros benepcios 

•  Maior cobertura de Testes •  Design testável •  Requisitos executáveis 

Page 60: Palestra tdd-completa
Page 61: Palestra tdd-completa
Page 62: Palestra tdd-completa

[ TDD | ATDD ] Test Driven‐Development 

Acceptance Test Driven‐Development 

Paulo Igor @pigodinho 

[email protected]