criando testes com plone

17

Upload: ramiro-luz

Post on 09-Jul-2015

161 views

Category:

Technology


1 download

DESCRIPTION

Palestra apresentada na conferência da Comunidade Python Brasileira, PythonBrasil[10].

TRANSCRIPT

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