- 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!
- Valgrind Reports: 107 (falhas de gerenciamento de memria e
threading)
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)
- Testes de comportamento bsico de uma funo
- Testes de comportamento errneo de uma funo
- Testes de variaes no comportamento de uma funo
- Testes variados para extenses
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
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.
-
-
- 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.
-
-
- 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!!!