SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Teste, cabra da
peste!
Introdução ao unit test
OHAI!
@mchelem
mchelem.com
michele.silva@gmail
600blogs
20milhõesde
pageviews mensais
WP 2.8 -> WP 3.5
Difícil, mas a gente aprende
"Mesmo bons programadores cometem
erros. A diferença entre um bom e um
mau programador é que o bom
programador usa testes para detectar
seus erros o mais cedo possível."
phpunit
Fluxo de desenvolvimento sem testes automatizados:
1) Editar o código.
2) Abrir o navegador e entrar manualmente dados (posts,
comentários), ativar o plugin, alterar configurações.
4) Verificar se existem erros em 200 lugares diferentes.
5) Repetir os passos acima um milhão de vezes, para ter
certeza.
6) Passar o resto da semana dando suporte.
Fluxo de desenvolvimento com testes
automatizados:
1) Editar o código.
2) Abrir o terminal.
3) Executar os testes.
4) Correr pro abraço.
Fonte: http://blog.typemock.com/2011/12/23/happy-holidays-from-typemock
Quemusa?
Mais vantagens
* Integração contínua.
* Contribuir com o WordPress.
* Confiabilidade.
PHPUnit produz testes
* Fáceis de aprender a escrever.
* Fáceis de ler e escrever.
* Fáceis e rápidos de executar.
* Isolados.
Função
Teste
As fábricas de teste do WP permitem criar
* post
* attachment
* comment
* user
* term
* category
* tag
* blog
Exemplos
Core do WPTestes PHP
Core do WPTestes para reproduzir bugs
Testes JavaScript com qunit Core do WP
Cobertura de código
WP-CLI:
$
$ (cria novo plugin
com testes)
$ demo start
Tente fazer isso em casa!
Perguntas e Respostas
A factory do WordPress cria os posts em banco? Sim, ela
usa as funções do WordPress por debaixo dos panos
(wp_insert_user, wp_update_post...).
É possível usar mocks em vez de acessar o banco? Sim, o
phpunit tem suporte a mocks.
Tem alguns exemplos de projetos com unit test? Os
plugins jetpack, liveblog, wordpress-seo.
Perguntas e Respostas
Como garantir que os testes foram desenvolvidos
corretamente? Não há como garantir. É um exercício de
criatividade pensar no que poderia dar errado. Porém, o
relatório de cobertura de testes ajuda a entender o que foi
testado.
O travis-ci tem relatório de cobertura de testes? Não, mas ele
se integra bem com ferramentas como code climate e
coveralls. Algumas ferramentas como scrutinize têm relatório
de cobertura embutido. No jenkins é possível instalar plugins.
Obrigada!
PHPUnit: http://phpunit.de/
WP Automated Testing: http://make.wordpress.
org/core/handbook/automated-testing/#contributing-tests-to-
wordpress
WP-CLI Plugin Unit Test:
https://github.com/wp-cli/wp-cli/wiki/Plugin-Unit-Tests
Referências

Weitere ähnliche Inhalte

Was ist angesagt?

Testes de software(feed_back)
Testes de software(feed_back)Testes de software(feed_back)
Testes de software(feed_back)
Ramon Tanoeiro
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
André Thiago
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
PHP Day Curitiba
 

Was ist angesagt? (19)

Como você testa seu software
Como você testa seu softwareComo você testa seu software
Como você testa seu software
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SC
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
Django Channels - Aplicações real time com Django
Django Channels - Aplicações real time com DjangoDjango Channels - Aplicações real time com Django
Django Channels - Aplicações real time com Django
 
Problemas com o Java
Problemas com o JavaProblemas com o Java
Problemas com o Java
 
Testes de software(feed_back)
Testes de software(feed_back)Testes de software(feed_back)
Testes de software(feed_back)
 
Realizando a gestão de testes e o controle de defeitos
Realizando a gestão de testes e o controle de defeitosRealizando a gestão de testes e o controle de defeitos
Realizando a gestão de testes e o controle de defeitos
 
Testlink apresentacao
Testlink apresentacaoTestlink apresentacao
Testlink apresentacao
 
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
Desenvolvimento de builds automizados com Jenkins - Em Busca do build Perfeito!
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Testes Automatizados No Cakephp
Testes Automatizados No CakephpTestes Automatizados No Cakephp
Testes Automatizados No Cakephp
 
Zend Framework Estrutura e TDD
Zend Framework Estrutura e TDDZend Framework Estrutura e TDD
Zend Framework Estrutura e TDD
 
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
 
Como testar sua aplicação Android com Robotium
Como testar sua aplicação Android com RobotiumComo testar sua aplicação Android com Robotium
Como testar sua aplicação Android com Robotium
 
Test Girls - Workshop Testes de Performance
Test Girls  - Workshop Testes de PerformanceTest Girls  - Workshop Testes de Performance
Test Girls - Workshop Testes de Performance
 
Talk testes em flutter
Talk testes em flutterTalk testes em flutter
Talk testes em flutter
 
Bug Bash - Uma estratégia colaborativa de testes - Raquel Doná
Bug Bash - Uma estratégia colaborativa de testes - Raquel DonáBug Bash - Uma estratégia colaborativa de testes - Raquel Doná
Bug Bash - Uma estratégia colaborativa de testes - Raquel Doná
 
TDD em JavaScript, rola?
TDD em JavaScript, rola?TDD em JavaScript, rola?
TDD em JavaScript, rola?
 
JUnit Experience
JUnit ExperienceJUnit Experience
JUnit Experience
 

Andere mochten auch (7)

Poesia de cordel e cultura popular brasileira
Poesia de cordel e cultura popular brasileiraPoesia de cordel e cultura popular brasileira
Poesia de cordel e cultura popular brasileira
 
Oficina de leitura
Oficina de leituraOficina de leitura
Oficina de leitura
 
Patativa Do Assaré
Patativa Do AssaréPatativa Do Assaré
Patativa Do Assaré
 
Literatura de Cordel
Literatura de CordelLiteratura de Cordel
Literatura de Cordel
 
Cordel
CordelCordel
Cordel
 
Literatura de cordel
Literatura de cordelLiteratura de cordel
Literatura de cordel
 
Atividades cordel (1)
Atividades cordel (1)Atividades cordel (1)
Atividades cordel (1)
 

Ähnlich wie Teste cabra da peste

Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
Vitor Silva
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
Adriano Bertucci
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
Thiago Ghisi
 

Ähnlich wie Teste cabra da peste (20)

Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
Debugging node
Debugging nodeDebugging node
Debugging node
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
 
Apostila java
Apostila javaApostila java
Apostila java
 
Apostila de programacao java
Apostila de programacao javaApostila de programacao java
Apostila de programacao java
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
1001 maneiras de debugar o WordPress
1001 maneiras de debugar o WordPress1001 maneiras de debugar o WordPress
1001 maneiras de debugar o WordPress
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
 
Boas Práticas de programação WordPress
Boas Práticas de programação WordPressBoas Práticas de programação WordPress
Boas Práticas de programação WordPress
 
Dez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugsDez dicas para_acompanhamento_de_bugs
Dez dicas para_acompanhamento_de_bugs
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
Vivendo de hacking
Vivendo de hackingVivendo de hacking
Vivendo de hacking
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 

Teste cabra da peste