SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Criando testes com Plone. 
Ramiro Luz, Héctor Velarde 
7 de Novembro de 2014 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 1 / 17
Sobre os autores 
Ramiro Batista da Luz, pós-graduado em Engenharia de Software pela 
UTFPR em mestrado prossional, ênfase em métodos ágeis. 
Programador, iniciou a carreira em 1996, organizador da 
PythonBrasil[6]. 
Héctor Velarde, engenheiro em Telecomunicações que virou gerente de 
projetos, cheerleader da comunidade e membro do Testing Team do 
Plone. 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 2 / 17
Sobre a palestra 
O que é Plone. 
Ferramentas 
Tipos de teste. 
Exemplos de teste. 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 3 / 17
Produtos e ferramentas para testes 
buildout 
plone.testing 
plone.app.testing 
plone.app.robotframework 
plone.recipe.codeanalysis 
coverage 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 4 / 17
Porque testar? 
http://va.mu/Ah3nZ 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 5 / 17
Tipos de teste de software 
Teste unitário 
Teste de integração 
Teste de sistema 
Teste de aceitação 
Teste de performance 
Testes de conguração, operação, segurança, integridade, etc ... 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 6 / 17
Teste unitário 
Sequência de collatz: http://va.mu/Ah3UI 
def test_quatro_retorna_quatro_dois_um ( self ): 
self . assertEqual ( Collatz (4). retorna_sequencia (), (4 ,2 ,1)) 
def test_oito_retorna_oito_quatro_dois_um ( self ): 
self . assertEqual ( Collatz (8). retorna_sequencia (), (8 ,4 ,2 ,1)) 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 7 / 17
Teste de integração 
Faceted navigation: http://va.mu/Ah3UY 
 self . loginAsPortalOwner () 
 fid = portal . invokeFactory ('Folder ', 'folder ') 
 folder = portal . _getOb (fid) 
 folder . setTitle ('Faceted navigation folder test ') 
 request = folder . REQUEST 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 8 / 17
Buildout 
zc.buildout é uma ferramenta poderosa para criar congurações de 
ambientes replicáveis 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 9 / 17
plone.testing e plone.app.testing 
produtos complementares 
plone.testing implementa primitivas de baixo nível que não dependem 
do Plone para gestionar test layers e testar aplicações Zope 
plone.app.testing toma conta da criação de um Plone site em um teste 
de integração 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 10 / 17
Selenium, Robot Framework e plone.app.robotframework 
Selenium ferramenta de automatização de aplicações para testes 
Robot Framework framework de genérico de automatização de testes 
de aceitação e ATDD 
plone.app.robotframework ferramentas e recursos para 
desenvolvimento de testes de aceptação no Plone 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 11 / 17
plone.app.codeanalysis 
Receita do zc.buildout 
Implementa analise estático de código para projetos Python 
Inclui PEP 8, Pyakes, CSSLint, JSHint e outros 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 12 / 17
Ferramentas do codeanalysis 
code-analysis-clean-lines, code-analysis-csslint 
code-analysis-debug-statements, code-analysis-deprecated-aliases 
code-analysis-nd-untranslated, code-analysis-ake8 
code-analysis-hasattr, code-analysis-imports 
code-analysis-jscs, code-analysis-jshint 
code-analysis-pep3101, code-analysis-prefer-single-quotes 
code-analysis-utf8-header, code-analysis-zptlint 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 13 / 17
Demostração codeanalysis 
DEMO 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 14 / 17
Contato 
@ramiroluz 
@hvelarde 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 15 / 17
Agradecimentos 
OBRIGADO! 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 16 / 17
Referencias 
Jordan Baker: http://va.mu/Ah3U3, http://va.mu/Ah3VA 
Python unittest: http://va.mu/oMf 
plone.testing e plone.app.testing: http://va.mu/Ah3Vf 
plone.app.testing: http://va.mu/Ah3nC 
Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 17 / 17

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Automatizando seus testes com robot framework
Automatizando seus testes com robot frameworkAutomatizando seus testes com robot framework
Automatizando seus testes com robot framework
 
Testes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e DjangoTestes, deploy e integração continua com Python e Django
Testes, deploy e integração continua com Python e Django
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4
 
Testes em go
Testes em goTestes em go
Testes em go
 
Testes Unitários no Android
Testes Unitários no AndroidTestes Unitários no Android
Testes Unitários no Android
 
Jenkins com SonarQube
Jenkins com SonarQubeJenkins com SonarQube
Jenkins com SonarQube
 
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
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
 
Revolução Go TDC 2016
Revolução Go TDC 2016Revolução Go TDC 2016
Revolução Go TDC 2016
 
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuroVisual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHP
 
Mini curso de django
Mini curso de djangoMini curso de django
Mini curso de django
 
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
 
Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016
 
Tdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das GaláxiasTdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das Galáxias
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Coding Dojo e Test Driven Development
Coding Dojo e Test Driven DevelopmentCoding Dojo e Test Driven Development
Coding Dojo e Test Driven Development
 

Semelhante a Criando testes com Plone

Teste para dispositivos móveis apresentação pra ufam -eliane
Teste para dispositivos móveis   apresentação pra ufam -elianeTeste para dispositivos móveis   apresentação pra ufam -eliane
Teste para dispositivos móveis apresentação pra ufam -eliane
Eliane Collins
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
Igor Sobreira
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
softeam
 

Semelhante a Criando testes com Plone (20)

php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Debug de cabo a rabo
Debug de cabo a raboDebug de cabo a rabo
Debug de cabo a rabo
 
Desenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OSDesenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OS
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
 
VIII FOCIEST - Desenvolvimento de um Sistema Web de Simulado para a ZCPE
VIII FOCIEST - Desenvolvimento de um Sistema Web de Simulado para a ZCPEVIII FOCIEST - Desenvolvimento de um Sistema Web de Simulado para a ZCPE
VIII FOCIEST - Desenvolvimento de um Sistema Web de Simulado para a ZCPE
 
Apresentação sobre o OpenAIRE na reunião geral do projecto RCAAP
Apresentação sobre o OpenAIRE na reunião geral do projecto RCAAPApresentação sobre o OpenAIRE na reunião geral do projecto RCAAP
Apresentação sobre o OpenAIRE na reunião geral do projecto RCAAP
 
Testando uma aplicação com Arquitetura Hexagonal e Spring Boot
Testando uma aplicação com Arquitetura Hexagonal e Spring BootTestando uma aplicação com Arquitetura Hexagonal e Spring Boot
Testando uma aplicação com Arquitetura Hexagonal e Spring Boot
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Teste para dispositivos móveis apresentação pra ufam -eliane
Teste para dispositivos móveis   apresentação pra ufam -elianeTeste para dispositivos móveis   apresentação pra ufam -eliane
Teste para dispositivos móveis apresentação pra ufam -eliane
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSSTDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSS
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Drupal e a Qualidade de Software
Drupal e a Qualidade de SoftwareDrupal e a Qualidade de Software
Drupal e a Qualidade de Software
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
 
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
 
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...
 
Python Zope Plone - Fiocruz
Python Zope Plone - FiocruzPython Zope Plone - Fiocruz
Python Zope Plone - Fiocruz
 

Mais de Ramiro Luz

Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?
Ramiro Luz
 
Apresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionApresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoption
Ramiro Luz
 

Mais de Ramiro Luz (20)

Institutional Website - the longest project of my life
Institutional Website - the longest project of my lifeInstitutional Website - the longest project of my life
Institutional Website - the longest project of my life
 
Plone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizationsPlone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizations
 
Portal Modelo - Plone for Parliaments
Portal Modelo - Plone for ParliamentsPortal Modelo - Plone for Parliaments
Portal Modelo - Plone for Parliaments
 
Para que serve o Python
Para que serve o PythonPara que serve o Python
Para que serve o Python
 
Minerando dados com Python
Minerando dados com PythonMinerando dados com Python
Minerando dados com Python
 
Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.
 
Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015
 
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
 
Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015
 
Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014
 
Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?
 
Python 3, patterns and indioms
Python 3, patterns and indiomsPython 3, patterns and indioms
Python 3, patterns and indioms
 
Dojo de Programação
Dojo de ProgramaçãoDojo de Programação
Dojo de Programação
 
Teaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo StyleTeaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo Style
 
Usando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDDUsando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDD
 
Sabores do desenvolvimento web com Python
Sabores do desenvolvimento web com PythonSabores do desenvolvimento web com Python
Sabores do desenvolvimento web com Python
 
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
 
Apresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionApresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoption
 
python-agil-IVEnGitec
python-agil-IVEnGitecpython-agil-IVEnGitec
python-agil-IVEnGitec
 
Testes de Unidade para C++
Testes de Unidade para C++Testes de Unidade para C++
Testes de Unidade para C++
 

Criando testes com Plone

  • 1. Criando testes com Plone. Ramiro Luz, Héctor Velarde 7 de Novembro de 2014 Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 1 / 17
  • 2. Sobre os autores Ramiro Batista da Luz, pós-graduado em Engenharia de Software pela UTFPR em mestrado prossional, ênfase em métodos ágeis. Programador, iniciou a carreira em 1996, organizador da PythonBrasil[6]. Héctor Velarde, engenheiro em Telecomunicações que virou gerente de projetos, cheerleader da comunidade e membro do Testing Team do Plone. Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 2 / 17
  • 3. Sobre a palestra O que é Plone. Ferramentas Tipos de teste. Exemplos de teste. Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 3 / 17
  • 4. Produtos e ferramentas para testes buildout plone.testing plone.app.testing plone.app.robotframework plone.recipe.codeanalysis coverage Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 4 / 17
  • 5. Porque testar? http://va.mu/Ah3nZ Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 5 / 17
  • 6. Tipos de teste de software Teste unitário Teste de integração Teste de sistema Teste de aceitação Teste de performance Testes de conguração, operação, segurança, integridade, etc ... Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 6 / 17
  • 7. Teste unitário Sequência de collatz: http://va.mu/Ah3UI def test_quatro_retorna_quatro_dois_um ( self ): self . assertEqual ( Collatz (4). retorna_sequencia (), (4 ,2 ,1)) def test_oito_retorna_oito_quatro_dois_um ( self ): self . assertEqual ( Collatz (8). retorna_sequencia (), (8 ,4 ,2 ,1)) Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 7 / 17
  • 8. Teste de integração Faceted navigation: http://va.mu/Ah3UY self . loginAsPortalOwner () fid = portal . invokeFactory ('Folder ', 'folder ') folder = portal . _getOb (fid) folder . setTitle ('Faceted navigation folder test ') request = folder . REQUEST Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 8 / 17
  • 9. Buildout zc.buildout é uma ferramenta poderosa para criar congurações de ambientes replicáveis Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 9 / 17
  • 10. plone.testing e plone.app.testing produtos complementares plone.testing implementa primitivas de baixo nível que não dependem do Plone para gestionar test layers e testar aplicações Zope plone.app.testing toma conta da criação de um Plone site em um teste de integração Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 10 / 17
  • 11. Selenium, Robot Framework e plone.app.robotframework Selenium ferramenta de automatização de aplicações para testes Robot Framework framework de genérico de automatização de testes de aceitação e ATDD plone.app.robotframework ferramentas e recursos para desenvolvimento de testes de aceptação no Plone Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 11 / 17
  • 12. plone.app.codeanalysis Receita do zc.buildout Implementa analise estático de código para projetos Python Inclui PEP 8, Pyakes, CSSLint, JSHint e outros Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 12 / 17
  • 13. Ferramentas do codeanalysis code-analysis-clean-lines, code-analysis-csslint code-analysis-debug-statements, code-analysis-deprecated-aliases code-analysis-nd-untranslated, code-analysis-ake8 code-analysis-hasattr, code-analysis-imports code-analysis-jscs, code-analysis-jshint code-analysis-pep3101, code-analysis-prefer-single-quotes code-analysis-utf8-header, code-analysis-zptlint Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 13 / 17
  • 14. Demostração codeanalysis DEMO Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 14 / 17
  • 15. Contato @ramiroluz @hvelarde Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 15 / 17
  • 16. Agradecimentos OBRIGADO! Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 16 / 17
  • 17. Referencias Jordan Baker: http://va.mu/Ah3U3, http://va.mu/Ah3VA Python unittest: http://va.mu/oMf plone.testing e plone.app.testing: http://va.mu/Ah3Vf plone.app.testing: http://va.mu/Ah3nC Ramiro Luz, Héctor Velarde Criando testes com Plone. 7 de Novembro de 2014 17 / 17