SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL Marcelo Rodrigues Analista desenvolvedor nda Gradua Networks, em Brasília. Trabalha com internet a 10 anos. Possui experiência em desenvolvimento de sistemas web e sites baseados em PHP, especialmente em sistemas educacionais a distância. Atualmente, seu foco é a arquitetura e desenvolvimento de sistemas através do uso de metodologias de desenvolvimento ágil, com atenção especial ao TDD. [email_address] http://www.marcelomx.com http://twitter.com/marcelomx
PHPHEDERAL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O que é? TDD – Test-Driven Development (TDD) ou simplesmente Desenvolvimento Orientado a Testes é uma maneira diferente de escrever  software.  Nele, você vai evoluindo o código aos poucos, explorando o problema  com o uso de testes automatizados, escritos ANTES da implementação propriamente dita. A função do teste é especificar uma regra que o software deve  implementar e, validar se a regra é, de fato, implementada.
Vantagens Simplicidade Você só codifica o necessário para atender a especificação. Código bom é código funcional. Confiança no código Ao final de tudo, seu código estará pronto para ser usado (funcional). Os únicos testes esperados no final são testes voltados a conserto de bugs (se houverem).
Vantagens Documentação O teste é  uma especificação, um exemplo de como funciona o software. É uma documentação natural, nunca envelhece   Refatoração ( refactoring ) Precisa refazer, apagar, melhorar alguma coisa?  Refez? Apagou? Melhorou?  O teste é seu amigo e ele lhe diz se tudo continua funcionando como se deseja.
Tipos de Teste Testes Unitários Testar uma classe e seus métodos ou funções, ou simplesmente, uma unidade de código. Nenhum recurso externo deve ser utilizado (banco de dados, recursos de rede etc). Testes Funcionais Testam as funcionalidades na visão do usuário, ou seja, a interação de fato de um usuário com uma interface visual do sistema. Exemplo: um formulário de cadastro.
Tipos de Teste Testes de integração Também são testes unitários, porém, sem restrições de acesso recursos externos.  Geralmente, são poucos, pois são muitos específicos e geralmente são desenvolvidos levando em consideração o recurso externo utilizado.  São executados esporadicamente.
Ferramentas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Iniciando Instalando o PHPUnit Atualmente, o PHPUnit é a ferramenta padrão do mercado para implementar os testes em PHP. Instalação via PEAR: pear channel-discover pear.phpunit.de pear channel-discover pear.symfony-project.com pear install phpunit/PHPUnit
Iniciando ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Iniciando ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lidando com dependências ,[object Object],[object Object]
Dúvidas? Perguntas?
Obrigado!

Weitere ähnliche Inhalte

Was ist angesagt?

PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDDiana Ungaro Arnos
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesDiana Ungaro Arnos
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumIsrael Santiago
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Renato Groff
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksDiana Ungaro Arnos
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com seleniumMayron Cachina
 
Test-Driven Develpment - TDD
Test-Driven Develpment - TDDTest-Driven Develpment - TDD
Test-Driven Develpment - TDDKleber Bernardo
 
TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeRafaela Prado
 
Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDDDiogo Damiani
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
 
Testando Aplicações ExtJS 4 com Siesta
Testando Aplicações ExtJS 4 com SiestaTestando Aplicações ExtJS 4 com Siesta
Testando Aplicações ExtJS 4 com SiestaLoiane Groner
 
Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016Renato Groff
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
 
Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoAricelio Souza
 
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWARE
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWARECST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWARE
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWAREOs Fantasmas !
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentOtavio Augusto
 

Was ist angesagt? (20)

PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de Testes
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - Selenium
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalks
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com selenium
 
Test-Driven Develpment - TDD
Test-Driven Develpment - TDDTest-Driven Develpment - TDD
Test-Driven Develpment - TDD
 
TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao teste
 
Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDD
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
 
Testando Aplicações ExtJS 4 com Siesta
Testando Aplicações ExtJS 4 com SiestaTestando Aplicações ExtJS 4 com Siesta
Testando Aplicações ExtJS 4 com Siesta
 
Selenium: visão geral
Selenium: visão geralSelenium: visão geral
Selenium: visão geral
 
Hands On Selenium
Hands On SeleniumHands On Selenium
Hands On Selenium
 
Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016Mocking Test - GDG-SP - Setembro/2016
Mocking Test - GDG-SP - Setembro/2016
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de Código
 
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWARE
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWARECST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWARE
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 4º PERÍODO TESTES DE SOFTWARE
 
Mocking Test
Mocking TestMocking Test
Mocking Test
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 

Ähnlich wie PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP

Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareCloves da Rocha
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
XII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreXII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreCloves da Rocha
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de UnidadeAline Ferreira
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
Apresentação tcc final
Apresentação tcc finalApresentação tcc final
Apresentação tcc finalJhool Flores
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKMário Pravato Junior
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfRonaldAlves15
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 

Ähnlich wie PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP (20)

Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
XII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreXII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do Mestre
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
Apresentação tcc final
Apresentação tcc finalApresentação tcc final
Apresentação tcc final
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 

Kürzlich hochgeladen

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 

Kürzlich hochgeladen (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP

  • 2. PHPHEDERAL Marcelo Rodrigues Analista desenvolvedor nda Gradua Networks, em Brasília. Trabalha com internet a 10 anos. Possui experiência em desenvolvimento de sistemas web e sites baseados em PHP, especialmente em sistemas educacionais a distância. Atualmente, seu foco é a arquitetura e desenvolvimento de sistemas através do uso de metodologias de desenvolvimento ágil, com atenção especial ao TDD. [email_address] http://www.marcelomx.com http://twitter.com/marcelomx
  • 3.
  • 4. O que é? TDD – Test-Driven Development (TDD) ou simplesmente Desenvolvimento Orientado a Testes é uma maneira diferente de escrever software. Nele, você vai evoluindo o código aos poucos, explorando o problema com o uso de testes automatizados, escritos ANTES da implementação propriamente dita. A função do teste é especificar uma regra que o software deve implementar e, validar se a regra é, de fato, implementada.
  • 5. Vantagens Simplicidade Você só codifica o necessário para atender a especificação. Código bom é código funcional. Confiança no código Ao final de tudo, seu código estará pronto para ser usado (funcional). Os únicos testes esperados no final são testes voltados a conserto de bugs (se houverem).
  • 6. Vantagens Documentação O teste é uma especificação, um exemplo de como funciona o software. É uma documentação natural, nunca envelhece  Refatoração ( refactoring ) Precisa refazer, apagar, melhorar alguma coisa? Refez? Apagou? Melhorou? O teste é seu amigo e ele lhe diz se tudo continua funcionando como se deseja.
  • 7. Tipos de Teste Testes Unitários Testar uma classe e seus métodos ou funções, ou simplesmente, uma unidade de código. Nenhum recurso externo deve ser utilizado (banco de dados, recursos de rede etc). Testes Funcionais Testam as funcionalidades na visão do usuário, ou seja, a interação de fato de um usuário com uma interface visual do sistema. Exemplo: um formulário de cadastro.
  • 8. Tipos de Teste Testes de integração Também são testes unitários, porém, sem restrições de acesso recursos externos. Geralmente, são poucos, pois são muitos específicos e geralmente são desenvolvidos levando em consideração o recurso externo utilizado. São executados esporadicamente.
  • 9.
  • 10. Iniciando Instalando o PHPUnit Atualmente, o PHPUnit é a ferramenta padrão do mercado para implementar os testes em PHP. Instalação via PEAR: pear channel-discover pear.phpunit.de pear channel-discover pear.symfony-project.com pear install phpunit/PHPUnit
  • 11.
  • 12.
  • 13.