- 1
Novedades y herramientas actualizadas en Laravel
00:30 - 2

Desarrollo web con Laravel: proyectos y funcionalidades clave
05:31 - 3
Curso de Laravel 6: Configuración del Entorno de Desarrollo
03:27 - 4

Instalación y configuración de Laravel paso a paso
08:11 - 5

CRUD en Laravel: Crear, Leer, Actualizar y Eliminar Usuarios
12:04 - 6

"Creación de Controladores y Vistas en Laravel"
16:12 - 7

Creación de Formularios y Validación en Laravel con Bootstrap
12:59
Pruebas de Software: Ciclo Rojo, Verde y Refactorización
Clase 28 de 37 • Curso de Introducción a Laravel 6
Contenido del curso
- 8

Rutas y Controladores en Laravel: Fundamentos Esenciales
08:43 - 9

Protección de Rutas y Controladores en Laravel con Middleware
06:28 - 10

Validación de Formularios en Laravel: Buenas Prácticas y Ejemplos
08:22 - 11

Sistema de Plantillas Blade en Laravel: Creación y Uso Eficiente
08:10 - 12

Implementación de Sistema de Autenticación en Laravel con Bootstrap
07:32
- 17

Creación de un Blog con Sistema de Autenticación y Slugs
07:54 - 18

Configuración de Migraciones, Factories y Seeders en Laravel
07:36 - 19

Configuración de Rutas y Controladores en Laravel para Listado de Posts
13:01 - 20

Configuración Visual y Paginación en Laravel y Vue.js
04:12 - 21

Gestión de Artículos en Laravel: Rutas, Controladores y Vistas
14:35 - 22

Creación de Formularios en PHP con HTML y Bootstrap
07:00 - 23

Validación y Guardado de Datos en Laravel
12:10 - 24

Formulario de Edición de Artículos con Laravel
10:15 - 25

Gestión de Formularios y Archivos en Laravel
11:26 - 26

Integración de Imágenes y Contenido Multimedia en Proyectos Web
11:28
- 27

Testing y Pruebas Funcionales en Laravel: Proyecto Intermedio
09:48 - 28

Pruebas de Software: Ciclo Rojo, Verde y Refactorización
06:03 - 29

Configuración de Proyectos en Laravel: Controladores y Pruebas
09:11 - 30

Desarrollo Guiado por Pruebas en Laravel: Configuración y Ejecución
12:41 - 31

Refactorización y Validación de Código en Pruebas Unitarias
07:48 - 32

Pruebas y Configuración de Controladores en Laravel
06:50 - 33

Actualización de Datos en Controladores: Método y Pruebas
05:05 - 34

Pruebas Unitarias para Método de Eliminación en Bases de Datos
04:15 - 35

Creación y Prueba de Métodos Index en PHP
06:03 - 36

Protección de APIs con Autenticación Token en Laravel
08:20 - 37

Desarrollo de Formularios con Blade y Verbalización de Datos
00:55
¿Cómo entender el mundo del testing en programación?
El testing en programación es un tema apasionante que va más allá de simplemente verificar si un sistema funciona; se trata de construir y asegurar que todos los elementos de un proyecto operen correctamente. Uno de los conceptos clave a entender es el protocolo HTTP, ya que muchas pruebas giran en torno a cómo los navegadores acceden y gestionan contenidos en la web. Un proceso metódico conocido como "Metodología TDD" - Desarrollo Guiado por Pruebas (Test-Driven Development) - se despliega a través de tres pasos fundamentales: rojo, verde y refactoring. Exploremos cómo cada paso contribuye a un desarrollo efectivo y basado en pruebas.
¿Qué significan los pasos rojo, verde y refactoring?
Paso 1: Rojo
El primer paso, "rojo", implica escribir una prueba que inicialmente falla. El objetivo es construir la estructura de una prueba que aún no tiene implementación de código, lo que resultará en un fracaso al ejecutarse. Este fracaso es intencionado y marca el inicio del desarrollo, ya que aún no se ha escrito el código real que haga que la prueba sea exitosa.
Paso 2: Verde
Una vez que la prueba está en rojo, el siguiente paso es escribir el código necesario para que la prueba pase, es decir, haga que el estado cambie a "verde". En este paso, el desarrollador crea el código funcional que satisface las condiciones especificadas por la prueba. Una vez pasado este estado, la prueba dará un resultado exitoso confirmando que el código se comporta como se espera.
Paso 3: Refactoring
Finalmente, llegamos al paso de "refactoring". Aquí, el objetivo es mejorar el código sin cambiar su comportamiento externo. Esto puede incluir optimizar la estructura, añadir comentarios para mejorar su comprensión o simplificar alguna lógica que ha sido escrita en los pasos anteriores. Lo crucial es mantener el estado en verde, asegurándose que las mejoras no afecten la funcionalidad ya verificada.
¿Cómo implementar pruebas en un proyecto de código?
Al introducirse en un proyecto, un desarrollador debe estructurarse mediante pruebas unitarias, eliminando test innecesarios y creando pruebas específicas que garanticen el funcionamiento esperado del sistema.
# Creación de una prueba unitaria con nombre personalizado
proyecto % mkdir pruebas
proyecto % cd pruebas
proyecto/pruebas % touch test_home.py
En el ejemplo anterior, se intenta inicializar una prueba para verificar que la raíz del sistema devuelve un estatus HTTP adecuado, como un 200 OK. Este es un método común en pruebas de integración.
Manejo de errores durante el testing
Durante las pruebas, es común encontrarse con errores como un fallo de ruta o una respuesta de servidor incorrecta, por ejemplo, un 404 Not Found al intentar acceder a un recurso que no existe. Esto es indicativo de que el código debe ser corregido y mejorado, lo cual se aborda en el refactoring.
# Código de una prueba que inicialmente falla con un status 404
def test_ruta_principal():
response = cliente.get('/')
assert response.status_code == 200
¿Cómo avanzar de una prueba funcional a un código robusto?
Después de convertir una prueba roja en una prueba verde, el paso de refactoring permite hacer el código más elegante y entendible para tus colegas de trabajo. Es vital en este proceso modularizar el código, renombrar métodos para que sean autoexplicativos y asegurar que esos cambios mantengan el código funcionando adecuadamente.
Consejos para un testing efectivo
- Siempre escribe pruebas antes de implementar funciones: esto te ayudará a definir claramente las expectativas y a asegurar que las implementaciones cumplen con estas.
- Utiliza nombres claros y descriptivos para tus test y métodos: facilita el entendimiento del código.
- No temas refactorizar: es una parte crucial que asegura un código limpio y mantenible.
- Mantén tus pruebas independientes y modulares: esto facilita el diagnóstico y la corrección de errores.
Al seguir esta metodología de trabajo, no solo se asegura un código de alta calidad y libre de errores, sino que también se fomenta un ciclo de desarrollo ágil y efectivo. Continuar aprendiendo e implementando estas prácticas te permitirá convertirte en un profesional más competente y eficaz en el mundo del desarrollo de software.