Teste é para os fracos   Como fazer teste em aplicações?
Thiago Avelino - @avelino0 - avelino.us - thiagoavelinoster@gmail.com
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Realmente escrever teste não é legal
Como escrever teste naturalmente?
Como escrever teste naturalmente?
Como escrever teste naturalmente?
Como escrever teste naturalmente?
Teste também é código
Teste também é código              Código deve ser fácil de ler
Teste também é código              Código deve ser fácil de ler              Código deve ser fácil de entender
Teste também é código              Código deve ser fácil de ler              Código deve ser fácil de entender            ...
Explícito é melhor  que implícito eevita ambiguidades
Testando aplicação Django• Views• Forms• Models
Views•   Status code•   Template utilizado•   Contexto de resposta•   Envio de email•   Disparo de sinais•   Conexão com API
Views - TestClient                from django.test.client import Client•   get•   post•   put•   delete•   ...•   login()•...
Simples teste em uma View
Forms•   Validação do formulário    •   Geral    •   Por campo•   Comportamento de campo    •   Exemplo choice
Simples teste em um Form
Models•   Validação do modelo•   Métodos adicionados ao modelo•   Estados de queryset
Simples teste em um Model
Asserts•   assertEqual / assertNotEqual•   assertTrue / assertFalse•   assertIn•   assertFormError•   assertTemplateUsed /...
TestCase Utilitários•   setup_test_environment()•   teardown_test_environment()•   create_test_db([verbosity=1, autoclobbe...
doctest•   Testes via docstring•   Testes de regressão
doctest
doctest$ python example.py -vTrying:    factorial(5)Expecting:    120okTrying:    [factorial(n) for n in range(6)]Expectin...
Podemos testar também•   Signals•   Template filters•   Template tags•   Settings•   Management commands•   ModelAdmin•   F...
Obrigado!
Perguntas?
Test é para os fracos
Test é para os fracos
Upcoming SlideShare
Loading in …5
×

Test é para os fracos

2,061 views
1,906 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,061
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
10
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Test é para os fracos

    1. 1. Teste é para os fracos Como fazer teste em aplicações?
    2. 2. Thiago Avelino - @avelino0 - avelino.us - thiagoavelinoster@gmail.com
    3. 3. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso
    4. 4. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    5. 5. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    6. 6. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    7. 7. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    8. 8. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    9. 9. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    10. 10. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    11. 11. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    12. 12. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
    13. 13. Realmente escrever teste não é legal
    14. 14. Como escrever teste naturalmente?
    15. 15. Como escrever teste naturalmente?
    16. 16. Como escrever teste naturalmente?
    17. 17. Como escrever teste naturalmente?
    18. 18. Teste também é código
    19. 19. Teste também é código Código deve ser fácil de ler
    20. 20. Teste também é código Código deve ser fácil de ler Código deve ser fácil de entender
    21. 21. Teste também é código Código deve ser fácil de ler Código deve ser fácil de entender Código deve ser fácil de manter
    22. 22. Explícito é melhor que implícito eevita ambiguidades
    23. 23. Testando aplicação Django• Views• Forms• Models
    24. 24. Views• Status code• Template utilizado• Contexto de resposta• Envio de email• Disparo de sinais• Conexão com API
    25. 25. Views - TestClient from django.test.client import Client• get• post• put• delete• ...• login()• logout()
    26. 26. Simples teste em uma View
    27. 27. Forms• Validação do formulário • Geral • Por campo• Comportamento de campo • Exemplo choice
    28. 28. Simples teste em um Form
    29. 29. Models• Validação do modelo• Métodos adicionados ao modelo• Estados de queryset
    30. 30. Simples teste em um Model
    31. 31. Asserts• assertEqual / assertNotEqual• assertTrue / assertFalse• assertIn• assertFormError• assertTemplateUsed / assertTemplateNotUsed• assertRedirects• assertQuerysetEqual• assertNumQueries
    32. 32. TestCase Utilitários• setup_test_environment()• teardown_test_environment()• create_test_db([verbosity=1, autoclobber=False])• destroy_test_db(old_database_name[, verbosity=1])
    33. 33. doctest• Testes via docstring• Testes de regressão
    34. 34. doctest
    35. 35. doctest$ python example.py -vTrying: factorial(5)Expecting: 120okTrying: [factorial(n) for n in range(6)]Expecting: [1, 1, 2, 6, 24, 120]okTrying: [factorial(long(n)) for n in range(6)]Expecting: [1, 1, 2, 6, 24, 120]ok
    36. 36. Podemos testar também• Signals• Template filters• Template tags• Settings• Management commands• ModelAdmin• Form widgets• ...
    37. 37. Obrigado!
    38. 38. Perguntas?

    ×