SlideShare uma empresa Scribd logo
TDD com App Engine e
Python
um jeito simples
Pesquisa
● Quem já usa App Engine com Python?
● Quem faz TDD com App Engine em Python?
● Quem escreve testes?
O que é o Google App Engine
O que é o Google App Engine
O que é o Google App Engine
O que é o Google App Engine
● Uma plataforma de PaaS
● APIs e bibliotecas "próprias"
o mas roda aplicações Django, Flask etc
● Você nunca se preocupa com o servidor
● O time da Google administra tudo pra você
● Ambiente de desenvolvimento local
● Deployment com o SDK (ou com git)
O que tem no Google App Engine
● Spin-up e spin-down automágico
● Pay-as-you-go
● Datastore (NoSQL) + Google Cloud SQL
● Filas - para processamento assíncrono
● NDB - Quem não espera não cansa
● Autenticação
● Um framework que incentiva boas práticas
o E castiga você pelas más
O que mais?
● Uma interface de gerenciamento
● É fácil trocar versões
o E fazer split entre versões
● Uma nova interface de gerenciamento nova
o Integrada com os outros serviços de cloud da
Google
O que já tínhamos
● GAEUnit
o Deploy do código de teste em produção
o Ainda funciona?
● Ferramental do SDK
o Batteries not included
● NoseGAE, pytest-gae
o Some batteries included
● ?
Por que fazer mais um
● Incluir pilhas no pacote
● Ter opinião pode ser uma boa idéia
o Convenção sobre configuração ajuda
● Algumas coisas fazem falta no ferramental
do SDK
o Faltam mais exemplos
o O jeito com que o Django lida com fixtures é duca
Por que fazer mais um (continuação)
● Virtualenvs são legais
o Quebrar o Python do sistema é sempre ruim
o O Python do sistema pode não ser uma opção
 Algumas pessoas usam Windows
● Quando é difícil testar, ninguém testa
o preguiça é a primeira virtude do programador
(embora, nesse caso, não seja uma)
● Um pouco de hand-holding ajuda
O que fizemos
● Um projeto-base (no GitHub)
● Monta um virtualenv
● Roda testes de sanidade
● Dados de teste em JSON
● Ambiente montado com um Makefile
● Testes independem do framework que você
está usando
● Dá pra usar ipdb (nos testes)!
Como se usa?
Demo
1. git clone
o git@github.com:rbanffy/testable_appengine.git
2. make venv
3. nosetests
O que falta fazer
● Importar hierarquias de objetos para testes
● Tornar mais fácil usar em projetos já em
andamento
o Sobretudo manter o maquinário atualizado
o Se bem que isso pode nem ser importante
● Precisamos de mais usuários
o Que dêem mais palpites
Dúvidas?
Contato
about.me/rbanffy
@rbanffy
https://github.com/rbanffy/testable_appengine

Mais conteúdo relacionado

PDF
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
PDF
Desenvolvimento Guiado por Testes
PPTX
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
PDF
Protractor style guide - Agile Testers Conference 2016
PDF
Estratégias para o uso de integração e entrega contínua com gocd
PDF
Revisão de Código - Uma prática que depende da cultura
PDF
RealDay: Introduction to TDD
PPTX
StructureMap, Injetor de Dependência
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
Desenvolvimento Guiado por Testes
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Protractor style guide - Agile Testers Conference 2016
Estratégias para o uso de integração e entrega contínua com gocd
Revisão de Código - Uma prática que depende da cultura
RealDay: Introduction to TDD
StructureMap, Injetor de Dependência

Mais procurados (20)

PPTX
Importância de Testes Automatizados para Continuous Delivery & DevOps
PDF
Be React. Do Tests!
PDF
TDC 2016 Trilha Testes - Floripa
PDF
Como aumentar a produtividade da sua equipe
PPTX
Jenkins integrando e estendendo.
PDF
Integração Continua - Jenkins
PPT
Treinamento Testes Unitários - parte 2
PPTX
WTM - Entrega Contínua
ODP
Botando o Jenkins para rodar seus testes
PDF
Tester, pegue suas coisas, você está demitido
PDF
Integração contínua em PHP com Jenkins
PPTX
Automatizando testes funcionais com a técnica BDD
PPTX
Cloud Computing e Integração Contínua com o Windows Azure
PDF
Jenkins
PPTX
TDD e BDD - Developers-SP - Abril/2017
PPTX
Mocking Test - ThinkUp! - Abril/2017
PDF
Jenkins - livre-se da parte chata do Java
PPTX
Palestra TDD - TDC - 2016
PPTX
.NET Core e Testes de Unidade - Visual Studio Summit 2017
PDF
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Importância de Testes Automatizados para Continuous Delivery & DevOps
Be React. Do Tests!
TDC 2016 Trilha Testes - Floripa
Como aumentar a produtividade da sua equipe
Jenkins integrando e estendendo.
Integração Continua - Jenkins
Treinamento Testes Unitários - parte 2
WTM - Entrega Contínua
Botando o Jenkins para rodar seus testes
Tester, pegue suas coisas, você está demitido
Integração contínua em PHP com Jenkins
Automatizando testes funcionais com a técnica BDD
Cloud Computing e Integração Contínua com o Windows Azure
Jenkins
TDD e BDD - Developers-SP - Abril/2017
Mocking Test - ThinkUp! - Abril/2017
Jenkins - livre-se da parte chata do Java
Palestra TDD - TDC - 2016
.NET Core e Testes de Unidade - Visual Studio Summit 2017
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Anúncio

Destaque (20)

PPT
Presentation SEO/SEM
PPSX
produção de games com tecnologia livre ou proprietária, Qual usar?
PPTX
Python, Google App Engine e Webapp-CE
PPT
eind presentatie
PPTX
Linkbaiting - SEMSEO 2011
PPTX
Performance im Fokus
PDF
Maklerkommunikation 2.0 – Vortrag auf der DKM 2012 in Dortmund
PPS
Como fazer um comentário no Blog
PDF
Noções de Search Engine
PDF
Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...
PDF
Werksverzeichnis Hans Martin 1916
PDF
Smart Industry
PDF
Congreso visión 2012 - taller introducción app engine
PPTX
Social Media für Unternehmen und Institutionen
PDF
Was User lieben, was sie hassen - Gregor Urech, Sibylle Peuker, Zeix AG
PDF
Open Source BPM - iteratec Architekturtag
PDF
20100506 JAX BPMN 2.0 in der Praxis
PDF
Communicating sustainibility
PDF
CAP 2: SEO - Técnicas de SEO
Presentation SEO/SEM
produção de games com tecnologia livre ou proprietária, Qual usar?
Python, Google App Engine e Webapp-CE
eind presentatie
Linkbaiting - SEMSEO 2011
Performance im Fokus
Maklerkommunikation 2.0 – Vortrag auf der DKM 2012 in Dortmund
Como fazer um comentário no Blog
Noções de Search Engine
Mehr Wert für Gesellschaft und Unternehmen - Ratgeber für wirkungsvolle Unter...
Werksverzeichnis Hans Martin 1916
Smart Industry
Congreso visión 2012 - taller introducción app engine
Social Media für Unternehmen und Institutionen
Was User lieben, was sie hassen - Gregor Urech, Sibylle Peuker, Zeix AG
Open Source BPM - iteratec Architekturtag
20100506 JAX BPMN 2.0 in der Praxis
Communicating sustainibility
CAP 2: SEO - Técnicas de SEO
Anúncio

Semelhante a TDD com Python e App Engine (20)

PDF
PPTX
Vamos falar de DevOps?
PPTX
Test Driven Development
PPTX
São Paulo MuleSoft Meetups - DevOps
PPTX
Desenvolvimento Dirigido por Testes
PDF
Frameworks PHP
PDF
Precisamos falar sobre Testes de infraestrutura
PDF
Por quê você deve utilizar TDD?
PDF
Teste de software
PDF
Introdução a Testes de Software - Unidade I
PDF
Modulo python Configurando o Django ebac.pdf
PDF
AutomaçãoWeb - Chaordic Academy
PDF
Apresentacao dev ops
PDF
BDD em Ação
PDF
Palestra TDD Javou! #08 2016
PDF
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
PDF
Jenkins + DCS / Dafiti Conference 2014
PDF
Teste sua aplicação antes que ela teste você
PDF
Continious Delivery in practice - POA Meetup
PPTX
#Moving br workshop
Vamos falar de DevOps?
Test Driven Development
São Paulo MuleSoft Meetups - DevOps
Desenvolvimento Dirigido por Testes
Frameworks PHP
Precisamos falar sobre Testes de infraestrutura
Por quê você deve utilizar TDD?
Teste de software
Introdução a Testes de Software - Unidade I
Modulo python Configurando o Django ebac.pdf
AutomaçãoWeb - Chaordic Academy
Apresentacao dev ops
BDD em Ação
Palestra TDD Javou! #08 2016
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
Jenkins + DCS / Dafiti Conference 2014
Teste sua aplicação antes que ela teste você
Continious Delivery in practice - POA Meetup
#Moving br workshop

Mais de Ricardo Bánffy (15)

PDF
Continuous testing of a terminal font
PDF
Monitoring and automation
PDF
Measure everything you can
PDF
Lessons learned after 190M lessons served
PDF
Anti-patterns
PPTX
TDD with Python and App Engine
PDF
Da persistência de idéias ruins
PDF
Boredom comes to_those_who_wait
PDF
Quem espera sempre cansa
ODP
Extreme Programming
ODP
Django para infográficos
PPT
Faça seu próprio servidor pirata com OpenVZ
ODP
Ganhando dinheiro com software livre
Continuous testing of a terminal font
Monitoring and automation
Measure everything you can
Lessons learned after 190M lessons served
Anti-patterns
TDD with Python and App Engine
Da persistência de idéias ruins
Boredom comes to_those_who_wait
Quem espera sempre cansa
Extreme Programming
Django para infográficos
Faça seu próprio servidor pirata com OpenVZ
Ganhando dinheiro com software livre

Último (12)

PDF
Certificado de Conclusão Jornada Inteligência Artificial
PDF
CORPO, ALMA E ESPÍRITO cura inteiror.pdf
PPTX
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
PPTX
TURMA modelo de modelo apresentação 4DE.pptx
PDF
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
PPTX
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
PDF
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
PDF
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
PDF
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
PPTX
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
PDF
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
PDF
Metodologias ágeis - Slides - aulas 1 a 5.pdf
Certificado de Conclusão Jornada Inteligência Artificial
CORPO, ALMA E ESPÍRITO cura inteiror.pdf
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
TURMA modelo de modelo apresentação 4DE.pptx
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
Metodologias ágeis - Slides - aulas 1 a 5.pdf

TDD com Python e App Engine

  • 1. TDD com App Engine e Python um jeito simples
  • 2. Pesquisa ● Quem já usa App Engine com Python? ● Quem faz TDD com App Engine em Python? ● Quem escreve testes?
  • 3. O que é o Google App Engine
  • 4. O que é o Google App Engine
  • 5. O que é o Google App Engine
  • 6. O que é o Google App Engine ● Uma plataforma de PaaS ● APIs e bibliotecas "próprias" o mas roda aplicações Django, Flask etc ● Você nunca se preocupa com o servidor ● O time da Google administra tudo pra você ● Ambiente de desenvolvimento local ● Deployment com o SDK (ou com git)
  • 7. O que tem no Google App Engine ● Spin-up e spin-down automágico ● Pay-as-you-go ● Datastore (NoSQL) + Google Cloud SQL ● Filas - para processamento assíncrono ● NDB - Quem não espera não cansa ● Autenticação ● Um framework que incentiva boas práticas o E castiga você pelas más
  • 8. O que mais? ● Uma interface de gerenciamento ● É fácil trocar versões o E fazer split entre versões ● Uma nova interface de gerenciamento nova o Integrada com os outros serviços de cloud da Google
  • 9. O que já tínhamos ● GAEUnit o Deploy do código de teste em produção o Ainda funciona? ● Ferramental do SDK o Batteries not included ● NoseGAE, pytest-gae o Some batteries included ● ?
  • 10. Por que fazer mais um ● Incluir pilhas no pacote ● Ter opinião pode ser uma boa idéia o Convenção sobre configuração ajuda ● Algumas coisas fazem falta no ferramental do SDK o Faltam mais exemplos o O jeito com que o Django lida com fixtures é duca
  • 11. Por que fazer mais um (continuação) ● Virtualenvs são legais o Quebrar o Python do sistema é sempre ruim o O Python do sistema pode não ser uma opção  Algumas pessoas usam Windows ● Quando é difícil testar, ninguém testa o preguiça é a primeira virtude do programador (embora, nesse caso, não seja uma) ● Um pouco de hand-holding ajuda
  • 12. O que fizemos ● Um projeto-base (no GitHub) ● Monta um virtualenv ● Roda testes de sanidade ● Dados de teste em JSON ● Ambiente montado com um Makefile ● Testes independem do framework que você está usando ● Dá pra usar ipdb (nos testes)!
  • 13. Como se usa? Demo 1. git clone o git@github.com:rbanffy/testable_appengine.git 2. make venv 3. nosetests
  • 14. O que falta fazer ● Importar hierarquias de objetos para testes ● Tornar mais fácil usar em projetos já em andamento o Sobretudo manter o maquinário atualizado o Se bem que isso pode nem ser importante ● Precisamos de mais usuários o Que dêem mais palpites

Notas do Editor

  • #6: So all its cousins should be perceived as a single family