- Encontrar bugs
- Documentación viva del diseño
- Permite aplazar decisiones de diseño
- Soportar el aumento del nivel de abstracción a medida que nuevos requerimientos aparecen
- Exponen los defectos de diseño
- Un setup que cuesta escribir
- Muchas dependencias
- Dificultar de testear en definitiva