Algo que me gusta que se menciona mucho en el curso de creación de intérpretes es que "El testing no te va a asegurar que tu aplicación no tenga bugs, pero sí te va a asegurar que esos bugs que encuentres ya no vuelvan a surgir", es genial porque realizar una aplicación bajo testing asegura que tu código sigue funcionando porque literal es un robot que va a probar todos los casos posibles. . Y de hecho, yendo más allá, cuando tú estás realizando un documento de diseño en la planeación de una arquitectura backend, es importante que pongas en ese documento cuáles son tus casos de uso que vas a probar bajo testing, es decir, que pongas lo que se tiene que testear en la aplicación, por ejemplo, "Crear un usuario, crear un review, crear una opinión para ese review con un usuario", ese sería un caso de uso de testing que se tendría que implementar en la aplicación :D
Recursos
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.