Knowledge Base Guide

Cómo probar correctamente los módulos PrestaShop

Flujo de trabajo práctico para probar módulos de PrestaShop — verificaciones previas, pruebas funcionales, pruebas de regresión y lista de comprobación imprimible.

Por qué es importante probar correctamente los módulos

Instalar un nuevo módulo de PrestaShop en su tienda en producción sin probarlo es como cambiar el motor de su coche mientras conduce. Puede que funcione—pero si no lo hace, se quedará atrapado en el tráfico con clientes enfadados detrás de usted.

Los conflictos entre módulos, las incompatibilidades con el tema y los efectos secundarios inesperados son las causas más comunes de caídas de la tienda. Casi todos se pueden prevenir con un flujo de trabajo básico de pruebas. Esta guía le muestra cómo hacerlo.

El tiempo que invierte en hacer pruebas siempre es menor que el tiempo que gasta reparando una tienda en producción averiada. Una prueba de 15 minutos en staging puede ahorrarle horas de resolución de problemas de emergencia.

Antes de instalar: verificaciónes previas

Antes de descargar un módulo, compruebe primero lo siguiente:

1. Matriz de compatibilidad

Todo proveedor de módulos de buena reputación indica qué versiones de PrestaShop soporta el módulo. Verifique que su versión exacta esté cubierta—no solo la versión principal. Un módulo que indica "PS 1.7" podría no funcionar en PS 1.7.6 si fue creado para la 1.7.8.

Compruebe también la compatibilidad con PHP. Si el módulo requiere PHP 8.1+ y su servidor ejecuta PHP 7.4, no funcionará independientemente de la versión de PrestaShop.

2. Indicadores de calidad del módulo

Busque señales de que el módulo está bien mantenido:

  • Actualizaciones recientes: ¿Cuándo se lanzó la última versión? Un módulo actualizado por última vez hace 3 años es una señal de alarma.
  • Soporte multiversión: ¿El proveedor soporta activamente múltiples versiones de PrestaShop? Esto demuestra que entiende el ecosistema.
  • Documentación: ¿Existe una guía de usuario o un manual de instalación? Una buena documentación se correlaciona con un buen código.
  • Política de soporte: ¿Qué ocurre cuando algo sale mal? ¿Hay soporte por correo electrónico, un sistema de tickets o solo un foro comunitario?

3. Conflictos con módulos existentes

Algunas categorías de módulos son conocidas por generar conflictos:

  • Módulos de checkout—varios módulos conectados al proceso de checkout pueden interferir entre sí
  • Módulos de SEO—los módulos de reescritura de URL pueden entrar en conflicto entre sí y con el enrutamiento del núcleo de PrestaShop
  • Módulos que alteran el tema—los módulos que inyectan HTML/CSS personalizado pueden romper la maquetación del tema
  • Módulos con muchos override—los módulos que hacen override de clases del núcleo pueden entrar en conflicto con otros override

Si ya tiene módulos en la misma categoría, extreme las precauciones y pruebe a fondo.

Configuración de su entorno de pruebas

Necesita un sitio staging—una copia de su tienda en producción donde pueda probar de forma segura. Si aún no tiene uno, lea primero nuestra guía sobre cómo configurar un sitio staging de PrestaShop.

Su sitio staging debe ser:

  • Una copia reciente de su base de datos y archivos de producción (actualizada en la última semana)
  • Ejecutar la misma versión de PHP que producción
  • Ejecutar la misma versión de PrestaShop que producción
  • Usar el mismo tema que producción
  • Tener los mismos módulos instalados que producción

Esto es crucial—un sitio staging que no coincide con producción es inútil para las pruebas. El objetivo es simular exactamente lo que ocurrirá cuando instale el módulo en su tienda real.

El flujo de trabajo de pruebas

Fase 1: Copia de seguridad

Incluso en staging, realice una copia de seguridad antes de instalar cualquier cosa. Esto le permite revertir rápidamente si algo sale catastróficamente mal.

# Quick database backup
mysqldump -u root -p prestashop > ~/backup_before_module.sql

Si utiliza Docker:

docker exec staging-shop-db mysqldump -u root -p'password' prestashop > ~/backup_before_module.sql

Fase 2: Instalar el módulo

  1. Suba el archivo ZIP del módulo a su sitio staging en Back Office → Modules → Upload
  2. Observe si hay errores de instalación—si el instalador falla, no continúe
  3. Anote el número de versión del módulo como referencia

Si el módulo no se instala, compruebe:

  • Los registros de errores de PHP (var/logs/ o el registro de errores PHP de su servidor)
  • Si el módulo requiere extensiones de PHP específicas (GD, cURL, intl, etc.)
  • Si los permisos de archivos son correctos (el directorio modules/ debe tener permisos de escritura)

Fase 3: Pruebas funcionales

Ahora pruebe todo lo que el módulo dice hacer. Revise la lista de funcionalidades del módulo de forma sistemática:

Pruebas en el Back Office

  • ¿Puede acceder a la página de configuración del módulo?
  • ¿Se guardan correctamente todos los ajustes?
  • ¿Aparece el módulo en la ubicación esperada del menú?
  • ¿Funcionan las traducciones (si corresponde)?
  • ¿Se cargan las nuevas páginas de administración sin errores?

Pruebas en el Front Office

  • Visite cada tipo de página donde el módulo debería aparecer (inicio, categoría, producto, carrito, checkout)
  • Pruebe tanto en escritorio como en móvil—los problemas de diseño responsive son frecuentes
  • Compruebe que los elementos visuales del módulo coincidan con su tema
  • Pruebe todos los elementos interactivos (botones, formularios, filtros, ventanas emergentes)
  • Verifique la consola de JavaScript en busca de errores (pulse F12 en su navegador)

Fase 4: Pruebas de regresión

Este es el paso que la mayoría de la gente se salta—y es el más importante. Un módulo puede funcionar perfectamente por sí solo pero romper algo más.

Pruebe estas rutas críticas aunque el módulo no tenga nada que ver con ellas:

  1. Flujo de añadir al carrito: Añada un producto al carrito desde una página de producto, desde una página de categoría y desde los resultados de búsqueda
  2. Checkout completo: Realice todo el proceso de checkout—dirección, envío, pago—y confirme que el pedido se completa correctamente
  3. Registro de cliente: Cree una nueva cuenta y verifique que puede iniciar sesión
  4. Búsqueda: Busque un producto y confirme que los resultados aparecen correctamente
  5. Navegación por categorías: Navegue por el árbol principal de categorías
  6. Pedidos en administración: Compruebe que los pedidos existentes se muestran correctamente en el Back Office
Si el checkout funciona, probablemente todo esté bien. La mayoría de los conflictos entre módulos se manifiestan durante el checkout porque es la parte más compleja de PrestaShop—decenas de hooks, llamadas Ajax y dependencias de JavaScript convergen en una sola página.

Fase 5: Verificación de rendimiento

Algunos módulos añaden una carga significativa—cargando JavaScript adicional, realizando llamadas API o ejecutando consultas de base de datos pesadas en cada página.

  • Abra la pestaña Network de su navegador (F12 → Network) y compruebe si el módulo añade archivos JS/CSS grandes
  • Compare los tiempos de carga de página antes y después del módulo usando PageSpeed Insights o la pestaña de rendimiento de su navegador
  • Compruebe si el módulo realiza llamadas API externas en cada carga de página (estas pueden añadir entre 200 y 500 ms de latencia)

Un módulo bien construido debería añadir una carga mínima. Si un solo módulo añade más de 200 ms al tiempo de carga de su página, vale la pena investigarlo.

Pruebas de actualizaciones de módulos

Actualizar un módulo existente requiere el mismo flujo de trabajo de pruebas que una instalación nueva—a veces más, porque las actualizaciones pueden cambiar comportamientos que ya había configurado.

Antes de actualizar

  • Lea el registro de cambios detenidamente—¿qué cambió? ¿Hay cambios que rompen la compatibilidad?
  • Compruebe si la actualización requiere una ruta de actualización específica (por ejemplo, "debe actualizar a la 2.x antes de la 3.x")
  • Haga una copia de seguridad de la carpeta y la configuración actual del módulo

Después de actualizar

  • Verifique que todos sus ajustes existentes se han conservado
  • Pruebe cualquier funcionalidad que aparezca como "cambiada" o "mejorada" en el registro de cambios
  • Ejecute la lista completa de pruebas de regresión (Fase 4)
  • Limpie la caché de PrestaShop y compruebe si hay errores de compilación de Smarty/plantillas

Pruebas con múltiples versiones de PrestaShop

Si es desarrollador de módulos o gestióna múltiples tiendas con diferentes versiones de PrestaShop, necesita probar en todas ellas. La configuración más práctica son contenedores Docker, uno por versión:

ContenedorVersión PSVersión PHPPropósito
ps-test-1761.7.67.2Soporte heredado
ps-test-1781.7.87.4Versión 1.7 más común
ps-test-818.18.1PS 8 inicial
ps-test-828.28.2PS 8 actual
ps-test-919.18.3PS 9 más reciente

Este es exactamente el enfoque que usamos en mypresta.rocks—cada módulo se prueba en todas las versiones de PrestaShop soportadas antes de su lanzamiento. Es la única forma de garantizar la compatibilidad entre versiones.

Qué hacer cuando algo sale mal

El módulo falla al instalarse

Si un módulo falla durante la instalación y deja su Back Office inaccesible:

  1. Acceda a su servidor mediante SSH o FTP
  2. Renombre el directorio del módulo: mv modules/modulename modules/modulename_disabled
  3. Limpie la caché: rm -rf var/cache/*
  4. Su Back Office debería ser accesible de nuevo
  5. Contacte al proveedor del módulo con los detalles del error de var/logs/

El módulo causa una pantalla en blanco

Active el modo de depuración para ver el error real:

  1. Edite config/defines.inc.php
  2. Cambie define('_PS_MODE_DEV_', false); a define('_PS_MODE_DEV_', true);
  3. Recargue la página—debería ver el mensaje de error completo
  4. Recuerde volver a establecerlo en false después de la depuración

El módulo entra en conflicto con otro módulo

Si dos módulos entran en conflicto, el proceso de depuración es:

  1. Desactive ambos módulos
  2. Active el primer módulo—pruebe
  3. Active el segundo módulo—pruebe de nuevo
  4. Si el conflicto aparece solo cuando ambos están activos, compruebe si:
    • Se conectan al mismo hook (común con los hooks de visualización)
    • Hacen override de la misma clase del núcleo
    • Cargan librerías JavaScript en conflicto (por ejemplo, diferentes versiones de jQuery)
  5. Informe del conflicto a ambos proveedores—los desarrolladores responsables trabajarán juntos para resolverlo

Pruebas automatizadas para desarrolladores

Si es desarrollador de módulos, considere añadir pruebas automatizadas a su flujo de trabajo:

PHPUnit para la lógica del backend

Pruebe las clases PHP de su módulo de forma independiente a PrestaShop. Esto detecta errores de lógica antes de que lleguen a una tienda real.

Playwright o Cypress para el frontend

Las pruebas automatizadas de navegador pueden verificar que la interfaz de su módulo funciona correctamente en diferentes escenarios. Son especialmente valiosas para módulos de checkout donde las pruebas manuales son tediosas.

GitHub Actions para CI/CD

Ejecute su suite de pruebas automáticamente en cada commit. Esto evita que las regresiones lleguen a sus versiones de lanzamiento.

Una lista de verificación sencilla para pruebas

Imprímala y úsela cada vez que instale o actualice un módulo:

PasoVerificaciónEstado
1El sitio staging es una copia reciente de producción
2Se ha realizado la copia de seguridad de la base de datos antes de la instalación
3El módulo se instaló sin errores
4La página de configuración del módulo funciona
5Las funcionalidades del módulo funcionan según la documentación
6Sin errores en la consola de JavaScript
7Añadir al carrito funciona en todos los tipos de página
8El checkout completo se realiza correctamente
9El registro e inicio de sesión del cliente funciona
10La búsqueda devuelve resultados correctos
11Diseño responsive móvil—sin roturas de maquetación
12El tiempo de carga de página no se ve significativamente afectado

Resumen

Probar módulos no es complicado—es solo un hábito. El flujo de trabajo es: copia de seguridad → instalar en staging → probar funcionalidades → probar todo lo demás → verificar rendimiento → desplegar en producción. Siempre, sin excepciones.

Los propietarios de tiendas que nunca sufren caídas de emergencia no tienen suerte—simplemente prueban antes de desplegar. Usted puede ser uno de ellos.

Todos los módulos de mypresta.rocks incluyen una demo gratuita de 30 días para que pueda probar en su sitio staging antes de comprar. Creemos en probar primero, comprar después—porque no debería tener que fiarse solo de nuestra palabra.

More guides available

Browse our knowledge base for more practical PrestaShop tutorials, or reach out if you need help.

Cargando...
Volver arriba