Criando testes com Plone
-
Upload
ramiro-luz -
Category
Technology
-
view
161 -
download
1
description
Transcript of Criando testes com Plone
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 pelaUTFPR em mestrado pro�ssional, ênfase em métodos ágeis.Programador, iniciou a carreira em 1996, organizador daPythonBrasil[6].
Héctor Velarde, engenheiro em Telecomunicações que virou gerente deprojetos, cheerleader da comunidade e membro do Testing Team doPlone.
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 con�guraçã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 con�gurações deambientes 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 dependemdo Plone para gestionar test layers e testar aplicações Zope
plone.app.testing toma conta da criação de um Plone site em um testede 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 testesde aceitação e ATDD
plone.app.robotframework ferramentas e recursos paradesenvolvimento 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, Py�akes, 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