TDD: do básico ao avançado
Duração
8 horas-aula distribuídas em 1 dia.
Descrição
Test-Driven Development, prática popularizada pelo Kent Beck no começo dos anos 2000, faz com que o desenvolvedor inverta a maneira tradicional de desenvolver softwares: um teste deve ser escrito antes da implementação. Essa simples inversão gera efeitos tanto na qualidade externa quanto na qualidade interna da aplicação: simplicidade, código claro, design flexível são alguns dos benefícios comumente citados pelos praticantes. Esse curso tem como objetivo mostrar ao participante como praticar TDD, discutindo desde o primeiro teste até o uso dos testes para melhorar o design de classes.
Conteúdo programático
- Motivação: Por que testar é importante?
- Testes de Unidade
- Test Driven Development
- Benefícios do TDD nos testes
- Mock Objects
- Benefícios do TDD no design
- Boas práticas de testes de unidade
- Acceptance Test Driven Development
- Coding Dojo
Instrutores
Bruno Pedroso
Bruno Pedroso está em etapa de finalização de seu mestrado em computação pela Universidade de Brasília, onde pesquisa o Desenvolvimento Orientado a Testes - TDD. É desenvolvedor com mais de 12 anos de experiência. Já se envolveu duas vezes com implantação de processos aderentes a CMMI, e MPS.Br. Há 5 anos se dedica à construção da cultura ágil na SEA tecnologia, onde hoje atua como coach e diretor técnico, dando grande enfoque à aplicação de valores e princípios do XP. Organiza e participa ativamente dos grupos de Coding Dojo: DojoSEA e DojoBrasília, ministra cursos e palestras sobre XP há cerca de quatro anos, e escreve em diversos blogs a respeito do assunto.
Dairton Bassi
Dairton Bassi está envolvido com desenvolvimento ágil há mais de 7 anos, atuou como desenvolvedor, líder técnico, coach de equipes, ScrumMaster e consultor em métodos ágeis. Nessas posições, acompanhou ou conduziu a implantação de metodologias ágeis em empresas com diversos perfis, inclusive em órgãos públicos. É Mestre em Engenharia de Software Ágil pela USP e Bacharel em Ciência da Computação pela mesma instituição. Co-fundador da AgilCoop e sócio da Neurobox, criador do Encontro Ágil, atua junto a empresas na implantação de modelos ágeis de desenvolvimento de software.
Daniel Wildt
Daniel Wildt atua com capacitação, coaching e desenvolvimento de projetos usando Metodologias Ágeis desde 2003. Em 2004 fundou o Grupo de Usuários de Metodologias Ágeis do Rio Grande do Sul, que coordena desde então. É especialista na aplicação de Lean, eXtreme Programming e Scrum, em times locais ou ambientes distribuidos. Já participou de projetos envolvendo 3 continentes aplicando Metodologias Ágeis e diversos fuso horários, participou de diversos eventos na área, e possui publicações nacionais e internacionais na área em portais, revistas e congressos.
Hugo Corbucci
Hugo Corbucci é mestre em Ciências da Computação do IME/USP no tema “Aplicação de Métodos Ágeis ao Desenvolvimento de Software Livre”. Ele é fundador e coordenador do projeto Archimedes – The Open CAD (em 2005) e fundador do Coding Dojo São Paulo (em 2007).
Foi professor nos cursos de verão do IME/USP (de 2007 a 2010) onde também atuou como assistente de ensino no curso de Programação Extrema da graduação. Também já ministrou cursos sobre métodos ágeis no ICMC e foi palestrante em conferências nacionais e internacionais.
Já foi desenvolvedor e assessor em métodos ágeis na Maps Risk Management Solution no período de adoção de Scrum da empresa (em 2006). Desde 2008 é sócio-fundador da Agilbits e atua como programador e líder de projetos desenvolvendo sistemas desktop com Java usando a plataforma Eclipse RCP e sistemas web com Ruby usando Rails. É apaixonado por programação e trabalho em equipes além de ser um assíduo escalador.
Mauricio Aniche
Mauricio desenvolve software há aproximadamente 8 anos, tendo atuado para empresas do mercado brasileiro e internacional. Atualmente trabalha na Caelum | Ensino e Inovação, uma das mais reconhecidas empresas de treinamento em Java e agilidade do Brasil.
É também aluno de mestrado em Ciência da Computação, onde pesquisa sobre TDD e sua influência no design de sistemas orientados a objetos. Mauricio palestrou em diversos eventos nacionais, como Agile Brazil 2010, QCON SP, e também no 1o Workshop sobre Test-Driven Development, ocorrido em 2010 em Paris, para figuras renomadas da área como Michael Feathers e Steve Freeman.
Renato Willi
Renato Willi é formado em Ciência da Computação na UnB, Pós-Graduado em Implantação de Software Livre na UNISUL, e MBA em Projetos, pelaFGV. Trabalha como um dos diretores da SEA Tecnologia, utilizando metodologias ágeis sempre que possível.
Colaborador na tradução do Manifesto Ágil e dos livros "Why's Poignant Guide to Ruby", "Scrum and XP from the Trenches" e "Kanban and Scrum - making the best of both", nos 2 últimos como organizador e tradutor. Palestrante em diversos eventos sobre agilidade, como Agile Brazil 2010 (organizador), Scrum Gathering Brazil 2009, Agile Weekend 2009, Àgiles 2009, Falando em Agile 2008, e diversos Marés de Agilidade - DF, BA, CE, PA, MG, VIX - de que é um dos fundadores e organizadores.
Tem artigos publicados na revista Mundo PM e escreve para os blogs da SEA Tecnologia e Visão Ágil. Certificado como PMP, ITIL-F, SCJP, IBM RMUC e IBM RUP Specialist (Ninguém é perfeito).
