SlideShare uma empresa Scribd logo
1 de 21
 
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Download Entre no site:  www.phpdescribe.org  e clique no link para baixar o arquivo phpdescribe.zip
Salvando o arquivo Salve o arquivo PhpDescribe.zip na sua pasta de projetos
Configurando o arquivo index.php Define qual especificação será executada e roda a Especificação. Gera um report em html logo em seguida. Crie o arquivo index.php e escreva o código abaixo. Neste exemplo estamos definindo  validar  como nossa especificação base.
Criando o arquivo validar.php Crie o arquivo validar.php e escreva este código acima. Os métodos da classe validar serão criados  e testados pelas especificações.
Criando o arquivo validar.spec.php Crie o arquivo validar.spec.php e escreva este código acima. Este arquivo é responsável pelas especificações. Aqui você escreverá toda a cobertura de testes. Observe que o PhpDescribe utiliza namespace e outros recursos que só funcionam caso estejam utilizando PHP 5.3
Estrutura OBS: Recomendamos que não seja alterada a nomenclatura das pastas dentro do PhpDescribe. Alterando o nome da pasta PhpDescribe ou modificando sua localização, então você deve alterar os includes do arquivo index.php e validar.spec.php Sua estrutura deve ficar semelhante a imagem abaixo:
Rode o programa Execute o programa no seu navegador. Ex.:  http://localhost/dojo/validar Se os includes estiverem corretos então você enxergará uma tela como esta.
Especificando meu primeiro teste Você deve iniciar suas especificações de teste dentro do scopo describe. Neste exemplo estamos testando se o método telefone() retorna true caso o número telefônico for do tipo numérico. Repare que o número está entre aspas. Você pode passar o argumento do tipo numérico sem aspas também.
Execute o programa Aqui é gerado um erro logo após a criação da sua primeira especificação. Observe que o método telefone() não existe no arquivo validar.php
Crie o método telefone Entre no arquivo validar.php e crie o método telefone. Este método recebe um argumento onde será testado se o tipo do argumento é numérico.
Execute o programa Está passando o primeiro teste. Se você clicar no link code é exibido a especificação do teste. Clicando em rename você altera a mensagem da especificação.
Modifique o argumento do teste Observe que adicionamos um hífen para dividir o número telefônico.  Este caracter indica que o argumento tem número e texto o que deixa de ser do tipo numérico.
Execute o programa Agora o teste retornou um erro. Clicando em +++ é exibido uma mensagem informando que o teste esperava true e o método telefone retornou false.
Adicionando mais um teste Começamos a intensificar os testes para o número telefônico. Esperamos que os testes retornem true para tipo numérico e exatamente 8 para a quantidade de números.
Adicionando o método Adicionamos o método telefoneTamanho() ao arquivo validar.php  responsável por retornar o total de números.
Execute o programa Suas especificações estão passando.
Aninhamento Você pode organizar suas especificações por grupos tornando mais organizado sua malha de testes.
Execute o programa PhpDescribe fornece um resultado surpreendente e eficaz. Você consegue realizar suas especificações e documentar o seu software em um único lugar.
Desenvolvida por Bruno Reis o  PhpDescribe  é uma ferramenta que busca unir as especificações e testes de software em um só documento. Através do grupo  [email_address]  você pode acompanhar, tirar dúvidas, contribuir e ajudar no amadurecimento da ferramenta  PhpDescribe .

Mais conteúdo relacionado

Destaque

Apresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFApresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFDaniel Maffioletti
 
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...Richard Duchatsch Johansen
 
FLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software LivreFLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software LivreFábio Prudente
 
Aula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação IAula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação IPaolo Passeri
 
Moldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.meMoldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.meLeandro Santos
 
Web semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalWeb semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalRichard Duchatsch Johansen
 
Joomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções própriasJoomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções própriasEmerson Rocha Luiz
 
Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014Marcos David Bendrao
 
#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5Leandro Santos
 
Visão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South AmericaVisão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South AmericaEmerson Rocha Luiz
 
Teacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDFTeacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDFRoger Tavares
 
090916 Roteiro01
090916 Roteiro01090916 Roteiro01
090916 Roteiro01Diego Doná
 
Programação de Jogos - Design Patterns
Programação de Jogos - Design PatternsProgramação de Jogos - Design Patterns
Programação de Jogos - Design PatternsBruno Cicanci
 
Time line do armazenamento de dados
Time line do armazenamento de dadosTime line do armazenamento de dados
Time line do armazenamento de dadosFlavio Souza
 
Escreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQueryEscreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQuery2km interativa!
 

Destaque (20)

Apresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFApresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDF
 
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...O problema da utilização de CSS HACKS para garantia de resultados em diferent...
O problema da utilização de CSS HACKS para garantia de resultados em diferent...
 
FLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software LivreFLISOL 2009 - Modelos de Negócios com Software Livre
FLISOL 2009 - Modelos de Negócios com Software Livre
 
HTML5
HTML5HTML5
HTML5
 
Aula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação IAula 4 - Tecnicas de Prototipação I
Aula 4 - Tecnicas de Prototipação I
 
Moldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.meMoldere Apresentação - Empreendendo.me
Moldere Apresentação - Empreendendo.me
 
Introdução ao CakePHP
Introdução ao CakePHPIntrodução ao CakePHP
Introdução ao CakePHP
 
Web semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacionalWeb semântica e html5 na recuperação de conteúdo informacional
Web semântica e html5 na recuperação de conteúdo informacional
 
Joomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções própriasJoomla! como plataforma de desenvolvimento de soluções próprias
Joomla! como plataforma de desenvolvimento de soluções próprias
 
Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014Criatividade Comercial - Trust Summit 2014
Criatividade Comercial - Trust Summit 2014
 
#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5
 
Visão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South AmericaVisão Geral do CMS e Framework Joomla - Business IT South America
Visão Geral do CMS e Framework Joomla - Business IT South America
 
Teacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDFTeacher, I blew up the lab. I am glad it was only a game. [PDF
Teacher, I blew up the lab. I am glad it was only a game. [PDF
 
I Heart Stuxnet
I Heart StuxnetI Heart Stuxnet
I Heart Stuxnet
 
Open Courseware 3D
Open Courseware 3DOpen Courseware 3D
Open Courseware 3D
 
090916 Roteiro01
090916 Roteiro01090916 Roteiro01
090916 Roteiro01
 
Programação de Jogos - Design Patterns
Programação de Jogos - Design PatternsProgramação de Jogos - Design Patterns
Programação de Jogos - Design Patterns
 
Time line do armazenamento de dados
Time line do armazenamento de dadosTime line do armazenamento de dados
Time line do armazenamento de dados
 
REVISTA COMPUTER ARTS BRASIL #52
REVISTA COMPUTER ARTS BRASIL #52REVISTA COMPUTER ARTS BRASIL #52
REVISTA COMPUTER ARTS BRASIL #52
 
Escreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQueryEscreva menos e faça mais com a jQuery
Escreva menos e faça mais com a jQuery
 

Semelhante a Introdução ao PhpDescribe para testes automatizados

Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshopguestd37c23
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de phpTais Reis
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
 
C#4 - Parte 2 - COM interop e variância
C#4 - Parte 2 - COM interop e variânciaC#4 - Parte 2 - COM interop e variância
C#4 - Parte 2 - COM interop e variânciaGiovanni Bassi
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPAndréia Santos
 
Padrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesPadrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesEverton Rodrigues
 
3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)Eugenio Caetano
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareDextra Sistemas / Etec Itu
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoPaula Grangeiro
 
Specificationby example
Specificationby example Specificationby example
Specificationby example Laís Berlatto
 
Dito Tech Talk RSpec
Dito Tech Talk RSpecDito Tech Talk RSpec
Dito Tech Talk RSpecguest49d83b2
 
Ágil na Prática
Ágil na PráticaÁgil na Prática
Ágil na PráticaIgo Coelho
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Diego Pacheco
 

Semelhante a Introdução ao PhpDescribe para testes automatizados (20)

Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshop
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de php
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
 
C#4 - Parte 2 - COM interop e variância
C#4 - Parte 2 - COM interop e variânciaC#4 - Parte 2 - COM interop e variância
C#4 - Parte 2 - COM interop e variância
 
Desenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHPDesenvolvimento de Software I - USBWEBSERVER - PHP
Desenvolvimento de Software I - USBWEBSERVER - PHP
 
Aula2
Aula2Aula2
Aula2
 
Padrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por TestesPadrões para Desenvolvimento de Software Guiado por Testes
Padrões para Desenvolvimento de Software Guiado por Testes
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)3. ambiente de desenvolvimento do vb (parte 2)
3. ambiente de desenvolvimento do vb (parte 2)
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
LVI-Aula05
LVI-Aula05LVI-Aula05
LVI-Aula05
 
LVI_Aula05
LVI_Aula05LVI_Aula05
LVI_Aula05
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de código
 
Specificationby example
Specificationby example Specificationby example
Specificationby example
 
Dito Tech Talk RSpec
Dito Tech Talk RSpecDito Tech Talk RSpec
Dito Tech Talk RSpec
 
Desenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por TestesDesenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por Testes
 
Ágil na Prática
Ágil na PráticaÁgil na Prática
Ágil na Prática
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2
 

Introdução ao PhpDescribe para testes automatizados

  • 1.  
  • 2.
  • 3. Download Entre no site: www.phpdescribe.org e clique no link para baixar o arquivo phpdescribe.zip
  • 4. Salvando o arquivo Salve o arquivo PhpDescribe.zip na sua pasta de projetos
  • 5. Configurando o arquivo index.php Define qual especificação será executada e roda a Especificação. Gera um report em html logo em seguida. Crie o arquivo index.php e escreva o código abaixo. Neste exemplo estamos definindo validar como nossa especificação base.
  • 6. Criando o arquivo validar.php Crie o arquivo validar.php e escreva este código acima. Os métodos da classe validar serão criados e testados pelas especificações.
  • 7. Criando o arquivo validar.spec.php Crie o arquivo validar.spec.php e escreva este código acima. Este arquivo é responsável pelas especificações. Aqui você escreverá toda a cobertura de testes. Observe que o PhpDescribe utiliza namespace e outros recursos que só funcionam caso estejam utilizando PHP 5.3
  • 8. Estrutura OBS: Recomendamos que não seja alterada a nomenclatura das pastas dentro do PhpDescribe. Alterando o nome da pasta PhpDescribe ou modificando sua localização, então você deve alterar os includes do arquivo index.php e validar.spec.php Sua estrutura deve ficar semelhante a imagem abaixo:
  • 9. Rode o programa Execute o programa no seu navegador. Ex.: http://localhost/dojo/validar Se os includes estiverem corretos então você enxergará uma tela como esta.
  • 10. Especificando meu primeiro teste Você deve iniciar suas especificações de teste dentro do scopo describe. Neste exemplo estamos testando se o método telefone() retorna true caso o número telefônico for do tipo numérico. Repare que o número está entre aspas. Você pode passar o argumento do tipo numérico sem aspas também.
  • 11. Execute o programa Aqui é gerado um erro logo após a criação da sua primeira especificação. Observe que o método telefone() não existe no arquivo validar.php
  • 12. Crie o método telefone Entre no arquivo validar.php e crie o método telefone. Este método recebe um argumento onde será testado se o tipo do argumento é numérico.
  • 13. Execute o programa Está passando o primeiro teste. Se você clicar no link code é exibido a especificação do teste. Clicando em rename você altera a mensagem da especificação.
  • 14. Modifique o argumento do teste Observe que adicionamos um hífen para dividir o número telefônico. Este caracter indica que o argumento tem número e texto o que deixa de ser do tipo numérico.
  • 15. Execute o programa Agora o teste retornou um erro. Clicando em +++ é exibido uma mensagem informando que o teste esperava true e o método telefone retornou false.
  • 16. Adicionando mais um teste Começamos a intensificar os testes para o número telefônico. Esperamos que os testes retornem true para tipo numérico e exatamente 8 para a quantidade de números.
  • 17. Adicionando o método Adicionamos o método telefoneTamanho() ao arquivo validar.php responsável por retornar o total de números.
  • 18. Execute o programa Suas especificações estão passando.
  • 19. Aninhamento Você pode organizar suas especificações por grupos tornando mais organizado sua malha de testes.
  • 20. Execute o programa PhpDescribe fornece um resultado surpreendente e eficaz. Você consegue realizar suas especificações e documentar o seu software em um único lugar.
  • 21. Desenvolvida por Bruno Reis o  PhpDescribe  é uma ferramenta que busca unir as especificações e testes de software em um só documento. Através do grupo  [email_address]  você pode acompanhar, tirar dúvidas, contribuir e ajudar no amadurecimento da ferramenta  PhpDescribe .