Me gustaría explicar esto de una forma un poco más entendible con una analogía:
.
Una prueba unitaria es cuando tú pruebas una función en específico, es decir, algo muy específico que quieres saber que funciona, por ejemplo, suponiendo que tienes un programa que va a hornear un pastel, una prueba unitaria sería asegurarte que la masa se está horneando correctamente, otra prueba unitaria sería asegurarte que el horno realmente está calentando.
.
Una prueba de features es cuando tú pruebas ese conjunto de funciones, por ejemplo, cuando tú pruebas que realmente de tu cocina se está horneando un pastel, porque tus pruebas unitarias pueden estar bien, es decir, puede que la masa se esté haciendo bien y que el horno sí esté calentando, pero puede que de ahí estén saliendo galletas en lugar de un pastel, por eso la prueba de features es asegurarte que todas esas pequeñas funciones del sistema están trabajando bien entre sí 😄
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?