Vamos a lo Visual: Pruebas Visuales en tu Proyecto Vue.JS

Rate this content
Bookmark

Las pruebas visuales comparan la apariencia de tu aplicación con un estado anterior. Si se detectan cambios visibles, puedes permitirlos o no. Así que tú o tus probadores tienen los ojos en todas partes, sin necesidad de verificar manualmente repetidamente. He estado utilizando pruebas visuales durante un tiempo, salvándome el pellejo en varias ocasiones. Veamos juntos mi experiencia y exploremos si y cómo las pruebas visuales también pueden ayudar a tus proyectos.

This talk has been presented at Vue.js London 2023, check out the latest edition of this JavaScript Conference.

FAQ

Ramona Schwering es una ingeniera de software en Chopware, una empresa que ofrece una plataforma de comercio electrónico de código abierto. Se ha especializado en tecnologías web y es embajadora de Cypress, además de tener experiencia con Vue.js.

Las pruebas visuales en desarrollo de software se refieren a evaluar visualmente una aplicación para detectar errores que no son necesariamente funcionales pero afectan la interfaz de usuario, como errores tipográficos o problemas de alineación, utilizando para ello comparaciones de capturas de pantalla.

Las pruebas visuales permiten identificar y corregir errores que pueden no ser detectados por pruebas funcionales, como inconsistencias visuales o desajustes de diseño, lo que contribuye a mejorar la experiencia del usuario y la confianza en la aplicación.

El Visual Regression Tracker es una herramienta de código abierto para la gestión de resultados de pruebas visuales. Permite comparar capturas de pantalla de diferentes versiones de una aplicación y facilita la aprobación o rechazo de cambios visuales detectados.

Los retos comunes incluyen la detección de cambios menores y el manejo de inconsistencias temporales en la interfaz. Estos pueden superarse utilizando técnicas como congelar el tiempo en las pruebas o configurar umbrales de detección para ignorar diferencias insignificantes.

Según Ramona, ajustar las pruebas visuales es crucial porque ayuda a detectar errores que de otro modo podrían pasar desapercibidos, asegurando que las aplicaciones funcionen correctamente en todos los aspectos, no solo en la funcionalidad.

La revisión humana es vital en las pruebas visuales porque, aunque la tecnología puede identificar diferencias, solo un humano puede determinar de manera efectiva si un cambio es un error o una mejora intencional de la aplicación.

Ramona Schwering
Ramona Schwering
22 min
15 May, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla discute la importancia de corregir pequeños errores de interfaz de usuario y errores tipográficos, ya que pueden dejar una impresión negativa y plantear preguntas sobre la confianza en las aplicaciones. Los métodos de prueba tradicionales pueden no detectar todos los errores de interfaz de usuario, por lo que se introduce las pruebas visuales como solución. Se recomienda el Visual Regression Tracker como herramienta para gestionar los resultados de las pruebas visuales. Las mejores prácticas para las pruebas visuales incluyen asegurarse de que la aplicación esté completamente cargada, abordar la inestabilidad y manejar los falsos negativos. Las lecciones clave incluyen darle ojos a las pruebas, mirar más allá del camino establecido, utilizar pruebas visuales y cubrir lo original con pruebas adecuadas si no se pueden obtener resultados consistentes.

1. Introducción a las pruebas visuales

Short description:

Hola y bienvenidos a mi sesión en Vue.js Live. Soy Ramona Schwering, una ingeniera de software en Chopware. Mostraré la importancia de corregir pequeños errores de interfaz de usuario y errores tipográficos. Estos errores pueden dejar una impresión negativa y plantear preguntas sobre la confianza en las aplicaciones. El fenómeno de la ceguera inatencional contribuye a este tipo de errores.

Hola y bienvenidos a mi sesión aquí en Vue.js Live. Estoy muy contenta de tenerlos aquí y de que parezca que están interesados en aprender más sobre las pruebas visuales a través de aplicaciones, porque siendo honesta con ustedes, me ha salvado en varias ocasiones, y espero poder brindarles la misma experiencia, especialmente porque las pruebas pueden ser a veces un poco intimidantes.

Pero bueno, antes de eso, mi nombre es Ramona Schwering. Trabajo como ingeniera de software en Chopware, que es una empresa que ofrece una plataforma de comercio electrónico de código abierto. Y hay mucho VU involucrado, así que llevo trabajando con VU desde hace tres días, creo. Además de eso, me convertí en una experta desarrolladora de Google en tecnologías web y embajadora de Cypress. Y sí, supongo que no les sorprenderá escuchar que soy especialmente conocida por las pruebas, y espero poder hacer que las pruebas sean accesibles para todos, y especialmente sin dolor, o un poco menos dolorosas, tal vez, para todos.

Y sin más preámbulos, hay un punto en las pruebas que me gustaría mostrarles. Y no sé si son similares a mí, pero a veces cuando estoy usando mi teléfono móvil, con aplicaciones, ya sea VU o no, hay algunos errores que encuentro a menudo, pero no estoy segura si es porque soy perfeccionista o si ustedes lo sienten así. Pero hay errores que no son bloqueadores de lanzamiento. Son pequeños errores de interfaz de usuario o errores tipográficos. Simplemente se ven feos, ¿verdad? Así que creo que básicamente están en todas partes. Y dejan una cierta impresión si no los corriges.

Miren este, que tomé hace algún tiempo de mi teléfono móvil, donde esta cadena en el medio de ella, keine Mitteilungen, o en inglés no notification. Está claramente roto, ¿verdad? Y lo puedes encontrar básicamente en todas partes. También es el caso de grandes empresas como Google, donde tienes un botón en el lugar equivocado, ¿verdad? O echa un vistazo a esta aplicación de Facebook, donde el botón tiene un relleno completamente incorrecto. Hay tantos ejemplos que podría mostrarles, pero tenemos un cierto marco de tiempo. A veces, para ser honesta, me siento un poco afectada por esto, y no es solo mi perfeccionismo, creo. Porque me pregunto una cosa. ¿Confiarían en esas aplicaciones, si tienen una aplicación o un sitio web con muchos errores de interfaz de usuario, que simplemente se ven rotos o no muestran ningún signo de cuidado? ¿Confiarían en esas aplicaciones, por ejemplo, con los datos de su tarjeta de crédito? Bueno, no estoy muy segura cuando se trata de mi opinión. Pero no quiero ser demasiado estricta aquí tampoco, porque todos somos humanos, ¿verdad? Detrás de todas las aplicaciones, detrás de todos los sitios web, hay un desarrollador. Y nosotros, los humanos, a veces hacemos cosas un poco extrañas. Y hay un fenómeno, que es, al menos en mi opinión, una de las razones por las que se producen este tipo de errores. Es un fenómeno que se llama ceguera inatencional. Es bien conocido en psicología, y se representa no solo en clases de psicología o en la psicología en general, sino también en anuncios de tráfico como el famoso whodunit del Reino Unido. Pueden echar un vistazo a este video más tarde. Lo publiqué aquí como un código QR. Todos esos videos, todas esas campañas se centran en el hecho de que una persona no nota un estímulo inesperado en la viñeta, simplemente debido a la falta de atención y no debido a ningún defecto visual o ceguera o déficit visual. Imaginen a un diseñador que construye un banner maravilloso pero no se da cuenta de que hay un enorme error tipográfico en el titular. Cosas así.

2. Las Limitaciones de las Pruebas Tradicionales

Short description:

Tenemos varios tipos de pruebas como pruebas unitarias, pruebas de integración y pruebas end-to-end. Sin embargo, estas pruebas pueden no detectar todos los errores de interfaz de usuario y errores tipográficos. Por ejemplo, las pruebas end-to-end pueden pasar por alto problemas que están fuera de su alcance. Es necesario darle ojos a nuestras pruebas e introducir pruebas visuales.

Supongo que todos han tenido una situación así, ¿verdad? Pero, ¿no tenemos pruebas para este tipo de situaciones? Tenemos una buena automatización de pruebas, ¿verdad? Tenemos pruebas de unidad, pruebas de integración, pruebas end-to-end. ¿No es así? ¿No deberían detectarlo? Y lo hacen. Pero hay un problema, al menos en mi opinión. Así que diría que no siempre lo detectan, porque todos esos tipos de pruebas solo probarán lo que se supone que deben probar. Me gusta decir que las pruebas end-to-end no miran a izquierda ni derecha. Por lo tanto, las cosas podrían pasar desapercibidas si están fuera del concepto, fuera de las cosas que no se han escrito explícitamente, ¿verdad? Entonces, ¿cómo podemos resolver esta situación o al menos mejorarla un poco? Bueno, podríamos decirlo de esta manera.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Un Año en Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
Un Año en Vue 3
Top Content
Vue 3 has seen significant adoption and improvements in performance, bundle size, architecture, and TypeScript integration. The ecosystem around Vue 3 is catching up, with new tools and frameworks being developed. The Vue.js.org documentation is undergoing a complete overhaul. PNIA is emerging as the go-to state management solution for Vue 3. The options API and composition API are both viable options in Vue 3, with the choice depending on factors such as complexity and familiarity with TypeScript. Vue 3 continues to support CDN installation and is recommended for new projects.
Solicitudes de Red con Cypress
TestJS Summit 2021TestJS Summit 2021
33 min
Solicitudes de Red con Cypress
Top Content
Cecilia Martinez, a technical account manager at Cypress, discusses network requests in Cypress and demonstrates commands like cydot request and SCI.INTERCEPT. She also explains dynamic matching and aliasing, network stubbing, and the pros and cons of using real server responses versus stubbing. The talk covers logging request responses, testing front-end and backend API, handling list length and DOM traversal, lazy loading, and provides resources for beginners to learn Cypress.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.

Workshops on related topic

Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
React Summit 2023React Summit 2023
151 min
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
Top Content
Featured Workshop
Josh Justice
Josh Justice
La Biblioteca de Pruebas de React es un gran marco para las pruebas de componentes de React porque responde muchas preguntas por ti, por lo que no necesitas preocuparte por esas preguntas. Pero eso no significa que las pruebas sean fáciles. Todavía hay muchas preguntas que tienes que resolver por ti mismo: ¿Cuántas pruebas de componentes debes escribir vs pruebas de extremo a extremo o pruebas de unidad de nivel inferior? ¿Cómo puedes probar una cierta línea de código que es difícil de probar? ¿Y qué se supone que debes hacer con esa persistente advertencia de act()?
En esta masterclass de tres horas, presentaremos la Biblioteca de Pruebas de React junto con un modelo mental de cómo pensar en el diseño de tus pruebas de componentes. Este modelo mental te ayudará a ver cómo probar cada bit de lógica, si debes o no simular dependencias, y ayudará a mejorar el diseño de tus componentes. Te irás con las herramientas, técnicas y principios que necesitas para implementar pruebas de componentes de bajo costo y alto valor.
Tabla de contenidos- Los diferentes tipos de pruebas de aplicaciones de React, y dónde encajan las pruebas de componentes- Un modelo mental para pensar en las entradas y salidas de los componentes que pruebas- Opciones para seleccionar elementos DOM para verificar e interactuar con ellos- El valor de los mocks y por qué no deben evitarse- Los desafíos con la asincronía en las pruebas de RTL y cómo manejarlos
Requisitos previos- Familiaridad con la construcción de aplicaciones con React- Experiencia básica escribiendo pruebas automatizadas con Jest u otro marco de pruebas unitarias- No necesitas ninguna experiencia con la Biblioteca de Pruebas de React- Configuración de la máquina: Node LTS, Yarn
Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Top Content
Featured WorkshopFree
Mikhail Kuznetsov
Mikhail Kuznetsov
Vue3 fue lanzado a mediados de 2020. Además de muchas mejoras y optimizaciones, la principal característica que trae Vue3 es la API de Composición, una nueva forma de escribir y reutilizar código reactivo. Aprendamos más sobre cómo usar la API de Composición de manera eficiente.

Además de las características principales de Vue3, explicaremos ejemplos de cómo usar bibliotecas populares con Vue3.

Tabla de contenidos:
- Introducción a Vue3
- API de Composición
- Bibliotecas principales
- Ecosistema Vue3

Requisitos previos:
IDE de elección (Inellij o VSC) instalado
Nodejs + NPM
Cómo empezar con Cypress
TestJS Summit 2022TestJS Summit 2022
146 min
Cómo empezar con Cypress
Featured WorkshopFree
Filip Hric
Filip Hric
La web ha evolucionado. Finalmente, también lo ha hecho el testing. Cypress es una herramienta de testing moderna que responde a las necesidades de testing de las aplicaciones web modernas. Ha ganado mucha popularidad en los últimos años, obteniendo reconocimiento a nivel mundial. Si has estado esperando aprender Cypress, ¡no esperes más! Filip Hric te guiará a través de los primeros pasos sobre cómo empezar a usar Cypress y configurar tu propio proyecto. La buena noticia es que aprender Cypress es increíblemente fácil. Escribirás tu primer test en poco tiempo y luego descubrirás cómo escribir un test de extremo a extremo completo para una aplicación web moderna. Aprenderás conceptos fundamentales como la capacidad de reintentar. Descubre cómo trabajar e interactuar con tu aplicación y aprende cómo combinar pruebas de API y de UI. A lo largo de todo este masterclass, escribiremos código y realizaremos ejercicios prácticos. Saldrás con una experiencia práctica que podrás aplicar a tu propio proyecto.
Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web
React Summit 2024React Summit 2024
92 min
Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web
Featured Workshop
Vivek Nayyar
Vivek Nayyar
Sumérgete en el mundo de la IA con nuestro masterclass interactivo diseñado específicamente para desarrolladores web. "Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web" ofrece una oportunidad única para cerrar la brecha entre la IA y el desarrollo web. A pesar de la prominencia de Python en el desarrollo de IA, el vasto potencial de JavaScript sigue siendo en gran medida inexplorado. Este masterclass tiene como objetivo cambiar eso.A lo largo de esta sesión práctica, los participantes aprenderán cómo aprovechar LangChain, una herramienta diseñada para hacer que los modelos de lenguaje grandes sean más accesibles y útiles, para construir agentes de IA dinámicos directamente dentro de entornos JavaScript. Este enfoque abre nuevas posibilidades para mejorar las aplicaciones web con funciones inteligentes, desde el soporte al cliente automatizado hasta la generación de contenido y más.Comenzaremos con los conceptos básicos de LangChain y los modelos de IA, asegurando una base sólida incluso para aquellos nuevos en IA. A partir de ahí, nos sumergiremos en ejercicios prácticos que demuestran cómo integrar estas tecnologías en proyectos reales de JavaScript. Los participantes trabajarán en ejemplos, enfrentando y superando los desafíos de hacer que la IA funcione sin problemas en la web.Este masterclass es más que una experiencia de aprendizaje; es una oportunidad de estar a la vanguardia de un campo emergente. Al final, los asistentes no solo habrán adquirido habilidades valiosas, sino que también habrán creado funciones mejoradas con IA que podrán llevar a sus proyectos o lugares de trabajo.Ya seas un desarrollador web experimentado curioso acerca de la IA o estés buscando expandir tus habilidades en áreas nuevas y emocionantes, "Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web" es tu puerta de entrada al futuro del desarrollo web. Únete a nosotros para desbloquear el potencial de la IA en tus proyectos web, haciéndolos más inteligentes, interactivos y atractivos para los usuarios.
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
WorkshopFree
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.