Como testar um componente / bean no Spring Boot

Para testar um componente / bean em um aplicativo Spring Boot,a parte de teste da documentação do Spring Boot fornece muitas informações e várias maneiras:@Test, @SpringBootTest, @WebMvcTest, @DataJpaTest e ainda de muitas outras maneiras.
Por que oferecer tantas maneiras? Como decidir o caminho a favor?
Devo considerar como testes de integração minhas classes de teste anotadas com anotações de teste do Spring Boot, como@SpringBootTest, @WebMvcTest, @DataJpaTest ?

PS: Criei esta pergunta porque notei que muitos desenvolvedores (mesmo experientes) não obtêm as consequências de usar uma anotação em vez de outra.

questionAnswers(1)

yourAnswerToTheQuestion