Las reglas FIRST de los tests
Antonio Leiva

Las reglas FIRST son un conjunto de principios que se utilizan para diseñar y escribir tests de software de manera efectiva.

Las siglas FIRST significan:

  • F – Fast: Un test debe ser rápido de ejecutar.
  • I – Independent: Un test debe ser independiente de otros tests y debería ser posible ejecutarlo de manera aislada.
  • R – Repeatable: Un test debe poder ser ejecutado varias veces y debería producir siempre el mismo resultado.
  • S – Self-validating: Un test debe ser automatizable y debería producir un resultado claro y sin ambigüedades (por ejemplo, «pasa» o «falla»).
  • T – Timely/Thorough: Un test debe ser escrito y ejecutado en un momento oportuno, es decir, en el momento adecuado del ciclo de vida del desarrollo del software. A veces también se explica como que debe cubrir todos los casos.

Siguiendo estas reglas, es posible escribir tests de software efectivos y útiles que ayuden a garantizar la calidad y confiabilidad del software.

Es importante tener en cuenta que las reglas FIRST no son un conjunto exhaustivo de principios para diseñar tests de software, sino más bien un marco de referencia útil para tener en cuenta al escribir tests. Cada proyecto de software es único y puede requerir enfoques y principios adicionales para garantizar una adecuada cobertura de tests.

F – Fast (Rápido)

Un test debe ser rápido de ejecutar, ya que se ejecutan muchas veces durante la fase de desarrollo del software.

Si un test tarda demasiado tiempo en ejecutarse, es menos probable que los desarrolladores lo ejecuten con frecuencia.

Además, si los tests tardan mucho tiempo en ejecutarse, puede resultar frustrante para los desarrolladores tener que esperar a que se completen antes de poder continuar con su trabajo.

Por lo tanto, es importante que los tests sean rápidos de ejecutar para poder obtener una retroalimentación rápida y poder detectar problemas de manera temprana.

I – Independent (Independiente)

Un test debe ser independiente de otros tests y debería ser posible ejecutarlo de manera aislada.

Esto significa que no debe depender de ningún otro test para su ejecución y no debe afectar el resultado de otros tests.

Si un test depende de otro test para su ejecución, puede ser difícil determinar qué ha fallado en caso de error.

Además, si un test afecta el resultado de otros tests, puede ser difícil determinar cuál de los tests ha fallado.

Por lo tanto, es importante que los tests sean independientes para poder detectar problemas de manera más fácil y clara.

R – Repeatable (Repetible)

Un test debe poder ser ejecutado varias veces y debería producir siempre el mismo resultado.

Si un test no es repetible, puede ser difícil confiar en su resultado y puede ser difícil determinar si un problema ha sido solucionado o no.

Por lo tanto, es importante que los tests sean repetibles para poder confiar en sus resultados y para poder verificar si un problema ha sido solucionado o no.

S – Self-validating (Auto-validados)

Un test debe ser automatizable y debería producir un resultado claro y sin ambigüedades (por ejemplo, «pasa» o «falla»).

Si un test no es automatizable, es menos probable que se ejecute con frecuencia y puede ser difícil integrarlo en el proceso de construcción del software.

Si un test produce un resultado ambiguo, puede ser difícil determinar si ha fallado o no.

Por lo tanto, es importante que los tests sean automatizables y produzcan un resultado claro para poder integrarlos en el proceso de construcción del software y para poder confiar en sus resultados.

T – Timely/Thorough (Oportuno/Minucioso)

La regla T de las reglas FIRST puede significar «Timely» o «Thorough», dependiendo de quién lo explique.

«Timely» significa que un test debe ser escrito y ejecutado en un momento oportuno, es decir, en el momento adecuado del ciclo de vida del desarrollo del software.

«Thorough» significa que un test debe ser exhaustivo y cubrir todos los casos de uso relevantes y posibles errores.

Algunas personas incluyen ambos significados en la regla T, mientras que otras solo utilizan uno de ellos.

En cualquier caso, ambos significados son importantes para garantizar la calidad y confiabilidad del software y para facilitar el proceso de desarrollo del mismo.

Conclusión

En conclusión, las reglas FIRST son un conjunto de principios útiles para diseñar y escribir tests de software de manera efectiva.

Al seguir estas reglas, es posible escribir tests que sean rápidos de ejecutar, independientes, repetibles, automatizables y que sean escritos y ejecutados en un momento oportuno.

Esto ayudará a garantizar la calidad y confiabilidad del software y a facilitar el proceso de desarrollo del mismo.

Es importante tener en cuenta que cada proyecto de software es único y puede requerir enfoques y principios adicionales para garantizar una adecuada cobertura de tests.

Sin embargo, siguiendo las reglas FIRST como marco de referencia, es posible escribir tests de software efectivos y útiles.

Quizá también te interese…

¿Qué son los dobles de test?

¿Qué son los dobles de test?

Los dobles de prueba (también conocidos como "doubles" o "fakes") son herramientas comunes en la programación y en particular en el testing de software. Se utilizan para simular el comportamiento de una dependencia de una aplicación en un entorno de pruebas, sin tener...

Kata del TicTacToe en Kotlin

Kata del TicTacToe en Kotlin

Escribe el código para representar una entidad que almacene el tablero de juego del 3 en raya, y que además tenga: Un método move() con 2 parámetros, fila y columna, que permita añadir un movimiento al tablero Un método findWinner(), que devuelva el ganador (X, Y o...

¿Cuál es la diferencia entre un algoritmo y un patrón de diseño?

¿Cuál es la diferencia entre un algoritmo y un patrón de diseño?

Un algoritmo es un conjunto de pasos lógicos y precisos que se siguen en un orden determinado para resolver un problema o realizar una tarea específica. Por otro lado, un patrón de diseño es una solución reutilizable a un problema común que se presenta en el diseño de...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de DevExpert, S.L.U., con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *