0
Brasília TestFest Slides baseados no trabalho de Sebastian Bergmann, traduzido por José Ricardo (PHPMS) e adaptado por Sil...
O que será apresentado? <ul><li>PHP
TestFest
Brasília TestFest
PHP-DF
Universidade Católica de Brasília </li></ul>
Brasília TestFest <ul><li>TestFests pelos mundo;
Edições anuais;
Edições brasileiras; </li><ul><li>PHP-SP;
PHP-SC;
PHP-Rio; </li></ul></ul>
Motivação <ul><li>(con|re)truibuir;
Motivar e manter a comunidade ativa;
Apresentação de novas ferramentas / metodologias;
Aumentar a abrangência dos testes;
Uma linguagem mais estável e com mais releases;
Sorteio de brindes (10 ElePHPants)
Reconhecimento – e-mail @php.net e acesso aos repositórios; </li></ul>
Nosso Evento 9hrs 10hrs 12hrs 14hrs 17hrs O que se deve saber? Exemplos Mão na massa Almoço Retrospectiva
1, 2, 3 testando <ul><li>Um teste por aquivo .phpt
Upcoming SlideShare
Loading in...5
×

Brasiliatestfest

330

Published on

PHP TestFest

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

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

No notes for slide

Transcript of "Brasiliatestfest"

  1. 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. 2. O que será apresentado? <ul><li>PHP
  3. 3. TestFest
  4. 4. Brasília TestFest
  5. 5. PHP-DF
  6. 6. Universidade Católica de Brasília </li></ul>
  7. 7. Brasília TestFest <ul><li>TestFests pelos mundo;
  8. 8. Edições anuais;
  9. 9. Edições brasileiras; </li><ul><li>PHP-SP;
  10. 10. PHP-SC;
  11. 11. PHP-Rio; </li></ul></ul>
  12. 12. Motivação <ul><li>(con|re)truibuir;
  13. 13. Motivar e manter a comunidade ativa;
  14. 14. Apresentação de novas ferramentas / metodologias;
  15. 15. Aumentar a abrangência dos testes;
  16. 16. Uma linguagem mais estável e com mais releases;
  17. 17. Sorteio de brindes (10 ElePHPants)
  18. 18. Reconhecimento – e-mail @php.net e acesso aos repositórios; </li></ul>
  19. 19. Nosso Evento 9hrs 10hrs 12hrs 14hrs 17hrs O que se deve saber? Exemplos Mão na massa Almoço Retrospectiva
  20. 20. 1, 2, 3 testando <ul><li>Um teste por aquivo .phpt
  21. 21. Isolamento total do teste
  22. 22. Configuração independente por teste - caso necessário;
  23. 23. Sobrevivência a erros graves;
  24. 24. Help: http://phpt.info </li></ul>
  25. 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. 26. Keep It Simple ; ) --TEST-- Hello World --FILE-- Hello World --EXPECT-- Hello World
  27. 27. Ok, simples demais --TEST-- Hello World --FILE-- <?php print 'Hello World' ; ?> --EXPECT-- Hello World
  28. 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. 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. 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. 31. Necessidades específicas --TEST-- Definindo um fuso para portabilidade --INI-- date.timezone=UTC --FILE-- --EXPECT--
  32. 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. 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. 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. 35. O que testar? <ul><li>http://gcov.php.net/
  36. 36. http://qa.php.net/tested-methods.php/ </li></ul>
  37. 37. Onde testar? <ul><li>Teste nas três versões se possível; </li><ul><li>5.2
  38. 38. 5.3
  39. 39. Trunk </li></ul><li>Guarde seus testes;
  40. 40. Ao final do dia vamos recebê-los por e-mail; </li></ul>
  41. 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. 42. Divirtam-se! <ul><li>Lembrem-se, 18hrs teremos a retrospectiva </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×