Cómo probar un componente / bean en Spring Boot

Para probar un componente / bean en una aplicación Spring Boot,la parte de prueba de la documentación de Spring Boot proporciona mucha información y múltiples formas:@Test, @SpringBootTest, @WebMvcTest, @DataJpaTest y aún muchas otras formas.
¿Por qué proporcionar tantas formas? ¿Cómo decidir la forma de favorecer?
¿Debo considerar como pruebas de integración mis clases de prueba anotadas con anotaciones de prueba de Spring Boot como@SpringBootTest, @WebMvcTest, @DataJpaTest ?

PS: Creé esta pregunta porque noté que muchos desarrolladores (incluso experimentados) no tienen las consecuencias de usar una anotación en lugar de otra.

Respuestas a la pregunta(1)

Su respuesta a la pregunta