FIRST en Testing
El acrónimo FIRST describe las características que deben tener las pruebas unitarias:
- F: Rápidas (Fast): Los tests deben ejecutarse rápidamente.
- I: Independientes (Independent): Los tests no deben depender unos de otros.
- R: Repetibles (Repeatable): Deben dar siempre el mismo resultado, sin importar el entorno.
- S: Autovalidables (Self-validating): Los tests deben pasar o fallar automáticamente, sin intervención manual.
- T: Oportunos (Timely): Se deben escribir a tiempo, preferiblemente antes del código que prueban (Test Driven Development - TDD).
1. Código Malo #
Cargando actividad al acercarte…
Problema: Estos tests no son autovalidables; necesitan intervención manual para verificar el resultado. Los test no son independientes.
Solución: Modifica la función aplicando código limpio, los tests son ahora rápidos, independientes y autovalidables, cumpliendo con FIRST.
2. Código Bueno #
Cargando actividad al acercarte…
Resumen del tema
Conceptos clave #
- Acrónimo FIRST en Pruebas Unitarias:
- Fast (Rápidas): ejecución en milisegundos para permitir su lanzamiento continuo en el flujo de desarrollo.
- Independent (Independientes): ningún test debe depender del resultado, estado u orden de ejecución de otro.
- Repeatable (Repetibles): producen idéntico resultado en local, integración continua (CI) o producción sin depender de factores externos.
- Self-Validating (Autovalidables): salida booleana binaria (éxito o fallo) mediante aserciones automáticas sin requerir inspección manual de logs.
- Timely (Oportunas): escritas a tiempo, preferiblemente antes o durante la creación del código productivo (TDD).
Qué debes recordar #
Las pruebas que cumplen los principios FIRST proporcionan retroalimentación inmediata y confianza total para refactorizar sin miedo a romper funcionalidades existentes.