PHP Experience 2016 - [Workshop] Agile: Test Driven Development

Post on 16-Apr-2017

277 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

Transcript

Bem Vindos!

Created by Simone Píttner

TDD – TEST DRIVEN DESIGN

Tempo de WS – 1 hora e meia

TU vs TDD

Se você tem...

.Aplicações difíceis de manter,

.Que quebram com pequenas alterações,

.Complexas que precisam ser mantidas estáveis,

.Com exigência de alta disponibilidade,

.Necessidade de documentar comportamento...

Será que precisamos de testes de unidade!?

Test Driven Development

TDD

Te faz pensar no resultadoTe faz codificar menosTe faz falhar mais rápido #failfast

Você gostará de TDD

Test Driven Development

Escreva um Teste

Veja o Teste Falhar

Faça-o Passar

Refatore

Baby Steps

Escrever o Teste...#writetest

Ver o teste falhar...#failtest

Fazer o teste passar ...#simplecode

Melhorar o código...#refactoring

EXERCÍCIO 1...

.Construa uma casa

.Construa uma pessoa

EXERCÍCIO 1...

ADMIRE SEU TRABALHOtrabalho.Tire uma foto

Referências

12:3

8

TDD é aprendizado contínuo

EXERCÍCIO 2...

.Construa uma casa

.Construa uma pessoa

COM LEGO!!

Lego – vamos praticar!

EXERCÍCIO 2...

PREPARE O AMBIENTE

.Limpe a sua área de trabalho

EXERCÍCIO 2...

PRIMEIRO TESTE

.Existe uma pessoa? Não?

EXERCÍCIO 2...

COMEMORE

IUHUUUU!! Falhamos o primeiro teste

EXERCÍCIO 2...

Pegue um bloco, isto é uma pessoa!

...é o “mínimo” para o teste passar.

EXERCÍCIO 2...

COMEMORE

IUHUUUU!! Existe uma pessoa, o teste passou!

EXERCÍCIO 2...

REFATORE

Melhore, remova duplicações Neste caso pouco há a ser feito.

EXERCÍCIO 2...

Blah, blah, blah idem para a casa

Escreva o teste, falhe.Faço o mínimo e faça-o passar.Refatore.

EXERCÍCIO 2...

SOFTWARE

.deve funcionar!!

.deve ser extensível (“updatable”),.deve ser compreensível.

EXERCÍCIO 2...

TESTES

.a pessoa cabe na casa? Não?IUHUHHH #failtest

EXERCÍCIO 2...

TESTES

.faça o mínimo para esse teste passar

EXERCÍCIO 2...

TESTES

.cabem três pessoas na casa? Não?IUHUUU! #failtest

EXERCÍCIO 2...

TESTES

.faça o mínimo para esse teste passar

Pair Programming

EXERCÍCIO 3...

TESTES

Vamos trabalhar em P A R E S.

EXERCÍCIO 3...

REQUISITOS

Seu programa, agora, precisa:.01 pessoa.01 casa.01 animal.01 veículo

EXERCÍCIO 3...

TRABALHEM JUNTOS

. Iniciem pelos testes,

. Faça-o falhar,

. Construa o mínimo,

. Faça o passar,

. Refatore.

EXERCÍCIO 3...

TRABALHEM JUNTOS

. Valide itens como:

. Os tamanhos são proporcionais.

. Vocês seguirão padrões? Quais?

. Admire seu trabalho.

. Tire foto.

Retrospectiva

Retrospectiva

EXERCÍCIO 4...

MONTE UM GRUPO

. Monte um grupo de legos com 6 peças. Exemplo: empilhe: amarelo, vermelho, verde, vermelho, preto e preto.

EXERCÍCIO 4...

CLASSE e MÉTODO

. O grupo de legos é uma classe.

. Cada cor de lego é um método.

EXERCÍCIO 4...

CLASSE e MÉTODO

. O grupo de legos é uma classe.

. Cada cor de lego é um método.

EXERCÍCIO 3...

DUPLICAÇÃO

. Identifique métodos duplicados e remova-os #fixit

EXERCÍCIO 3...

EXTRAIR MÉTODO

. Para extrair método precisamos de?

Retrospectiva

Retrospectiva

Dúvidas???

EXERCÍCIO 4...

EXERCÍCIO 4...

VAMOS TRABALHAR EM GRUPO

. Defina os requisitos em um grupo de 5 a 6 pessoas.

Construa a ideia do grupo.EXERCÍCO 4...

Escreva um Teste

Veja o Teste Falhar

Faça-o Passar

Refatore

EXERCÍCIO 4...

Dúvidas???

Treinar sempre!

@SimonePittner

Agradecimentos à

Bryan Beecham - criadorBilly Garnet - criador

@SimonePittner

top related