Quantas vezes você escreveu um bug? Quantas vezes você mudou seu software e não testou tudo? Testar software é uma tarde. E surpreendentemente fácil. No entanto, aprender sozinho pode ser desafiador e levar mais tempo do que você esperava.
Nos últimos anos, tenho dado workshops sobre testes automatizados e TDD por todo o Brasil. O feedback é sempre bastante positivo. Os tópicos que costumo abordar são:
- Motivação: Testes automatizados
Aluno escreverá testes para problemas pré-prontos. - Testes de Unidade
Aqui ele praticará a criação de cenários e escrita de asserts. - Boas práticas em testes de unidade
Aluno escreverá Test Data Builders, métodos de suporte, setUp(), tearDown(), etc - Test-Driven Development e Refatoração
Aluno praticará TDD, utilizando conceitos como baby steps, refatoração, simplicidade. - Mock Objects
Aluno utilizará framework popular da linguagem, e aprenderá sobre expectativas, verificações, exceções.
- Testabilidade e Orientação a Objetos
Como escrever classes facilmente testáveis? Discussão sobre orientação e objetos e exemplo real. - TDD e efeitos na qualidade interna
Aluno aprenderá feedbacks que o teste dá sobre a qualidade do código, e perceberá problemas de design de maneira antecipada. - Testes de integração em DAOs
Aluno escreverá testes de integração para uma base de dados, aprenderá a montar cenários, e montar a infra-estrutura necessária para tal. - Testes de sistema com Selenium
Aluno aprenderá o que é um teste de sistema, como escrever testes usando Selenium, e Page Objects (um padrão de projeto que visa facilitar a manutenção da bateria de teste). - Níveis de teste
Discussão sobre a diferença entre um teste de unidade, integração e sistema, e o que testar com cada um deles.
Quer saber o que precisa de infraestrutura pro curso? http://www.aniche.com.br/material-para-workshop-de-tdd/.
Mande um e-mail se quiser falar mais sobre isso!