← Home·Blog·June 7, 2026·Gregory Besson

Visual Regression Testing avec VisualQ : complétez Playwright en TypeScript sans changer de stack

Pruebas de regresión visual con VisualQ: complementa Playwright en TypeScript sin cambiar de stack




Por qué tus pruebas de Playwright no son suficientes por sí solas


Tienes un conjunto sólido de Playwright. Los flujos críticos están cubiertos, las afirmaciones son precisas, el CI está verde. Y, sin embargo, una regresión visual — en el sentido de pruebas de regresión visual — pasa a producción: un componente que se desborda, un contraste roto después de una actualización de diseño, un evento de seguimiento que desaparece silenciosamente. Playwright no ha visto nada — porque nadie había escrito la afirmación correspondiente.


Esa es la limitación estructural de las pruebas funcionales: verifican exactamente lo que pensaste en afirmar, ni más ni menos. Las regresiones visuales, las violaciones de accesibilidad y las desviaciones en el seguimiento pertenecen a otra categoría de problemas — problemas que requieren una capa de herramientas dedicada, no una centésima afirmación `expect(locator).toBeVisible()`.


La pregunta, por lo tanto, no es "¿Playwright o algo más?" sino "¿qué es lo que Playwright no puede ver estructuralmente, y cómo cubrirlo sin empezar de cero?"




Lo que VisualQ añade a tu flujo de trabajo en TypeScript


VisualQ se articula en torno a tres capas ortogonales a tu suite existente. La primera es el Visual Regression Testing (VRT): captura de capturas de pantalla, almacenamiento de baselines, comparación con detección de desviaciones visuales (enfoque consciente del diseño para reducir los falsos positivos) y revisión de los diffs en una interfaz dedicada. La segunda es el Functional Regression Testing (FRT): descripción de escenarios en Gherkin, generación automática de código Playwright TypeScript por IA, ejecución en un worker gestionado con línea de tiempo, traza, video y HAR. La tercera agrupa las auditorías de calidadaccesibilidad axe-core, Web Vitals, SEO y auditoría de plan de seguimiento — directamente integradas como pasos `Then` en tus escenarios Gherkin (ej.: `Then the page should pass accessibility (axe) with score >= 90`).


Estas tres capas no reemplazan tus pruebas de Playwright. Cubren el ámbito que tus pruebas no pueden ver: la apariencia renderizada, las violaciones de accesibilidad no afirmadas, los eventos analíticos que nunca llegan al servidor. La idea es añadir superficie de detección, no migrar una stack.


Concretamente, sigues escribiendo tus pruebas de Playwright como antes. VisualQ se instala al lado, en tus URLs de staging o producción, y monitorea lo que tu suite ignora por construcción.




Pruebas de regresión visual: baseline pixel-perfect e infraestructura CI gestionada


La fricción habitual del VRT es la infraestructura: almacenar los baselines en algún lugar, configurar los umbrales de diferencia en un YAML, alojar los artefactos de capturas de pantalla, gestionar los falsos positivos relacionados con animaciones o fuentes. Todo esto antes de haber escrito la primera prueba.


VisualQ se encarga de toda esta infraestructura. El almacenamiento de baselines, la comparación de las diferencias visuales, la revisión y la validación de los cambios intencionados se realizan en la interfaz — sin bucket S3 que provisionar, sin artefacto que alojar en tu CI. Definís un escenario en una URL, capturas la baseline, y VisualQ detecta las desviaciones en cada ejecución siguiente.


Para un desarrollador de TypeScript acostumbrado a gestionar cada capa de su pipeline de pruebas, es un cambio de postura notable: la plataforma gestiona lo operativo, tú mantienes el control sobre lo que se prueba y sobre la validación de los diffs.




Pruebas de regresión funcional: de Gherkin a Playwright generado por IA


El FRT de VisualQ parte de una constatación simple: los escenarios Gherkin son legibles por todos — PMs, QA, desarrolladores — pero su mantenimiento en definiciones de pasos TypeScript es costoso y sigue siendo patrimonio de los desarrolladores. VisualQ elude esta fricción generando automáticamente el código Playwright a partir de tus archivos `.feature`.


Escribes un escenario `Given/When/Then`, lo guardas, y VisualQ compila el TypeScript Playwright correspondiente, lo ejecuta en un worker gestionado (Chromium, Firefox o WebKit), y luego devuelve una línea de tiempo paso a paso con capturas de pantalla, traza de Playwright, video y HAR. El resultado es consultable en la interfaz o compartible a través de una URL de documento vivo pública (opt-in).


Cómo funciona concretamente la compilación AI


El pipeline de compilación es determinista y auditable. Primero analiza el Gherkin en AST, luego intenta hacer coincidir cada paso contra las definiciones de pasos existentes — primero a nivel de proyecto, luego de la organización, y luego del catálogo del sistema. Solo los pasos no resueltos se envían al LLM (Claude Sonnet a través de OpenRouter), lo que minimiza las llamadas y garantiza la coherencia con el estilo de tu proyecto.


El código generado no se persiste directamente: primero pasa por una whitelist AST que solo permite `page.*`, `expect`, `request`, `console` y los helpers inyectados `ctx` / `pillar` — `import`, `require`, `process`, `eval` y los `fetch` arbitrarios son rechazados. Luego, un typecheck TypeScript valida que el cuerpo generado compile efectivamente. Solo después de estas dos validaciones se almacena la definición de paso en la base de datos con su hash de deduplicación y su entrada en el registro de auditoría.


Como desarrollador de TypeScript, este pipeline te es familiar: es esencialmente un compilador con una etapa de generación AI en el medio, no una caja negra.


Workers gestionados: Chromium, Firefox, WebKit sin configuración


Ejecutar Playwright en CI con múltiples navegadores requiere trabajo de ingeniería: configurar los runners de GitHub Actions, gestionar las fixtures, paralelizar las ejecuciones, almacenar las trazas y los videos. Este costo es real y a menudo subestimado.


Con VisualQ FRT, los workers son gestionados por la plataforma. Chromium, Firefox y WebKit están disponibles sin configuración de tu parte — no hay Dockerfile que mantener, ni matriz de navegadores en tu YAML CI. Los artefactos (traza, video, HAR, capturas de pantalla) se almacenan y son accesibles a través de URLs firmadas directamente en la interfaz.


Es tiempo de ingeniería recuperado en la plomería, reinvertido en los escenarios que tienen valor comercial.


Calidad integrada: accesibilidad axe-core directamente en tus escenarios


La accesibilidad a menudo se trata como una herramienta separada — un script axe-core ejecutado fuera de la suite de pruebas, cuyos resultados no están correlacionados con los escenarios funcionales. VisualQ integra las auditorías axe-core directamente como pasos Gherkin.


Un paso `Then the page should pass accessibility (axe) with score >= 90` es suficiente para desencadenar la auditoría en la página actual y hacer fallar el escenario si el puntaje está por debajo del umbral. No hay herramienta separada, no hay script casero, no hay correlación manual entre los resultados de accesibilidad y los escenarios funcionales.


Para un desarrollador que quiere cubrir la accesibilidad sin cambiar de flujo de trabajo, este es el camino más directo: la auditoría se ejecuta en el mismo contexto que el resto del escenario, con los mismos artefactos de depuración.




Integraciones en tu cadena de herramientas existente


Si tu equipo de QA ya trabaja con Xray para la trazabilidad de pruebas en Jira, VisualQ FRT se conecta directamente. Los resultados de las ejecuciones FRT se envían a Xray Cloud como Ejecuciones de Pruebas estructuradas, con estado de aprobado/reprobado y capturas de pantalla como adjuntos — sin exportación manual ni script de conversión.


Para compartir los escenarios con partes interesadas que no tienen acceso a la plataforma, VisualQ genera una URL de documento vivo pública (opt-in) para cada escenario FRT. Es una alternativa concreta a las exportaciones PDF o a las capturas de pantalla compartidas en Slack: el documento está vivo, refleja la última ejecución.


Estas dos integraciones — Xray y documento vivo — cubren los dos casos de uso más frecuentes: la trazabilidad formal para los equipos de QA estructurados, y el compartir informal para los equipos de producto que quieren visibilidad sin fricción.




Lo que VisualQ no hace (y por qué es intencional)


VisualQ no reemplaza tus pruebas unitarias o de integración de Playwright. No genera pruebas para tus componentes React aislados, no simula tus APIs, no se integra en tu pipeline de pruebas unitarias Jest. No es un olvido de roadmap — es una elección de alcance.


Las pruebas unitarias y de integración de Playwright que escribes hoy cubren la lógica de la aplicación, los estados de los componentes, las interacciones del usuario que has modelado. VisualQ cubre lo que estas pruebas no pueden ver estructuralmente: la apariencia renderizada en un verdadero navegador, las violaciones de accesibilidad en la página ensamblada, los eventos de seguimiento que no llegan al servidor.


Estos dos ámbitos son ortogonales. Mantenerlos separados, con herramientas dedicadas a cada uno, es más robusto que buscar una herramienta única que haga todo — y lo haga todo peor.




Por dónde empezar como desarrollador de TypeScript


El camino más corto hacia un valor concreto se reduce a dos pasos, sin migración de stack.


Paso 1: crea un primer escenario VRT en una URL existente. Toma una página crítica de tu aplicación — la página de inicio, una página de checkout, un componente de navegación — y configura un escenario VRT en su URL de staging. Captura la baseline. Ahora tienes una red de seguridad visual en esta página, que se ejecuta en cada ejecución y te alerta sobre cualquier desviación pixel.


Paso 2: escribe un escenario FRT Gherkin para un flujo crítico. Elige un flujo que ya estés probando en Playwright — inicio de sesión, añadir al carrito, envío de formulario — y reescríbelo en `Given/When/Then`. VisualQ compila el TypeScript, lo ejecuta en un worker gestionado y te devuelve la línea de tiempo completa con traza y video. Obtienes un escenario legible por tu PM, ejecutable sin configuración CI, y extensible con un paso de accesibilidad axe-core en una línea.


Estas dos acciones brindan valor de inmediato, sin tocar tu suite de Playwright existente, sin cambiar de stack, sin costo de ingeniería en la infraestructura de pruebas.




FAQ


¿VisualQ reemplaza a Playwright?


No. VisualQ se añade a tu suite de Playwright existente. Cubre el ámbito que Playwright no puede ver por construcción: la apariencia renderizada (VRT), las violaciones de accesibilidad no afirmadas, y los eventos analíticos que nunca llegan al servidor.


¿Es necesario mantener definiciones de pasos TypeScript con VisualQ FRT?


No. El pipeline de compilación de VisualQ genera automáticamente el código Playwright TypeScript a partir de tus archivos `.feature` Gherkin. Solo los pasos no resueltos se envían al LLM; los pasos ya conocidos se reutilizan desde el catálogo del proyecto o de la organización.


¿Qué navegadores son soportados en los workers gestionados de VisualQ?


Chromium, Firefox y WebKit están disponibles sin configuración de tu parte — no hay Dockerfile ni matriz CI que mantener.


¿VisualQ se integra con Jira y Xray?


Sí. La integración con Xray (plan Business) importa los resultados de pruebas visuales directamente en Xray for Jira Cloud en forma de Ejecuciones de Pruebas estructuradas, con capturas de pantalla y explicaciones de Smart Diff AI.

VisualQ para Javascript auditorías de calidad sin cambiar de stack