Your SlideShare is downloading. ×
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Brasiliatestfest
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Brasiliatestfest

310

Published on

PHP TestFest

PHP TestFest

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

No Downloads
Views
Total Views
310
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Brasília TestFest Slides baseados no trabalho de Sebastian Bergmann, traduzido por José Ricardo (PHPMS) e adaptado por Silvano Girardi (PHPSC) e Rafael Dohms (PHPSP) Original: http://sebastian-bergmann.de/talks/
  • 2. O que será apresentado?
    • PHP
    • 3. TestFest
    • 4. Brasília TestFest
    • 5. PHP-DF
    • 6. Universidade Católica de Brasília
  • 7. Brasília TestFest
    • TestFests pelos mundo;
    • 8. Edições anuais;
    • 9. Edições brasileiras;
  • 12. Motivação
    • (con|re)truibuir;
    • 13. Motivar e manter a comunidade ativa;
    • 14. Apresentação de novas ferramentas / metodologias;
    • 15. Aumentar a abrangência dos testes;
    • 16. Uma linguagem mais estável e com mais releases;
    • 17. Sorteio de brindes (10 ElePHPants)
    • 18. Reconhecimento – e-mail @php.net e acesso aos repositórios;
  • 19. Nosso Evento 9hrs 10hrs 12hrs 14hrs 17hrs O que se deve saber? Exemplos Mão na massa Almoço Retrospectiva
  • 20. 1, 2, 3 testando
    • Um teste por aquivo .phpt
    • 21. Isolamento total do teste
    • 22. Configuração independente por teste - caso necessário;
    • 23. Sobrevivência a erros graves;
    • 24. Help: http://phpt.info
  • 25. Dando nome aos bois Testes que ilustram falhas reportadas (bugs)‏ bug<bugid>.phpt Testes de comportamento básico de uma função <functionname>_basic.phpt Testes de comportamento errôneo de uma função <functionname>_error.phpt Testes de variações no comportamento de uma função <functionname>_variation.phpt Testes variados para extensões <extname><no>.phpt
  • 26. Keep It Simple ; ) --TEST-- Hello World --FILE-- Hello World --EXPECT-- Hello World
  • 27. Ok, simples demais --TEST-- Hello World --FILE-- <?php print 'Hello World' ; ?> --EXPECT-- Hello World
  • 28. Espere pra ver, com 'F' --TEST-- Hello World --FILE-- <?php print 'Hello World --EXPECTF-- Parse error: syntax error, unexpected $end in %s.php on line %d %s - qualquer string %d - numero %c - um character %w - espaço %i - inteiro %f - real %x - hexadecimal %e – separador de diretórios
  • 29. Agora esperando com ER's --TEST-- Hello World --FILE-- <?php print 'Hello World --EXPECTREGEX-- Parse error: (parse|syntax) error, unexpected $end in .* on line .*
  • 30. Sujou? Limpe!! --TEST-- Removendo arquivos temporários --FILE-- <?php $temp_filename = dirname ( __FILE__ ) . '/foo.tmp' ; $fp = fopen ( $temp_filename , 'w' ); fwrite ( $fp , 'bar' ); fclose ( $fp ); ?> --CLEAN-- <?php $temp_filename = dirname ( __FILE__ ) . '/foo.tmp' ; unlink ( $temp_filename ); ?> --EXPECT--
  • 31. Necessidades específicas --TEST-- Definindo um fuso para portabilidade --INI-- date.timezone=UTC --FILE-- --EXPECT--
  • 32. Condições --TEST-- Verificando se estamos em uma plataforma de 32 bits... --SKIPIF-- <?php if ( PHP_INT_SIZE != 4 ) die ( '32bit platforms only' ); ?> --FILE-- --EXPECT--
  • 33. Teste de Paternidade --TEST-- Um teste com uma seção de créditos --CREDITS-- James Bond <james@bond.com> #testfest Brasília on 2010-08-28 --FILE-- --EXPECT--
  • 34. ===================================================================== PHP : ./sapi/cli/php PHP_SAPI : cli PHP_VERSION : 5.2.15-dev ZEND_VERSION: 2.2.0 PHP_OS : Linux - Linux goias 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 INI actual : /home/paulolima/phptestfest/php52 More .INIs : CWD : /home/paulolima/phptestfest/php52 Extra dirs : VALGRIND : Not used ===================================================================== Running selected tests. PASS strtr() function - basic test for strstr() [meusTestes/olamundo.phpt] ===================================================================== Number of tests : 1 1 Tests skipped : 0 ( 0.0%) -------- Tests warned : 0 ( 0.0%) ( 0.0%) Tests failed : 0 ( 0.0%) ( 0.0%) Expected fail : 0 ( 0.0%) ( 0.0%) Tests passed : 1 (100.0%) (100.0%) --------------------------------------------------------------------- Time taken : 0 seconds ===================================================================== Senta Pua! $ export TEST_PHP_EXECUTABLE=./sapi/cli/php $ ./sapi/cli/php run-tests.php <diretorio|*>
  • 35. O que testar?
    • http://gcov.php.net/
    • 36. http://qa.php.net/tested-methods.php/
  • 37. Onde testar?
    • Teste nas três versões se possível;
    • Guarde seus testes;
    • 40. Ao final do dia vamos recebê-los por e-mail;
  • 41. Licença Este material para apresentação é publicado sob a licença “Attribution-Share Alike 3.0 Unported”. Você é livre para: Compartilhar – copiar, distribuir e transmitir o trabalho. Alterar – adaptar o trabalho. Sob as seguintes condições: Atribuição . Você deve atribuir o trabalho na maneira especificada pelo autor ou licenciador (mas não de maneira a sugerir que eles te apóiam você ou a maneira como você utiliza o trabalho). Distribua da mesma forma . Se você alterar, transformar ou construir algo baseando-se neste trabalho, você deve distribuir o trabalho resultante apenas sob a mesma licença, uma licença similar ou compatível. Para qualquer reuso ou distribuição, você deve deixar claro aos outros os termos de licenciamento deste trabalho. Qualquer uma das condições acima pode ser ignorada se você obtiver a permissões do proprietário dos direitos autorais. Nada nesta licença danifica ou restringe os direitos morais do autor.
  • 42. Divirtam-se!
    • Lembrem-se, 18hrs teremos a retrospectiva

×