53
Falando de Testes Breno Oliveira

Falando sobre testes automatizados

Embed Size (px)

DESCRIPTION

Vamos falar um pouco mais sobre testes automatizados

Citation preview

Page 1: Falando sobre testes automatizados

Falando de Testes Breno Oliveira

Page 2: Falando sobre testes automatizados

“Testar pra que? O que eu fiz vai funcionar …"

–dummy programmer

Page 3: Falando sobre testes automatizados

Quem garante

QUEvai funcionar?

Page 4: Falando sobre testes automatizados

por isso testamos

murphy's law

Page 5: Falando sobre testes automatizados

–William Edwards Deming

“In God we Trust, all others bring data”

Page 6: Falando sobre testes automatizados

Não se desespere os testes estão ai para te ajudar

Page 7: Falando sobre testes automatizados

Testes lhe dão a confiança para a mudança

Page 8: Falando sobre testes automatizados

Descrevem o comportamento do software

Page 9: Falando sobre testes automatizados

Facilita a Adição de melhorias

Page 10: Falando sobre testes automatizados

Tempo de desenvolvimento

Page 11: Falando sobre testes automatizados

Ajudam a reduzir o número de bugs

Page 12: Falando sobre testes automatizados

E principalmente …

Page 13: Falando sobre testes automatizados

Ninguém vai te olhar com essa cara ao ver um código seu …

Page 14: Falando sobre testes automatizados

Quanto devemos testar?

Page 15: Falando sobre testes automatizados

–Uncle Bob

1 of Kent’s older wise sayings was: “Test everything that could possibly break.” I think that’s a pretty good

recipe.

Page 16: Falando sobre testes automatizados

keep it simple and stupid

Page 17: Falando sobre testes automatizados

Baby steps ftw

Page 18: Falando sobre testes automatizados

Testes UnitáriosTeste de funções do código independente de outras partes do sistemas

Page 19: Falando sobre testes automatizados

Muitas vezes escrevemos testes de unidadeQue não testam nada

Page 20: Falando sobre testes automatizados

Testar constante é importante

Mas talvez não com teste de unidade

Escreva um teste de integração

Page 21: Falando sobre testes automatizados

{ Então o que poderíamos testar daquele código? }

Page 22: Falando sobre testes automatizados

Verifique ao passar o valor 4111 foi gerado foi um pagamento com VISA.

Page 23: Falando sobre testes automatizados

Teste de IntegraçãoTesta a integração entre as funções e objetos

do sistema

Page 24: Falando sobre testes automatizados

garantem que suas classes comunicam-se com APIs, escrevem arquivos texto ou mesmo

gravar no banco são considerados testes de integração.

Page 25: Falando sobre testes automatizados

Lembre-se

Page 26: Falando sobre testes automatizados

Você não trabalha sozinho

Page 27: Falando sobre testes automatizados

TDDBDD

NO TESTSATDD

?

Page 28: Falando sobre testes automatizados

O que fazer então?

Page 29: Falando sobre testes automatizados

TDD

Page 30: Falando sobre testes automatizados

–Kent Beck

“Desenvolvimento guiados por testes é uma forma de administrar o medo durante a programação!”

Page 31: Falando sobre testes automatizados
Page 32: Falando sobre testes automatizados
Page 33: Falando sobre testes automatizados

Baby steps ftwNovamente

Page 34: Falando sobre testes automatizados

ERROR test_should_initialize_a_post (0:00:00.000) uninitialized constant PostTest::Post

Page 35: Falando sobre testes automatizados

PASS test_should_initialize_a_post

Page 36: Falando sobre testes automatizados

Vamos láEu sei que você pode fazer mais

Mais confiança cara

Page 37: Falando sobre testes automatizados

ERROR test_should_have_a_title_if_is_setted undefined method `title' for #<Post:0x0000010091dc90>

Page 38: Falando sobre testes automatizados

PASS test_should_have_a_title_if_is_setted

Page 39: Falando sobre testes automatizados

ERROR test_should_have_a_title_if_is_setted undefined method `title=' for #<Post:0x0000010107ca90>

Page 40: Falando sobre testes automatizados

PASS test_should_have_a_title_if_is_setted

Page 41: Falando sobre testes automatizados

FAIL test_should_have_a_blank_title_if_none_is_setted Expected: nil Actual: "my post”

Page 42: Falando sobre testes automatizados

PASS test_should_have_a_blank_title_if_none_is_setted

Page 43: Falando sobre testes automatizados
Page 44: Falando sobre testes automatizados

PASS test_should_have_a_blank_title_if_none_is_setted PASS test_should_initialize_a_postPASS test_should_have_a_title_if_is_setted

Page 45: Falando sobre testes automatizados

Ok … Meio idiota o exemploMas não temos tempo

:(

Page 46: Falando sobre testes automatizados

BDD

Page 47: Falando sobre testes automatizados

Desenvolvimento orientado ao comportamento

Page 48: Falando sobre testes automatizados

testar o comportamento da sua aplicação

Page 49: Falando sobre testes automatizados

mais sobre escrever especificações

Page 50: Falando sobre testes automatizados

escrever testes também é documentar

Page 51: Falando sobre testes automatizados
Page 52: Falando sobre testes automatizados
Page 53: Falando sobre testes automatizados