Desarrollo de un Proyecto Sencillo con Enfoque en Testing

Clase 15 de 24Curso Básico de Testing con PHP y Laravel

Contenido del curso

Conceptos

Proyecto

Resumen

Poner en práctica lo aprendido es el paso más importante para consolidar conocimientos de testing. En esta sección se presenta un proyecto sencillo que integra base de datos, validaciones, controladores y pruebas, con el objetivo de que el enfoque principal sea precisamente el testing y no la complejidad de la aplicación.

¿Qué incluye el proyecto práctico de testing?

El proyecto consiste en una aplicación donde se pueden agregar, validar y eliminar etiquetas desde el navegador. Aunque su funcionalidad es simple, cada operación está respaldada por pruebas que garantizan su correcto funcionamiento [0:10].

Las acciones principales del proyecto son:

  • Agregar una etiqueta: al hacer clic en el botón "agregar" sin datos, se recibe una alerta de validación.
  • Crear nuevas etiquetas: se pueden escribir nombres como JavaScript o Python, y estas se añaden correctamente a la lista.
  • Eliminar etiquetas: cada elemento puede ser removido, y esta acción también cuenta con su propia prueba.

¿Qué tipos de pruebas se aplican en este proyecto?

Uno de los aspectos más valiosos es que se trabajan dos tipos de pruebas distintas. Por un lado, las pruebas feature, que validan el comportamiento completo de una funcionalidad desde la perspectiva del usuario. Por otro, las pruebas unitarias, que verifican piezas específicas del código de forma aislada [0:42].

En este caso particular, las pruebas unitarias se utilizaron para validar un campo virtual, mientras que las pruebas feature cubren las operaciones de agregar y eliminar etiquetas.

¿Por qué cada funcionalidad tiene su propio test?

Cada acción del proyecto cuenta con su prueba dedicada:

  • La función de agregar tiene su testing.
  • La validación tiene su testing independiente.
  • La eliminación también está cubierta.

Esto permite detectar errores de forma precisa y asegurar que cualquier cambio futuro no rompa el comportamiento esperado.

¿Por qué el proyecto es intencionalmente sencillo?

La decisión de mantener el proyecto simple es deliberada. El propósito es que toda la atención esté puesta en aprender y practicar testing, sin distracciones por lógica de negocio compleja [1:02]. Se integran los conceptos fundamentales: conexión a base de datos, reglas de validación y lógica en controladores, pero siempre al servicio de entender cómo se prueban.

¿Qué competencias se desarrollan con este ejercicio?

Este proyecto busca construir las competencias necesarias para comprender conceptos avanzados de testing en el futuro. Al trabajar con un escenario real, aunque reducido, se practica el ciclo completo de desarrollo con pruebas: escribir código, crear tests y verificar que todo funcione correctamente [1:10].

Si ya has trabajado con validaciones y controladores, este es el momento ideal para ver cómo cada pieza encaja dentro de una estrategia de testing coherente. ¿Has implementado pruebas feature y unitarias en tus propios proyectos? Comparte tu experiencia.