Um pouco sobre as palestras no TDC 2015 Florianópolis

Na semana passada tivemos o primeiro TDC do ano, em Florianópolis. Nessa edição, tive o prazer de apresentar quatro palestras, nas trilhas de DevOps, Testes, Android e JavaScript. Divulguei os links das apresentações pelo Twitter, mas caso tenha se perdido, estou usando esse post para facilitar :)

Vou falar um pouco sobre o objetivo de cada uma palestras, caso surja alguma dúvida, não hesite em entrar em contato!


Criando ambientes de forma simples com Docker e Ansible

Nessa palestra, falei rapidamente sobre Docker (que também foi abordado por outras duas palestras na trilha DevOps e por outras na trilha de Cloud Computing) e Ansible, para em seguida mostrar como utilizo ambos atualmente. Tudo que falei foi inspirado em um excelente post do blog do Rackspace, e a solução que uso atualmente segue bem a linha do post.

Também mostrei e disponibilizei um repositório no GitHub com exemplos de playbooks do Ansible para criar imagens/containers do Docker para uma app Node.js e para o MongoDB. Para cada serviço, coloquei um playbook usando ou não os módulos do Docker disponíveis no Ansible.


Visual Regression Testing em ambientes na nuvem

O objetivo dessa palestra foi, além de falar sobre Visual Regression Testing, mostrar como fazer esse tipo de teste em ambientes na nuvem, usando a solução de front-end para Node.js criada pelo Marcel Erz, do Yahoo!.

A solução é baseada em três ferramentas: Preceptor, Hodman e Kobold. O Preceptor funciona como um agregador/runner, é nele que você irá configurar as capabilities usadas nos testes, configurar execuções em paralelo, etc. O Hodman é uma biblioteca que usa o Selenium WebDriver e que tem foco total no pattern de Page Objects, possibilitando abstrações mais granulares do que Page Objects em si. Por fim, o Kobold é quem irá fazer a parte de visual regression testing, comparando screenshots entre builds e gerando imagens com o resultado.

Na palestra, mostrei um projeto de exemplo que usa as três ferramentas em conjunto, que você pode conferir no GitHub. Para quem tiver interesse, recomendo também dar uma olhada também no projeto de exemplo disponibilizado pelo próprio Marcel: https://github.com/marcelerz/preceptor-todomvc


Testes de Unidade com Robolectric

Essa palestra foi apresentada junto com o grande amigo Lucas Albuquerque, que trabalha como Mobile Developer. Falamos sobre o Robolectric, que é um framework de testes de unidade para apps Android. Mostramos como o framework funciona e citamos alguns exemplos de uso. No final, apresentamos um projeto de exemplo no GitHub, que contém testes de unidade com Robolectric, cobertura de código com JaCoCo e Integração Contínua na nuvem com o CircleCI.


Testes Automatizados de todos os tipos utilizando bibliotecas JavaScript

Finalizando, essa palestra teve como objetivo fazer um apanhado geral de tudo que você puder imaginar sobre testes automatizados, e mostrar que existem ótimas opções de bibliotecas em JavaScript para isso. Falei sobre bibliotecas para testes de unidade, mocks/stubs/spies, cobertura de código, análise de complexidade de código, testes de API, testes de UI, visual regression tests, dentre outros tópicos.

No final, apresentei um projeto de exemplo que criei no GitHub, que consiste em uma simples app usando a MEAN stack (MongoDB, Express, AngularJS e Node.js), baseado no livro sobre MEAN da Casa do Código. Esse projeto contém testes de unidade com Karma e Jasmine; testes de API com SuperTest, Mocha e Chai; testes de UI com Protractor; visual regression tests com Kobold (além do Preceptor e Hodman); cobertura de código com Istanbul e análise de complexidade de código com Plato.


Abraços e até o próximo post! :)


Sobre o autor: Stefan Teixeira trabalha como QA Engineer e, desde o final de 2014, tem se aventurado no mundo DevOps. É Bacharel em Ciência da Computação pela UFRJ e MBA em Garantia de Qualidade de Software pela Escola Politécnica da UFRJ. Entusiasta de Testes Automatizados (e de tudo que possa ser automatizado!), Agile Testing e da cultura DevOps.

Contatos: stefanfk@gmail.com | Twitter | LinkedIn


comments powered by Disqus