Php Test Fest PHPMS, Maio 2008

Embed Size (px)

Citation preview

  • 1. Bem vindos TestFest! Jos Ricardo - PHPMS Campo Grande/MS 10 de maio de 2008
    • Slides basedos nos slides de Sebastian Bergman
    • Original em: http://sebastian-bergmann.de/talks/

2. Bem vindos TestFest!

  • Por que estamos aqui em pleno sbado noite?
    • Pretende-se aumentar a abrangncia do cdigo do interpretador PHP testado (atravs da escrita de testes)
    • O objetivo maior que pessoas, por exemplo um grupo de usurios, interajam para que aprendam em conjunto
    • tima oportunidade para oferecer uma(re|con)tribuio ao projeto PHP
    • tima oportunidade para solidificar as relaes entre os usurios do grupo e fazer novos amigos

Se esta a sua primeira festa, voc tem que testar! 3. Status HOJE!

  • Overview of PHP_HEAD
  • Build Status: OK
  • Last Build Time: 2 days
  • Compile Warnings: 633
  • Code Coverage:57%
  • Test Failures: 704
  • Valgrind Reports: 107 (falhas de gerenciamento de memria e threading)
  • Fonte:gcov.php.net

4. Dbase code coverage 5. Testes PHPT

  • Um nico teste em cada arquivo .phpt
  • Cada teste executado em um interpretador (processo) PHP separado
    • Isolamento completo do teste
    • A configurao do PHP pode ser diferente para cada teste
    • A Sute de Testes sobrevive a erros fatais, segfaults...
  • Implementao original: run-tests.php
  • PHPT ( http://phpt.info/ )
  • Status dos testes: gcov.php.net/PHP_5_3/lcov_html/

6. Escrevendo Testes PHPT

  • Testes que ilustram falhas reportadas (bugs)
    • bug.phpt
  • Testes de comportamento bsico de uma funo
    • _basic.phpt
  • Testes de comportamento errneo de uma funo
    • _error.phpt
  • Testes de variaes no comportamento de uma funo
    • _variation.phpt
  • Testes variados para extenses
    • .phpt

Convenes para nomes de arquivos 7. Escrevendo Testes PHPT --TEST-- Hello World --FILE-- Hello World --EXPECT-- Hello World TEST ,FILE e EXPECT 8. Escrevendo Testes PHPT --TEST-- Hello World --FILE-- --EXPECT-- Hello World TEST ,FILEeEXPECT 9. --TEST-- Hello World --FILE-- --CLEAN-- --EXPECT-- 12. Escrevendo Testes PHPT Escrevendo testes portveis --TEST-- Este teste utiliza uma timezone definida no brao --INI-- date.timezone=UTC --FILE-- --EXPECT-- 13. Escrevendo Testes PHPT Escrevendo testes portveis --TEST-- Verificando se estamos em uma plataforma de 32 bits... --SKIPIF-- --FILE-- --EXPECT-- 14. Escrevendo Testes PHPT Escrevendo testes portveis --TEST-- Verificando se estamos em uma plataforma de 64 bits --SKIPIF-- --FILE-- --EXPECT-- 15. Escrevendo Testes PHPT Escrevendo testes portveis --TEST-- Verificando se estamos no Linux... --SKIPIF-- --FILE-- --EXPECT-- 16. Escrevendo Testes PHPT Escrevendo testes portveis --TEST-- Verificando se estamos no MacOS X... --SKIPIF-- --FILE-- --EXPECT-- 17. Escrevendo Testes PHPT Escrevendo testes portveis --TEST-- Verificando se estamos no Windows... --SKIPIF-- --FILE-- --EXPECT-- 18. Escrevendo Testes PHPT Crditos --TEST-- Um teste com uma seo de crditos --CREDITS-- Joozinho #testfest Campo Grande/MS em 2008-05-10 (Por que no? :D) --FILE-- --EXPECT-- 19. Executando a Sute de Testes do PHP [email_address] php-5.3 %./configure && make && make test . . . TEST RESULT SUMMARY --------------------------------------------------------------------- Exts skipped:47 Exts tested:34 --------------------------------------------------------------------- Number of tests : 65184786 Tests skipped: 1732 ( 26.6%) -------- Tests warned:0 (0.0%) (0.0%) Tests failed:13 (0.2%) (0.3%) Tests passed: 4773 ( 73.2%) ( 99.7%) --------------------------------------------------------------------- Time taken:423 seconds [email_address] php-5.3 %./configure --enable-gcov && make && make lcov . . . Overall coverage rate: 82665 of 148813 lines (55.5%) 20. Para mais informaes

  • TestFesthttp://qa.php.net/testfest.php
  • Time de garantia de qualidade (QA) do PHPhttp://qa.php.net/
  • PHP: Testes e Anlise da Abrangncia do Cdigo
  • http://gcov.php.net/

21. FIM

  • Obrigado pela participao e pelo seu interesse.
  • Estes slides em breve estaro disponveis no site do grupo (www.phpms.org)
  • Slides originais (em ingls):
    • http://sebastian-bergmann.de/talks/.

22. Licena

  • Este material para apresentao publicado sob a licena Attribution-Share Alike 3.0 Unported.
  • Voc livre para:
      • Compartilhar copiar, distribuir e transmitir o trabalho.
      • Alterar adaptar o trabalho.
  • Sob as seguintes condies:
      • Atribuio.Voc deve atribuir o trabalho na maneira especificada pelo autor ou licenciador (mas no de maneira a sugerir que eles te apiam 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 licena, uma licena similar ou compatvel.
  • Para qualquer reuso ou distribuio, voc deve deixar claro aos outros os termos de licenciamento deste trabalho.
  • Qualquer uma das condies acima pode ser ignorada se voc obtiver a permisses do proprietrio dos direitos autorais.
  • Nada nesta licena danifica ou restringe os direitos morais do autor.

23. License

  • This presentation material is published under the Attribution-Share Alike 3.0 Unported license.
  • You are free:
      • to Share to copy, distribute and transmit the work.
      • to Remix to adapt the work.
  • Under the following conditions:
      • Attribution.You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
      • Share Alike.If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.
  • For any reuse or distribution, you must make clear to others the license terms of this work.
  • Any of the above conditions can be waived if you get permission from the copyright holder.
  • Nothing in this license impairs or restricts the author's moral rights.

24. LET'S CODE!!!