Testes de Software para Devs: Princípios e Práticas Sistemáticas
Pessoas desenvolvedoras são as principais responsáveis por garantir que o seu código funcione! Neste curso você encontra tudo que é necessário para fazer isso acontecer!

Maurício Aniche
Staff Engineer @ Uber
Conteúdo do curso
1 módulos • 37 aulas
Bem vindo ao curso!
Por que testar?
Leis do teste de software
O que são testes que acham bugs?
Testes de código de maneira sistemática
Bugs amam fronteiras
Cobertura de código da maneira certa!
Testes que dão bom feedback
Testes de unidade ou integração
Testes devem ser simples e rápidos
Você não acharia esse bug mesmo se escrevesse testes de integração!
Você precisa dividir para conquistar!
Foque nos casos de uso
Infraestrutura para escrita de testes é a chave do negócio
É preciso ver valor em todos os tipos de testes
Por que mockar, eis a questão!
O que mockar, e o que não mockar?
Internal ou peer, uma ótima maneira de classificar dependências
Stubs, fakes ou mocks?
Calma lá, mocks também tem suas desvantagens
O que design para testabilidade?
Arquitetura hexagonal para nos salvar
Controlabilidade e observabilidade são fundamentais!
Na dúvida, escreva classes pequenas
Por que se importar com qualidade do código de testes?
As características de um bom código de testes
Testes sem asserção: Um grande pecado
Testes podem dificultar refatoração?
Testes estúpidos são bons
Haja dilema!
Flaky testes: O que são, onde vivem e o que comem
Devs e QAs: Uma relação complementar
Sendo pragmático na hora de testar microserviços
Como testar sistemas legados: Não me vem com essa de refatorar
Ah, eu não tenho tempo de testar
Até a próxima
Agora escreva todos os testes para o desafio da Casa do Código
O que você vai aprender
Conteúdo técnico e prático para você dominar os conceitos de escalabilidade
Seu instrutor

Maurício Aniche
Staff Engineer @ Uber
Dedica-se a tornar engenheiros de software mais produtivos por meio de plataformas e ferramentas para desenvolvedores. Atualmente é Tech Lead (hands-on) na Adyen, liderando o time de Testing Enablement, responsável por fornecer aos engenheiros as ferramentas e estratégias de teste adequadas. Anteriormente, foi professor assistente de engenharia de software na Delft University of Technology, na Holanda. Sua pesquisa sempre teve foco em qualidade de software. Seus esforços no ensino de testes de software lhe renderam o prêmio de Professor de Ciência da Computação do Ano de 2021 e o TU Delft Education Fellowship, uma prestigiada distinção concedida a docentes inovadores. É autor de 'Effective Software Testing: A Developer's Guide' (2022) e 'Simple Object-Oriented Design' (2024), ambos publicados pela Manning, além de 'Test-Driven Development: Teste e Design no Mundo Real' (2014) e 'Orientação a Objetos e SOLID para Ninjas' (2015), publicados pela Casa do Código.


