Testes

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!

37 aulas
Maurício Aniche

Maurício Aniche

Staff Engineer @ Uber

Conteúdo do curso

1 módulos • 37 aulas

Bem vindo ao curso!

01:13

Por que testar?

05:17

Leis do teste de software

07:31

O que são testes que acham bugs?

00:59

Testes de código de maneira sistemática

21:56

Bugs amam fronteiras

06:34

Cobertura de código da maneira certa!

10:11

Testes que dão bom feedback

00:55

Testes de unidade ou integração

04:25

Testes devem ser simples e rápidos

04:38

Você não acharia esse bug mesmo se escrevesse testes de integração!

03:56

Você precisa dividir para conquistar!

03:56

Foque nos casos de uso

02:05

Infraestrutura para escrita de testes é a chave do negócio

04:05

É preciso ver valor em todos os tipos de testes

Por que mockar, eis a questão!

01:12

O que mockar, e o que não mockar?

04:43

Internal ou peer, uma ótima maneira de classificar dependências

02:58

Stubs, fakes ou mocks?

03:46

Calma lá, mocks também tem suas desvantagens

04:05

O que design para testabilidade?

00:37

Arquitetura hexagonal para nos salvar

05:33

Controlabilidade e observabilidade são fundamentais!

03:59

Na dúvida, escreva classes pequenas

03:34

Por que se importar com qualidade do código de testes?

00:26

As características de um bom código de testes

07:34

Testes sem asserção: Um grande pecado

01:29

Testes podem dificultar refatoração?

02:30

Testes estúpidos são bons

01:39

Haja dilema!

00:18

Flaky testes: O que são, onde vivem e o que comem

05:51

Devs e QAs: Uma relação complementar

02:18

Sendo pragmático na hora de testar microserviços

05:13

Como testar sistemas legados: Não me vem com essa de refatorar

06:22

Ah, eu não tenho tempo de testar

02:38

Até a próxima

00:27

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

Entender a responsabilidade de devs em garantir qualidade do código
Aplicar leis e princípios fundamentais de testes de software
Escrever testes de código de maneira sistemática
Identificar e testar fronteiras onde bugs aparecem
Usar cobertura de código da maneira correta
Diferenciar testes de unidade e integração
Aplicar mocks, stubs e fakes de forma apropriada
Design de código voltado para testabilidade

Seu instrutor

Maurício Aniche

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.

Domine Engenharia de IA e Desenvolvimento de Software de Alta Qualidade

Rafael
Alberto
Daniel
COMEÇAR AGORA