Pruebas Automatizadas para Cambios Seguros en Desarrollo Web
Clase 2 de 24 • Curso Básico de Testing con PHP y Laravel
Resumen
¿Cuál es la verdadera función del testing?
El testing es una parte crucial del desarrollo de software que garantiza que nuestras aplicaciones funcionen correctamente, incluso después de realizar cambios. Imagina que trabajas en una plataforma y te solicitan un cambio específico en una página web. Al implementar este cambio, podrías estar causando errores en otras páginas que utilizan la misma plantilla. Aquí es donde entra el testing: nos ayuda a identificar y corregir estos problemas antes de que afecten al usuario final.
¿Cómo se trabajaba antes del testing?
Tradicionalmente, el flujo de trabajo era el siguiente:
- Realizar el cambio en el código.
- Guardar el cambio.
- Revisar el resultado en el navegador web.
Este método, aunque funcional, tiene una desventaja crítica: no es proactivo en identificar errores en otras áreas de la aplicación. Si guardamos información o interactuamos con la base de datos, el antiguo ciclo se centra en ver el navegador, escribir registros, salvar, editar o eliminar y luego revisar la base de datos.
¿Cómo cambiar con el testing moderno?
En el contexto de este curso, aprenderás a desarrollar una prueba que:
- Espere el resultado deseado, como visualizar un evento o modificar la base de datos.
- Implemente un robot automatizado que revise el código por errores.
Con esta metodología, cuando se hace un cambio, podrías detectar automáticamente si ese cambio afectó otras partes del sistema.
¿Por qué es crucial el testing en el desarrollo seguro?
La función principal del testing es garantizar el desarrollo seguro. ¿Qué significa esto en la práctica? Al desarrollar de esta manera:
- Proteges el código existente: El testing te alertará cuando un cambio dañe el código que ya funciona.
- Evitas subir errores al servidor: No subes nada que pueda romper la funcionalidad existente hasta que el problema esté resuelto.
- Respaldas los cambios con confianza: Cada cambio está respaldado por pruebas que aseguran que no dañes otras partes del sistema.
En pocas palabras, el testing nos asegura que los cambios solicitados no afecten negativamente al resto del código, manteniendo la estabilidad y la eficiencia de nuestra plataforma.